THE WEBSITE
Version 2.0 — Built from scratch, again.
The first version was a mess. Spaghetti JavaScript, CSS files everywhere, Redux state tangled with admin code. It worked, but barely.
So I burned it down and started over.
Five months. Ten hour days. A complete ground up rewrite, not a refactor, a rebuild. Every architectural decision reconsidered. Every line of code intentional but more importantly, understood.
The backend evolved from basic Flask into something closer to FastAPI, custom decorators for Pydantic schemas, auth, auditing. Triple layer rate limiting. Extensive WebSocket architecture, and so on. The frontend split into dual React apps with TypeScript configured to maximum paranoia.
A year of professional development at my day job and developing version one taught me enough to know it needed to die.
The Stack
Frontend
- React 19
- TypeScript
- TanStack Query
- Zustand
- SCSS Modules
Backend
- Python | Flask
- MongoEngine | MongoDB
- WebSockets | FlaskSocketIO
- Celery | Celery Beat
- Pydantic V2
Infrastructure
- Docker
- Nginx
- Redis
- MinIO
- Ollama