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