Writing
Notes on backend engineering, systems design, and Python.
-
I added a honeypot to my production Django app, and the first attack came in 30 minutes
The real story of deploying honeydj into a live SaaS: the infrastructure I had to add, how I did it without breaking production, and what the first day of attacker traffic looked like.
· 6 min read
- django
- security
- honeypot
- celery
- redis
- devops
- self-hosting
-
I read about honeypots, then built one for Django
What a honeypot actually is, why there was no good option for Django, and how I built and shipped one to PyPI called honeydj.
· 4 min read
- django
- security
- honeypot
- python
- open-source
- celery
-
I explained Celery and Django Channels to a restaurant owner
A friend who runs a restaurant looked at my async Django code and asked how the hell it worked — functions called from nowhere, consumers tucked away, weird underscores. So I explained it with the one system he already understood: his own kitchen.
· 17 min read
- django
- celery
- redis
- channels
- websockets
- python
- architecture
-
I moved my SaaS off AWS onto a single Hetzner box
My cloud bill grew bigger than my revenue. Here is how I left RDS, Amplify, and Route 53 for one self-hosted server — the costs, the migration, the backups, and when you should not do this.
· 8 min read
- aws
- hetzner
- self-hosting
- postgres
- devops
- saas
-
I built a shopping list app for my household. Now 25 of them use it.
Pantry Run is a real-time, offline-first shopping list PWA I built solo over evenings and weekends. The story of the very ordinary household problem behind it, what it took to ship something finished, and the one thing still standing between it and real adoption.
· 10 min read
- pwa
- nextjs
- supabase
- offline
- side-project
- react