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.

2026-04-02

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.

2026-03-31

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.

2026-03-24

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.

2026-03-17

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.

2026-03-10

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.

2026-03-04

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.

2026-02-28

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.

2026-02-18

Hello World

Here I'll share thoughts on web development & engineering and everything in between.

2026-02-16