From the Backlog to the Build Log

Week of September 19 - September 25, 2025

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.

For weeks the loop worked but the model did not. The local model I could run would call the tools maybe half the time. This week I swapped in OpenAI's Codex (GPT-5-Codex), and the prototype started generating real apps: a weather app with a UI I actually liked, plus starting points for two funnels. Most of the week was AI-assisted .NET development spent watching the thing finally build apps.

What I Worked On

The week opened with a gut check. I spent Friday inside Codex CLI, GPT-5-Codex, the OpenAI web UI, and the VS Code extension, and it made me ask what DevNitro even adds when OpenAI ships a coding agent for free. The answer I landed on: an opinionated way to build maintainable C# in greenfield projects. Codex is a general coding tool; DevNitro is meant to be a paved road.

Then it clicked. On Saturday I got the Workbench MCP server talking to Codex, with a prompt that made Codex reach through to the Workspace Agent inside the container and update files. It generated working weather functionality. By midweek the prototype was producing a weather app with a genuinely good UI, then starting points for the Work Smarter Book funnel and the Work Smarter Challenge funnel, each from its own run.

The other thread was the UI foundation. I spent time on getting a UI framework in place that would be a good fit for the generated apps.

What the AI Did Well

Codex is a different animal from the local model. The tool calls fire when they should. It reached into BlankSite directly and did real work: I brought the payment and credit-card components into BlankSite, got the app-restart working so the model can bounce the dotnet instance, and had it recreate funnel starting points. The token caching helped too. With Codex I am reusing a lot of cached tokens across runs, which helps.

The weather app UI surprised me. First pass looked great. That is the moment the product is supposed to deliver, and it delivered.

What Needed Correction

Not every run is a winner. The second weather prototype came out weaker than the first, and the fix was prompt work rather than code. The generation is only as steady as the prompt behind it (mostly).

The container still spins up a new port on every run. I want it pinned to one port, though if I go with subdomains per project when this is real, it may not matter. And the UI decision took three days of circling. AI pushed Fluent UI and said it plays well with Tailwind and, less easily, Bootstrap. Fluent UI does not look good out of the box, so I landed on Bootstrap with a simplified style that many .NET devs are used to. Then I streamlined the CSS for easy overriding and wrote the rules into AGENTS.md.

What Shipped

Nothing to production yet. In prototype: Codex now drives the full loop and generates apps that run, BlankSite became its own tracked project with payment components in place, the model can restart the app it builds, and the UI direction is settled on Bootstrap. Two funnel starting points came out of DevNitro runs.

The Numbers

Category Hours
Product / Features 29h 7m
Content 6h 48m
Business 2h 25m
Community 1h 6m
Total 39h 25m

Ten hours on the prototype and another fifteen split across evaluating Codex, upcoming .NET 10 release, and Aspire. The evaluation hours are the tell. This was the week I stopped fighting the model and started considering which foundation to build on.


The point of DevNitro is a paved road for C#, not a general coding agent. This week a better model made that road produce real apps.


Last week was the GCT multi-database refactor and the package pipeline. A couple of weeks back, Core and the container learned to talk with a local model that only fired half the time. Codex is the answer to that. Open thread carried forward: pin the container port, finish the Bootstrap styling, and evaluate .NET 10 and Aspire for the stack.

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.