boring technology

boring technology

boring technology is a shark, not a dinosour.

this page has an approach for evaluating the boringness of technologies.

bts

bts is the boring technology score. you calculate bts by multiplying the following factors:

extremely boring technology stack

extremely boring technology stack is an opinionated technology stack that works for a surprisingly large number of use cases. the accidental complexity is minimized by just using postgres for everything, using multi-page app for almost everything, and when that fails, using hypermedia-driven architecture.

technology name bts replaces comments
backend django   fastapi, flask you will quickly outgrow the simplistic solutions, just use a basic django template
frontend django   REST + react/vue use admin where possible, mpa for all user views, and htmx/alpine when that does not work
database postgres   sqlite, mysql while postgres is more complex than sqlite, it has features allowing you to avoid other components
background tasks  django-tasks    celery  celery established, but it is too complex
caching django   redis use plain django caching for basic needs. for ‘webscale’ caching, use django-distill + s3 + cdn
full-text search postgres   elastic  
queue postgres   rabbitmq, kafka postgres queues can be used to get ACID properties
periodic running superchronic   cron version for cron that runs in docker container
multi-process honcho   systemd, k8s running multiple things inside one paas contaoiner
dependencies pip   poetry, uv uv looks promising, but so did poetry
deployments docker + paas   k8s just use a paas, such as fly.io

about

i do django consulting,

contact me at mikko at boringtechnology dot org