Build in public · 03

I changed a live app without losing a single row of data. Here's how.

A few days ago I built a project-tracking tool by directing an AI agent instead of writing the code myself. A lot of you asked for the guide, and I sent it. This is the sequel — and it's the harder, more useful half.

Building something from scratch is the easy demo. The real test — the thing enterprise and government teams do every single day — is changing software that's already running, with real data sitting inside it, without breaking anything.

The change looked small

I added a feature to my RAID tool: a target date on every item, and an "overdue" flag when something slips past it. Sounds trivial. The interesting part is underneath.

That tool already had a database with items in it. You can't just bolt a new field on and hope, because do it the wrong way and you wipe people's data. A blank demo forgives mistakes. A live system with real records does not.

How I did it instead

1. Explore before you touch. I had the AI read and understand the existing code first, before changing a single line. Understand it, then touch it — the same discipline you'd want from any engineer inheriting a running system.

2. Describe only the delta. I described only what was changing, not the whole tool again. In this world that's called a "delta," and it keeps the AI focused and the change small enough to actually review.

3. Migrate carefully. I added the new field with a careful migration — the kind that leaves every existing row exactly where it was. Nothing rebuilt, nothing dropped, nothing overwritten.

4. Re-run the old tests. Then I re-ran every original test to prove the old behaviour still worked. New feature, yes — but not at the cost of anything that already worked.

5. Keep the governance intact. Every change to that new field still gets written to a history that can't be edited. The audit trail didn't slip just because I was moving faster.

Same data, new feature, nothing lost — and every change still written to a history that can't be edited.

The result: same data, new feature, nothing lost. The before-and-after of the database tells the whole story — every original row untouched, one new column, and a full record of what changed and when.

📂 The governing documents: Constitution· Spec· Plan· Tasks

The part that actually matters

Here's the thing I keep relearning. "I built an app with AI" is everywhere now. "I safely changed a running system with real data and proved I didn't break it" is rare — and it's exactly what fintech, supply chain, and defense teams are hiring for.

Anyone can generate something that looks finished. Far fewer people can change a system that people already depend on and hand you the evidence that nothing was lost. That evidence — the migration, the passing tests, the unbroken audit trail — is the whole job.

Want the step-by-step?

The slides walk through it, including the before-and-after of the database. If you want the step-by-step guide to do this yourself, head to my LinkedIn post about this and comment "RAID" — I'll send it over. Or just reach out through this site.

This is one piece of a longer build I'm doing in public. More to come.

AD
Apurv Duhan, PMP

AI-driven Project Manager — supply chain & fintech. Building in public on spec-driven, agentic delivery and the governance that makes it trustworthy. See the portfolio →