Next.js templateLive

AI Personal Finance — SaaS Starter

Production-ready Next.js 16 + React 19 fintech SaaS — 10 locales, Stripe freemium, Claude API insights, OCR receipts, 5-bank CSV import, family accounts, public API v1+v2, full admin panel. Ship a finance SaaS in a weekend.

$199$299

first 1000 buyers — then $299

7-day no-questions refund · Instant delivery

Who this is for

  • Indie devs building a fintech SaaS who do not want to spend three months on Stripe + Supabase + Claude API plumbing before shipping a single feature.
  • Founders going multi-locale on day one — 10 pre-wired locales, hreflang, JSON-LD, and multi-currency Stripe (USD/EUR/GBP/VND/IDR/THB) so you can charge in a buyer's home currency from launch.
  • Agencies building white-label personal-finance dashboards for clients — production-ready RLS, audit log, runtime feature flags, branded admin shell, and a 46+ primitive component library you compose into any vertical.

Tech stack

Everything is plain TypeScript + React. No runtime lock-in — you own the code.

Next.js 16React 19TypeScriptTailwind 4shadcn/uiSupabaseStripeClaude APIPrisma 7i18nextTipTapTesseract.jsjsPDFSentryPostHogVitestPlaywright

What’s inside

Multi-language i18n (10 locales pre-wired)

VN, EN, ES, FR, JA, KO, ZH, AR (with RTL), ID, TH ship as working locales. Type-safe translation keys, browser-locale + timezone auto-detect, hreflang alternates, multi-locale sitemap, language switcher. `bun run i18n:check` validates parity in CI; `bun run i18n:sync` writes `[EN]`-prefixed placeholders for missing keys.

46+ themed UI primitives + live Theme Studio

Every shadcn / Base UI primitive a SaaS needs — DataTable (TanStack v8), recharts, cmdk command palette, vaul drawer, resizable panels, combobox, sortable, hover-card, context-menu, tabs, dialog, TipTap editor. `/settings/theme` ships a live Theme Studio (12 WCAG-AA presets, light/dark/system, soft/default/bold contrast, font slider, RTL/LTR) — settings persist via CSS variables with no rebuild.

Stripe billing — multi-currency + freemium gate

Free / Pro / Family tiers with webhook-verified upgrades, customer portal, dunning + grace-period handling, idempotent `stripe_events` table, and a `profiles_update_self_safe_columns` RLS policy that blocks user-side billing tampering. Multi-currency (USD/EUR/GBP/VND/IDR/THB) with USD fallback. Server-side freemium middleware blocks Pro routes for Free users.

Claude API insight engine (4 prompt types)

Weekly digest (sonnet), Anomaly alert (haiku — 20× cheaper), Goal review (sonnet), Forecast write-up (sonnet). Edge Function-based generation (`supabase/functions/generate-insight/`) so the Anthropic key stays server-side and out of the Next.js bundle. Per-user 7-day cache, token + model tracking surfaced in admin. 6 mandatory prompt rules: JSON-only, specific amounts, no hallucination, ≤120 words, right model per task.

OCR receipts + 5-bank CSV import

Three transaction input methods: manual entry (RHF + Zod), client-side OCR receipt scan via Tesseract.js (no server upload), and CSV import with 5 pre-wired bank parsers (Vietcombank / Techcombank / TPBank / VIB / generic) + a diff-and-confirm screen so duplicates never land in the ledger.

Full finance suite + tax calculators

Dashboard, transactions, goals (SMART templates + AI nudges), budgets (caps + rollover + alerts), recurring (subs + income detection), debts (snowball + avalanche planner), invoices + clients (freelancer mode), accountant share-link (`/accountant/[token]` with scope + expiry), forecast (30/60/90-day), net-worth + portfolio, calendar, family/team accounts (owner / co-pilot / view-only). Tax calculators for Vietnamese TNCN (7-bracket), Indonesian PPh 21 (PTKP 54M), Thai PIT (8-bracket).

Full admin panel + audit log + investor PDF

9 admin routes — dashboard (DAU/MRR/paying/churn KPIs + 30d signups + plan-mix + 15s cache), users (list + detail + 5 lifecycle actions: reset password, magic link, ban, unban, cancel sub), messages (inbox + reply via Resend), audit log (paginated + filterable), feature flags (runtime kill-switches + rollout %), analytics (cohort LTV heatmap + onboarding funnel + investor PDF export via jsPDF). Every admin write is recorded.

Public API v1 + v2 + per-user API keys + SDK

`/api/v1/me`, `/api/v2/transactions/batch` (100/call), `/api/v2/usage` — bearer-token endpoints. `ApiKey` table stores prefix + sha256(plaintext); plaintext shown once at creation. `/finance/settings#api-keys` UI for create + revoke. Typed `FinanceAIClient` SDK in `public/sdk/` with 429 auto-retry. Webhook delivery with auto-disable after 10 consecutive failures.

Gamification — XP, levels, badges, streaks

Streaks (with streak freeze), XP / 10 level thresholds, 10 badge types, weekly challenges, achievements wall. Fire-and-forget award pipeline. Wakes dormant users by ~40% in our cohort vs no-gamification control.

PWA + offline + Web Push

Service-worker via `vite-plugin-pwa` — install prompt, offline shell, transaction-queue replay on reconnect, `/offline` fallback route. Web Push (`web-push` library) wired for daily nudge, anomaly alert, weekly recap.

Demo mode + seeded admin user

`NEXT_PUBLIC_DEMO_MODE=true` flips the deployment to read-only (every write API returns `403 DEMO_MODE_READONLY`) with a sticky banner. `bun run seed:demo` provisions an admin user + 90 days of sample transactions + goals + insights so reviewers can browse every screen without polluting the data set.

RLS-first Postgres + verifier script

60+ SQL migrations under `supabase/migrations/` with paired `CREATE POLICY` blocks for every table. `on_auth_user_created` trigger materialises a Profile row on signup; `enforce_role_immutability` blocks role escalation via the user-facing PATCH. `bun run verify:rls` asserts every table has RLS on + the expected policy block — drift fails CI.

FAQ

How is this different from a generic SaaS starter?

Three differences. (1) **It is a worked fintech vertical, not just a chassis** — OCR receipts, 5-bank CSV import, debt strategy planner, family accounts, accountant share-link, tax calculators (VN/ID/TH), and a 4-prompt Claude insight engine ship in the box. Generic starters give you auth + billing; this gives you the finance product. (2) **10 pre-wired locales** with RTL — most SaaS templates ship 1-2. (3) **Production RLS, not just auth** — every table has explicit policies + a `verify:rls` script that asserts the live state matches expectations. Most templates ship RLS-off and let you "fix it later".

Can I rip out the finance vertical and use it as a generic chassis?

Yes — that is the design. Buyer-optional subsystems gate behind `FEATURES.*` flags in `src/template.config.ts` (newsletter, themeStudio, blog, demoApps, aiChat, gamification, ocr, csvImport, family, accountant, invoices, …). Flip a flag to false and the route 404s + the component tree-shakes. Per-deletion guides for auth / billing / admin / finance modules live in the buyer docs.

How many languages can I add?

Unlimited. 10 locales ship as working examples (VN, EN, ES, FR, JA, KO, ZH, AR with RTL, ID, TH); the i18n layer treats every locale file the same — drop a new file (e.g. `de.ts`, `pt.ts`) into `src/locales/`, register it in one line of `template.config.ts`, and i18next + hreflang + sitemap pick it up.

What about Stripe in Vietnam / SEA?

The codebase uses Stripe directly. If you are a VN/SEA founder you will need a Stripe-supported entity (Stripe Atlas / US LLC) or a Merchant of Record like Polar.sh / Paddle. The wiring is processor-agnostic where it matters; the customer-portal + idempotent-webhook layer is the heavy lift this template saves you. Multi-currency support already covers VND / IDR / THB alongside USD / EUR / GBP.

How much does the Claude API cost in production?

The Edge Function uses haiku for alerts (~$0.001 per call) and sonnet for weekly digests (~$0.02 per call). With the 7-day per-user cache and ~1k MAU, expect $5–15 / month. Token + model usage is tracked in the `insights` table and surfaced in the admin dashboard so you can watch spend without leaving the panel.

Can I use this for client work?

Yes. Single-developer commercial license covers unlimited apps for yourself or clients you bill directly. Redistributing the source itself (selling, posting on a marketplace, uploading to a public repo) is not allowed.

Will I get updates?

Six months of free updates included. Monthly minor versions (Next.js / React bumps, bug fixes, occasional features). After that, a paid upgrade unlocks another twelve months.

What about refunds?

Seven-day no-questions refund. If `bun install && bun dev` does not boot on a fresh machine, email me with the error and I will refund within one business day.

Skip the setup. Ship tonight.

Code you own, forever. No runtime lock-in, no subscription.