Blog
From Zero to Production in 15 Minutes: Deploying a Website With Vercel
Buy a domain, connect GitHub, deploy a static site or Next.js app — and never think about servers again. Here's the full walkthrough.
How I Automated Our Team's Timesheets With Python, Zero Dependencies, and Google Sheets Formulas
Our team spent 8 hours a week filling out timesheets. I wrote a script that reduced that to zero — and the most interesting part was the architecture, not the API calls.
How I Used NotebookLM to Build a Personal Knowledge Base on Presale & Discovery
I turned workshop materials into a structured, reusable knowledge base using Google's NotebookLM — and the results surprised me.
Obsidian.md As Second Brain and My AI Agent's Context Window
A folder of Markdown files turns out to be the most interoperable knowledge base you can have — for you and for AI.
How We Built an MCP Server So Claude Could Search Our Internal Knowledge Base
Our company wiki had 500+ documents scattered across Confluence, an issue tracker, and Google Docs. We built an MCP server that lets Claude search all of it with one query.
Django Ninja vs DRF: When a Pydantic-First API Is the Right Call
We started a new Django project and didn't pick DRF. Here's what happened after six months — the wins, the trade-offs, and when DRF is still the better choice.
Production RAG in Django: Chunking, Embeddings, and Semantic Search Beyond the Tutorial
Most RAG tutorials end at 'insert your document into a vector DB.' Ours starts there — here's what building a production RAG pipeline in Django actually looks like.
Why We Switched From Poetry to uv — and How It Made Our Docker Builds 10x Faster
We migrated three production Django projects from Poetry to uv. Here's what changed, what broke, and the Dockerfile patterns that cut our build times from minutes to seconds.
Hello World
Here I'll share thoughts on web development & engineering and everything in between.