My stack
What I use every day.
Updated when something changes — which is rare. A boring stack is a productive stack.
Backend
- Python
- Home turf.
- Django / DRF
- Most of what I ship. Rules that can cost money live in a tested service layer.
- FastAPI
- For small, focused APIs.
- PostgreSQL
- The system of record.
- Redis · Celery
- Caching, queues and background jobs.
DevOps
- Docker
- How apps get to the server.
- GitHub Actions
- CI: tests and deploys.
- Linux VPS
- Locked down in the first hour, then kept boring.
- NGINX
- Reverse proxy in front of Gunicorn.
AI / ML
- Gemini on Vertex AI
- The LLM behind my Telegram agents and document extraction.
- PyTorch · DINOv2
- Image embeddings for visual search, no fine-tuning needed.
Interfaces
- Telegram Bot API
- Where my users already are.
- Django admin
- Back-office screens for operators.
Hardware
- MacBook
- Enough to run DINOv2 search over a 700-photo catalogue.