Two production Next.js apps, built solo with AI, $13,945

mpistole1 pts0 comments

How I Vibe-Coded Two Enterprise Apps in 8 Months for $13,945 | TechnicalStrat | TechnicalStrat<br>Skip to content<br>Before you start<br>This article is a testimony of my experience, not professional advice. My background is in IT, so the Azure architecture is where I have years of operational confidence. The application code was vibe-coded with Cursor and is not my professional wheelhouse. Use the recipe as a starting point to adapt, not a turnkey production system. Set Azure budget alerts before you provision and watch your Cursor spend before any long agent session. Any cloud bills, AI bills, or production outcomes from your build are yours to own; TechnicalStrat and I assume no liability for them.

Quick Take<br>Two production-grade enterprise apps, both Next.js 15 on Azure Container Apps, built solo in eight months with Cursor and Anthropic's frontier models. Solo developer spend: $13,945 across 34,875 Cursor events and 450 active coding hours. The recipe below is the exact stack and rollout plan that produced them. Download it, paste it into Cursor, build your own.

~350,000 lines of TypeScript across two apps, one stack, one rollout pattern

The majority of model spend was on Anthropic Opus-thinking models. The frontier model matters more than the framework

The honest cost-per-feature was about $31/hour of active coding time, all-in, including the parts where the AI was wrong

Below: the architecture, the exposure-model decision, what worked, what didn't, and the recipe you can feed straight into Cursor

Download the Recipe (PDF)<br>Download as Markdown

I spent the last eight months shipping two enterprise applications, solo, using Cursor and Anthropic's frontier models. Both are in production now. One is a commercial loan origination system. The other is a multi-app internal platform that consolidates a dozen back-office tools behind a single sign-on. Different problem domains, almost identical stack.

I am writing this for the engineer or technical founder who has heard "vibe coding" and wants to know whether it is real, what it costs, and what the actual architecture looks like on the other side. No hype. Just the numbers, the stack, and the recipe.

The numbers, up front

Pulled directly from the Cursor usage report for my account over the build window:

MetricValueActive coding hours450.3Active days185Cursor events34,875Cursor spend (solo developer)$13,945Effective rate~$31 per active coding hourModel mixMajority on Anthropic Opus-thinking<br>Eight months of calendar time, roughly 450 hours of focused coding, $13,945 in AI spend. Two apps shipped. For comparison: a single mid-level contract engineer at $150/hour would have cost $67,500 for the same 450 hours, and would not have written 350,000 lines of code in that window.

That is the headline number. The honest version is below.

The stack I landed on (both apps)

Both applications converged on the same architecture. That convergence was not planned. It is what happens when you let the AI pick reasonable defaults, course-correct toward the simplest thing that scales, and stop fighting the framework.

LayerChoiceWhyRuntimeNext.js 15 (App Router, Turbopack)Single repo, server components, file-based routing, mature ecosystemLanguageTypeScript 5 on Node 20End-to-end types, zero context-switching with the AIORMPrisma 6Type-safe queries, migrations as code, AI-friendly schemaDatabaseAzure Database for PostgreSQL Flexible Server (v16, pgvector on one app)Boring, durable, cheap, every AI tool understands itCache / queueAzure Cache for Redis (ioredis)Sessions, rate limits, lightweight job queues, outbox drainsAuthNextAuth 4 + Microsoft Entra ID (OIDC SSO)One-click sign-on for any Microsoft 365 tenantValidationZod 4 (shared between API and forms)One schema, two surfaces, zero driftUITailwind 3 + Radix UI primitivesComposable, accessible, no design-system politicsTelemetryApplication Insights (server + browser SDK)Distributed tracing without standing up another vendorSecretsAzure Key Vault (with Container Apps secret references)Zero secrets in CI, rotation without redeployEmailAzure Communication Services (transactional)Native to the tenant, cheap, no SendGrid billComputeAzure Container Apps + Container Apps Jobs (cron + on-demand)Scales to zero, no Kubernetes, predictable pricingRegistryAzure Container Registry (managed-identity pull)Private images, OIDC from GitHub, no static credsCI/CDGitHub Actions with OIDC federation to AzureNo long-lived deploy secrets, branch-protected main<br>The two apps together run on:

2 resource groups

2 Container Apps

2 Container Apps Environments

2 PostgreSQL flexible servers

2 Redis caches

Scheduled Container Apps Jobs for background work on both apps

1 shared Microsoft Entra ID tenant with per-app application registrations

0 Kubernetes clusters, 0 surprise bills

Why this stack, specifically

Three principles drove every architectural choice.

Boring at the boundary, interesting in the middle. The plumbing - auth, database, deploy,...

apps cursor container coding stack production

Related Articles