The AI Productivity Paradox: More Starts, Fewer Finishes
AI made building cheap, so nothing forces developers to choose anymore. Three rules that stop fast output from becoming a longer to-do list.
Engineering notes, architecture decisions, and lessons from building 80+ production applications.
RSS FeedAI made building cheap, so nothing forces developers to choose anymore. Three rules that stop fast output from becoming a longer to-do list.
Where Claude Code and Codex each win in late 2026, one AGENTS.md both agents read, and a loop where one agent writes the code and the other reviews it.
Django 6.0 moved Content Security Policy into core and 6.1 made the admin survive a nonce policy. Here is what breaks when you switch it on.
A Next.js project I was handed ran obfuscated code from a private npm package on every dev server start. How it hid, and the audit I run now.
The meter config, outbox table and timing limits that decide whether per-token usage actually lands on a Stripe invoice.
A practical playbook for Claude Code, Codex, Cursor and Copilot: manage context, cut token spend, and get code you can actually ship.
Longer-form articles published on Medium for a wider audience. Click to read on Medium.
A practical perspective on why AI-generated code still needs engineering discipline, architectural thinking, and security review before production.
A step-by-step SAML SSO integration guide for Django, including a thread-safe multi-tenant configuration strategy.
How to choose between transaction mode and session mode in Supabase, avoid connection bottlenecks, and keep FastAPI backends stable.
A practical walkthrough to integrate Ruff into Django projects, tune linting rules, and reduce noisy checks.
A clear breakdown of the classic Codewars kata, with Python and JavaScript solutions and the key logic behind each step.
Want to discuss a topic or collaborate on an article?
Get in touch →