Build a professional CV in 10 minutes. 7 templates for Nepal, Gulf, and Japan. AI bullet improver. Free PDF download. ATS-optimized.
| Layer | Package | Notes |
|---|---|---|
| Framework | Next.js 14 | App Router, TypeScript strict |
| Styling | Tailwind CSS | + CSS custom properties |
| State | Zustand + immer | immer middleware |
| Auth | Clerk | Google OAuth + Email/Password |
| Database | Neon + Prisma | PostgreSQL serverless |
| @react-pdf/renderer | v3, text-based | |
| Photos | Cloudinary | face-gravity crop |
| AI | Anthropic SDK | claude-sonnet-4-6 |
| Animation | Framer Motion | v11 |
| Icons | Lucide React |
git clone <repo-url>
cd berojgar-cv
npm installcp .env.example .env.localFill in the following keys in .env.local:
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY- from Clerk DashboardCLERK_SECRET_KEY- from Clerk DashboardDATABASE_URL- from Neon DashboardDATABASE_URL_UNPOOLED- from Neon DashboardNEXT_PUBLIC_CLOUDINARY_CLOUD_NAME- from CloudinaryCLOUDINARY_API_KEY- from CloudinaryCLOUDINARY_API_SECRET- from CloudinaryANTHROPIC_API_KEY- from Anthropic Console
When deploying to Netlify, you must set these environment variables in your Netlify Site Settings.
Go to Site Settings -> Environment Variables and add all the keys listed in .env.example.
npx prisma migrate dev --name initnpm run devOpen http://localhost:3000.
To enable admin access:
- Go to Clerk Dashboard -> JWT Templates
- Edit the default session token
- Add to claims:
{
"metadata": "{{user.public_metadata}}"
}- To make a user admin, run:
await clerkClient.users.updateUserMetadata(userId, {
publicMetadata: { isAdmin: true }
})- Phase 1 - Foundation & Landing Page
- Next.js + TypeScript + Tailwind + Clerk + Zustand + Prisma
- Complete CSS design system, all 5 fonts
- All 6 Dhaka components (DhakaBorder, DhakaTexture, DhakaLogo, DiamondMark, DiamondStep, ThangkaMandala)
- Complete Prisma schema (7 models)
- Complete TypeScript types (CVData + all interfaces)
- Zustand store with all actions + ATS recalculation
- Three-tier middleware (public, auth, admin)
- Landing page (Nav, Hero, Templates, Features, How It Works, CTA, Footer)
- AuthGateModal, Toast system, custom auth pages
- Phase 2 - CV Templates & Builder UI
- Seven premium templates implemented with thumbnails
- Dynamic Builder Toolbar & Section Navigation
- Client-side Template Switcher Modal
- Template selection sync via URL query parameters
- Responsive Edit/Preview split layout for mobile
- Phase 3 - Builder Forms, PDF Export & AI Features
- Phase 4 - Dashboard, Auth, Share Pages
- Phase 5 - Admin Panel & Production