Build An AI Resume Builder SaaS Application (Next.js 15, Stripe Checkout, Hook Form, TypeScript)

Build and deploy a professional full-stack SaaS (software as a service) application with the following features:

-Next.js 15
-Stripe Checkout with different subscription tiers & customer portal
-AI auto-fill using the ChatGPT API
-Multi-step form with React Hook Form
-Dynamic forms with useFieldArray
-Drag and drop reordering with dnd-kit
-Autosave changes after debounce
-Resume design customizations
-Image upload to Vercel Blob
-Postgres DB with Prisma ORM
-Authentication with Clerk v6
-Server actions & API route handlers
-Frontend & backend input validation with Zod schemas
-Tailwind CSS & Shadcn UI components
-Mobile responsive layout
-Dark mode, light mode, and system theme
-Print or save as PDF with react-to-print
-URL state management with search params
-Global dialog with Zustand
-Intelligent caching & context providers
-Deployment to Vercel
-Optimal VS Code setup with Prettier, plugins, and extensions

Starting code: https://github.com/codinginflow/nextjs-15-ai-resume-builder/tree/0-Starting-point

Sign up for Clerk: https://go.clerk.com/BfiD7iv

Project files:
Shadcn custom theme (global.css): https://github.com/codinginflow/nextjs-15-ai-resume-builder/blob/0-Starting-point/src/app/globals.css
Asset files: https://github.com/codinginflow/nextjs-15-ai-resume-builder/tree/0-Starting-point/src/assets
Favicon: https://github.com/codinginflow/nextjs-15-ai-resume-builder/blob/0-Starting-point/src/app/favicon.ico
Opengraph-image: https://github.com/codinginflow/nextjs-15-ai-resume-builder/blob/0-Starting-point/src/app/opengraph-image.png
ChatGPT work experience regex: https://github.com/codinginflow/nextjs-15-ai-resume-builder/blob/ed2416360377f047ed76a5166b583c698996dc2a/src/app/(main)/editor/forms/actions.ts#L147-L153
Terms of service (tos) page: https://github.com/codinginflow/nextjs-15-ai-resume-builder/blob/Final-project/src/app/tos/page.tsx

Full source code: https://github.com/codinginflow/nextjs-15-ai-resume-builder

โญ Get my full-stack Next.js with Express & TypeScript course: https://codinginflow.com/nextjs
โœ… Get my free React Best Practices course: https://www.codinginflow.com/reactbestpractices
๐Ÿ’Œ Join my newsletter for regular web dev tips: https://codinginflow.com/newsletter
๐Ÿ’ฌ Join our developer community on Discord: https://codinginflow.com/discord

๐Ÿ“ฃ Follow Coding in Flow on social media:
Twitter: https://twitter.com/codinginflow
Instagram: https://instagram.com/codinginflow
TikTok: https://tiktok.com/@codinginflow
Facebook: https://facebook.com/codinginflow

Timestamps:
0:00 โ€“ Project overview
20:53 โ€“ Project & IDE setup (create-next-app, Shadcn UI, Prettier Tailwind plugin, VS Code extensions)
47:21 โ€“ Database setup (Vercel Postgres + Prisma ORM)
57:30 โ€“ Clerk v6 authentication setup (middleware, customizations, custom sign-in/sign-up routes)
1:14:33 โ€“ Navbar, Clerk UserButton, nested layout.tsx
1:23:39 โ€“ Dark mode (next-themes, clerk/themes)
1:34:30 โ€“ Resume editor (React Hook Form, FormField, useFieldArray, Zod refine, server actions, auto-save hook)
6:30:29 โ€“ AI features (ChatGPT API)
7:23:33 โ€“ Fetch existing resumes
7:40:27 โ€“ Delete resumes (useTransition, revalidatePath)
7:55:08 โ€“ Print resumes & save as PDF (react-to-print)
8:04:11 โ€“ Responsive landing page (Shadcn custom button variant)
8:16:59 โ€“ Global modal/dialog with Zustand
8:33:36 โ€“ Stripe Checkout (subscriptions)
8:58:58 โ€“ Type-safe environment variables with t3-env
9:05:03 โ€“ Save/fetch subscriptions (React cache, context provider)
9:22:03 โ€“ Permission system (premium features)
9:39:52 โ€“ Stripe webhook/event destinations (fulfillment)
10:18:30 โ€“ Stripe customer portal (cancel, renew, change subscription)
10:35:21 โ€“ Deployment to Vercel