Loading article
Long-form notes on the decisions behind the software I build — multi-tenant design, data integrity, and what it takes to keep a growing codebase pleasant to work in.
I like LangGraph and I have removed it from a project. The four things a graph actually buys you, and the test I use before reaching for one.
RAG is easy to demo and hard to trust. What it took to make an AI curriculum generator produce lessons I would put in front of a student preparing for CSIR NET.
Splits, bonuses, reinvestments and side-pockets each break a naive holdings model in a different way. What a corporate action actually is, and why it has to be a ledger entry.
NAV files arrive late, arrive twice, and get revised. Notes on building import and valuation pipelines for a wealth platform, where being roughly right is the same as being wrong.
Choosing Postgres took ten minutes. Choosing a code-first ORM took longer, and the bill arrives as the five kinds of database object it cannot generate.
Why a wealth platform spanning two dozen modules and twelve asset classes ships as a modular monolith, what that costs, and the conditions under which I would split it.
The multi-tenancy decision you make in week one and pay for in year two, and why we moved isolation out of our code and into Postgres.
Building LLM-assisted interview assessment: rubrics that produce evidence instead of verdicts, the variance nobody reports, and why transcription quality is a fairness problem.
Integrating with registrars, KRAs and custodians, where the documentation is a PDF from 2016, the webhook may not arrive, and two authoritative systems disagree about the same holding.
Per-tenant theming in a Next.js SaaS without a rebuild: CSS variables from a server-rendered config, the flash of the wrong brand, and the contrast problem nobody warns you about.
Notes on code review as a lead: labelling what is blocking, reviewing against the problem rather than against your own solution, and the pull requests that should have been a conversation.
At 3,500 schools a loose rule is not a theoretical problem. A duplicate admission and a payroll calculation that existed in three places, and what they taught me about layering.
Running a company changed how I scope engineering work. Mostly it taught me to ask what happens if we simply do not build the thing.