Production-Ready Boilerplate · eyadahmad.co

Stop rebuilding.
Start shipping.

Every AI product starts with the same foundation. Anvil ships it — a Next.js + Flutter monorepo wired correctly and secured properly, so your first commit is feature code, not setup code.

anvil — zsh
$ npx create-anvil-app my-saas
✔ Cloning Next.js + Flutter monorepo…
✔ Wiring auth, API keys & rate limits…
✔ Connecting Claude · GPT-4o · Gemini…

▸ Ready in 14s. Your foundation is forged.

$ npm run dev
The Problem

Week one is never the product.
It's the plumbing.

You've lived it. Every AI product begins with the same scaffolding — authentication, API key management, multi-provider streaming, usage and cost tracking, a mobile app shell. Different idea, identical plumbing.

So the first week of every project goes to infrastructure no user will ever see. By the time you reach the part that actually matters — the product — the momentum is already gone.

I built Anvil because I refused to keep paying that tax. After the seventh project, I packaged everything I kept rebuilding into one production-ready monorepo. Wired correctly. Secured properly. Ready to clone and ship.

Not a UI kit. Not a template. The boring-but-critical layer between "I have an AI idea" and "I have a working product."

The Architecture

One monorepo.
Two apps. One API.

Anvil doesn't bolt features together. It's a coherent spine where web and mobile share the same backend, the same auth, the same data.

The Web App

Next.js 16

App Router, PostgreSQL + Prisma, the Vercel AI SDK for streaming, and a shadcn/ui component layer with Recharts dashboards. Deploys to Vercel or AWS out of the box.

web/ app · Next.js 16
db/ PostgreSQL + Prisma
ui/ shadcn/ui + Recharts
The Mobile App

Flutter

Cross-platform iOS and Android with Riverpod state, GoRouter navigation, and Dio for SSE streaming. It talks to the exact same API as the web app — no duplicate backend.

app/ Flutter (iOS + Android)
state/ Riverpod + GoRouter
net/ Dio (SSE streaming)
The Shared Core

The AI Spine

Multi-provider streaming across Claude, GPT-4o, and Gemini. AES-256-GCM encrypted API keys, JWT auth, per-request cost tracking, and rate limiting. The plumbing, done once.

ai/ Claude · GPT-4o · Gemini
auth/ JWT + AuthProvider
keys/ AES-256-GCM vault
How It Works

From clone to shipped in four steps

01
Clone the Monorepo

Pull the private repo, run install, drop in your keys. Web and mobile are already wired to the same backend — nothing to stitch together.

02
Plug In Your Providers

Add your Claude, GPT-4o, or Gemini keys to the encrypted vault. Swap auth for Clerk, NextAuth, or Firebase through one clean AuthProvider interface.

03
Build Your Feature

Streaming, persistence, cost tracking, and rate limiting are already done. Your first commit is the thing that actually makes your product yours.

04
Ship to Web & Mobile

Deploy the Next.js app to Vercel or AWS and ship the Flutter app to the App Store and Play Store — both backed by the same API you already built.

Why I Built This

Because the foundation shouldn't cost you the launch.

EA
Eyad Ahmad
Product Engineer · Fractional CTO
Every product I built started with the same problem.

Week one wasn't building the product — it was rebuilding the foundation. Auth, API keys, streaming, cost tracking, mobile scaffold. Every time. Different requirements, same plumbing.

After the seventh project, I stopped accepting that.

I packaged everything I kept rebuilding into one production-ready monorepo. Wired correctly. Secured properly. Ready to clone and ship — so the next idea reaches users faster.

Anvil isn't a UI kit. It's infrastructure.

The care behind it is the same care I bring to every product I build for founders. Every great sword is shaped on an anvil. If the anvil isn't strong enough, the sword won't hold.

And I wanted the tax gone for good.

Not just for me — for any builder who's tired of paying for the same plumbing on every project. Anvil is that answer. clone → ship → own

Design Boundaries

What Anvil deliberately is not

It isn't a no-code builder

Anvil is real source code you own and extend. No proprietary platform, no lock-in, no monthly seat fees. Clone the repo and it's yours on unlimited projects.

It isn't a UI theme

The value is the infrastructure — streaming, auth, encrypted keys, cost tracking. The components are there, but Anvil is the layer underneath them, not a coat of paint.

It isn't locked to one provider

Claude, GPT-4o, and Gemini sit behind one interface. Swap models without touching UI code, and swap auth providers through a clean abstraction. No vendor owns your stack.

Want this for your product?

Get the foundation every AI product needs — and start shipping today.

One price. Full source. Use it on unlimited projects, no subscriptions, no seat limits. Delivered as a private GitHub repository link via Gumroad, with future updates included.

Built by Eyad Ahmad · Bahrain · Available for GCC & Global engagements