WRITING / TOPIC
Engineering.
Why your scraper gets a 403 and your browser does not
The block usually happens in the TLS handshake, before any header is read. On handshake fingerprints, self-healing selectors and a hand-written crawl engine.
Parse first, escalate only what you must
Most document pipelines send every page to a model. On rebuilding tables from word geometry, scoring confidence from 0 to 1, and escalating only hard pages.
Building Querion: a Read-Only, Natural-Language Data Analyst
How I let a language model query production data without ever letting it write: layered read-only checks, a sandboxed directive loop and an API allowlist.
Trove: Giving Claude Code a Persistent Memory
A file-based memory index that reloads into context every session, so Claude Code stops starting from zero and each session begins further ahead than the last.
Modeling an Order Workflow as a State Machine
Turning a tangle of status flags into an explicit, testable state machine that guards every order transition.
Verifying Inbound Webhooks with HMAC Signatures
Why every inbound webhook needs a signature check, and how to verify HMAC payloads safely in Django.
Killing N+1 Queries with select_related and prefetch_related
Finding and fixing the silent N+1 queries that quietly add hundreds of milliseconds to an API response.
Caching High-Traffic Endpoints with Redis
A practical caching layer for read-heavy endpoints, covering cache keys, invalidation, and stampede protection.
Background Jobs with Celery and RabbitMQ
Moving slow work off the request path with Celery and RabbitMQ, with retries and idempotency that survive failure.
Token Authentication for a Django API
Setting up token authentication for a Django API, from issuing tokens to rotating and revoking them.
Bulk Update and Export Endpoints at Scale
Designing endpoints that update and export thousands of rows without timing out or locking the database.
Decoupling Side Effects with Django Signals
When Django signals keep code clean, when they hide bugs, and how to use them without regret.
Zero-Downtime Database Migrations in Django
Shipping schema changes to a live Postgres database without dropped requests or downtime windows.
Full-Text Search with Elasticsearch and Django
Adding fast full-text search to a Django app by syncing models into Elasticsearch and querying them well.
Generating PDF Documents in Django with ReportLab
Building clean, repeatable PDF documents like invoices and purchase orders directly from Django with ReportLab.
Testing a Django API with pytest
A pragmatic pytest setup for Django: fixtures, factories, database tests, and coverage that actually helps.
Production Observability with Sentry, Prometheus, and Grafana
Wiring Sentry, Prometheus, and Grafana into a Django service so production tells you when it hurts.
Dockerizing a Django App for Dev and Production
A Docker setup for Django that stays fast in local development and lean in production.