1
0 Comments

Why I stopped using AI to build my billing plumbing (and built a C# boilerplate instead)

Hey everyone,

For the last three months, I’ve been trying to rapidly spin up small SaaS MVPs. Like most of us right now, I leaned
heavily on AI agents (Cursor, Claude Code) to scaffold out the projects for me.

At first, it felt like magic. The AI would spit out a beautiful landing page and wire up the database in seconds.

But then I tried to get it to build the billing infrastructure.

The AI Stripe Nightmare

If you've ever asked an LLM to integrate Stripe, you know the pain:

  1. Hallucinated Endpoints: It constantly writes code using deprecated Stripe APIs from 2019 that break in production.
  2. Missing Idempotency: Stripe webhooks will often fire the same event multiple times. Because the AI didn't build an
    idempotency table, a single "payment succeeded" webhook would fire three times, and my app would apply 3 months of
    credit to the user's account for the price of one.
  3. Silent Failures: When a user canceled their subscription, the AI-generated webhook handler would occasionally
    swallow the error, meaning the user kept their premium access forever without paying.

I realized my AI was incredible at building features, but it was an absolute liability when it came to secure payment
plumbing.

The Pivot to C#

I decided I needed a bulletproof, human-built foundation for my infrastructure, and I wanted to use a language I
actually trusted: C#. I was sick of the JavaScript/Next.js ecosystem changing every week.

But the existing .NET boilerplates (like ASP.NET Zero) are massive 15-project "Clean Architecture" monoliths designed
for Enterprise teams, not solo hackers.

So, I built FastBlazorSaaS.

It’s exactly one .csproj file. It uses Blazor Server, meaning there are zero JavaScript build steps—you just write C#
for both the frontend and backend. I even injected Tailwind CSS directly into the MSBuild pipeline so it compiles
automatically when you hit F5.

Most importantly: The Stripe WebhookController is fully idempotent, handles trials/cancellations perfectly, and is
built by a senior .NET developer, not an LLM.

The Lure & The Full Version

If you just want the Tailwind integration and the custom-styled ASP.NET Core Identity pages (Register, Login, Password
Reset) for free, I open-sourced the Lite version here:
👉 FastBlazorSaaS-Lite (GitHub) (https://github.com/MacMerg/FastBlazorSaaS-Lite)

But if you want to skip 40 hours of fighting with Stripe documentation and just launch your app this weekend with
guaranteed, production-ready billing and transactional emails (Resend), I’m selling the full source code for a
one-time fee of $199.

👉 FastBlazorSaaS.com (https://fastblazorsaas.com)

Would love any feedback on the landing page or the open-source repo! What stack are you guys using to avoid the AI
plumbing headaches right now?

on March 24, 2026