anishfyi.com Projects RSS Book a call

Writings

Essays on backend systems, applied AI, and the open source tools behind them. The long ones are marked. The rest are working notes, kept because they were useful once. By Anish Kr Singh.

2026

Why I hand-wrote a JavaScript framework in 2026

July 29, 2026 · 13 min

Alpine got the ergonomics right and stopped short on the engine. On fine-grained signals, a hand-written expression interpreter that survives a strict CSP, and what 16KB has to earn.

Why your scraper gets a 403 and your browser does not

July 28, 2026 · 12 min

The block usually happens in the TLS handshake, before a single HTTP header is read. On JA3 fingerprints, self-healing selectors, and why I hand-wrote a crawl engine instead of importing Scrapy.

Parse first, escalate only what you must

July 27, 2026 · 12 min

Most document pipelines throw the whole file at a model and bill you for the easy pages too. On rebuilding tables from word geometry, scoring yourself 0 to 1, and why the confidence score is the most important output.

Building Querion: a Read-Only, Natural-Language Data Analyst

June 14, 2026 · 10 min

How I gave a language model production database access without ever letting it write: a read-only contract, a sandboxed directive loop, and a default-deny API allowlist.

Trove: Giving Claude Code a Persistent Memory

June 10, 2026 · 8 min

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.

Designing Clean REST APIs with Django REST Framework

May 12, 2026 · 8 min

How I structure serializers, views, and routers in Django REST Framework so API code stays predictable as a project grows.

Modeling an Order Workflow as a State Machine

April 28, 2026 · 9 min

Turning a tangle of status flags into an explicit, testable state machine that guards every order transition.

Verifying Inbound Webhooks with HMAC Signatures

April 14, 2026 · 7 min

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

March 30, 2026 · 9 min

Finding and fixing the silent N+1 queries that quietly add hundreds of milliseconds to an API response.

Caching High-Traffic Endpoints with Redis

March 16, 2026 · 8 min

A practical caching layer for read-heavy endpoints, covering cache keys, invalidation, and stampede protection.

Background Jobs with Celery and RabbitMQ

March 2, 2026 · 9 min

Moving slow work off the request path with Celery and RabbitMQ, with retries and idempotency that survive failure.

Token Authentication for a Django API

February 16, 2026 · 7 min

Setting up token authentication for a Django API, from issuing tokens to rotating and revoking them.

Bulk Update and Export Endpoints at Scale

February 2, 2026 · 8 min

Designing endpoints that update and export thousands of rows without timing out or locking the database.

Decoupling Side Effects with Django Signals

January 19, 2026 · 6 min

When Django signals keep code clean, when they hide bugs, and how to use them without regret.

Zero-Downtime Database Migrations in Django

January 5, 2026 · 9 min

Shipping schema changes to a live Postgres database without dropped requests or downtime windows.

2025

Full-Text Search with Elasticsearch and Django

December 15, 2025 · 8 min

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

December 1, 2025 · 7 min

Building clean, repeatable PDF documents like invoices and purchase orders directly from Django with ReportLab.

Testing a Django API with pytest

November 17, 2025 · 9 min

A pragmatic pytest setup for Django: fixtures, factories, database tests, and coverage that actually helps.

Production Observability with Sentry, Prometheus, and Grafana

November 3, 2025 · 8 min

Wiring Sentry, Prometheus, and Grafana into a Django service so production tells you when it hurts.

Dockerizing a Django App for Dev and Production

October 20, 2025 · 8 min

A Docker setup for Django that stays fast in local development and lean in production.