A note about this build log entry: I published this after the week it covers. DevNitro reconstructed a draft from work-related entries in my journal, Git commit history, and time tracking. I reviewed, edited, and approved the final post. The story reflects what I knew and built at the time.

From the Backlog to the Build Log

Week of October 3 - October 9, 2025

What I Worked On

This week I got DevNitro deployed live for the first time. I built the infrastructure as code, targeting Azure Container Apps, added Docker support, and set up the domain and email end to end. The waitlist page went live and started saving signups with invite codes. I also worked on Workbench and Workspace Agent updates to handle app lifecycle and restarts, and migrated GCT off System.Data.SqlClient.

Outside the deploy itself, I opened a business bank account, executed the DevNitro/GlobalCove contracts, and purchased my first shares.

What the AI Did Well

The deployment scripts originally leaned on PowerShell for two jobs: bumping NuGet package versions and pulling public values out of application settings into client settings so nothing leaked. PowerShell doesn't exist on the Linux build image Azure Container Apps uses. I had it rewrite both jobs in a cross-platform way, and the replacement worked the first time I tested it against the container build.

The Workbench and Workspace Agent changes for handling app lifecycle and restarts also landed clean. Getting an agent to survive a restart without losing its place is the kind of plumbing that has to work quietly in the background, and it did.

What Needed Correction

The database connection was the worst part of the week. GCT and DevNitro were both using System.Data.SqlClient, and Azure Container Apps couldn't connect to the database through it. I had to migrate to Microsoft.Data.SqlClient in both places, and untangling which project depended on which client library took most of an evening.

The migration itself had its own failure. Midway through running the database migration, the coding agent ran out of context and stalled. I ended up deploying the production database by hand instead of waiting on it to recover. After that I found the domain name and certificate weren't wired up correctly either, which meant another pass the next day.

What Shipped

DevNitro is live on Azure Container Apps for the first time, with a working domain, email, and a waitlist page that saves real signups with invite codes. GCT's SQL client migration shipped alongside it, which fixes the database connection permanently instead of working around it. The infrastructure code needs more work, but the next deploy builds on it rather than starting over.

The Numbers

Category Hours
Deploy / Infra 24h 14m
Product / Features 21h 6m
Content 7h 27m
Business 1h 45m
Total 54h 32m

Deployment alone ate half the week. The infrastructure underneath a first production deploy costs more hours than the code that runs on it.


If something is too difficult (like deploying to production), it should be repeated and refined until it is boring. Next week the goal is a boring deploy pipeline. This week never got there.

Curious how this site was built?
Watch the 5-minute walkthrough at devnitro.com →

An AI built this blog (but not this post)

This entire blog system (domain models, database, services, UI, auth, etc.) was built by DevNitro on its own in 95 minutes. I recorded every second.

    We respect your privacy. Unsubscribe at any time.