Professional invoice and proposal generator for Indian freelancers.
Live: freelanceproof.in
- Invoice Generator — Line items, GST support, multiple templates (Classic/Modern/Bold), invoice history, PDF download
- Proposal Generator — Project overview, scope of work, timeline, investment summary, PDF download
- No account required — Everything runs in your browser; no data is sent to any server
- Multi-currency — INR (default), USD, EUR
- Pro tier — Unlimited downloads, no watermark, email to client, custom branding
- Privacy first — All PDF generation happens client-side via
@react-pdf/renderer
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19 + Tailwind CSS v4 |
| @react-pdf/renderer v4 | |
| Forms | react-hook-form |
| Fonts | Space Grotesk · Inter · JetBrains Mono |
| Analytics | Vercel Analytics + Speed Insights |
| Payments | Razorpay (scaffolded) |
| Resend (scaffolded) | |
| Testing | Playwright |
| CI | GitHub Actions |
npm install
cp .env.example .env.local
npm run devOpen http://localhost:3000.
| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_APP_URL |
No | App base URL (default: https://freelanceproof.in) |
RAZORPAY_KEY_ID |
Pro only | Razorpay Key ID for payment orders |
RAZORPAY_KEY_SECRET |
Pro only | Razorpay Key Secret |
NEXT_PUBLIC_RAZORPAY_KEY_ID |
Pro only | Public key for client-side Razorpay checkout |
RESEND_API_KEY |
Pro only | Resend API key for email delivery |
Copy .env.example to .env.local and fill in the values you need.
npm run dev # Start development server
npm run build # Production build
npm run start # Start production server
npm run lint # ESLint
npx tsc --noEmit # TypeScript type check
npm run test # Playwright E2E tests (requires dev server)
npm run test:ci # Playwright tests in CI mode- Push to GitHub
- Import project at vercel.com/new
- Add environment variables in the Vercel dashboard
- Deploy
The vercel.json file includes security headers and SEO redirects.
src/
├── app/
│ ├── invoice/ # Invoice generator page
│ ├── proposal/ # Proposal generator page
│ ├── pricing/ # Pricing page
│ ├── about/ # About page
│ ├── privacy/ # Privacy policy
│ ├── terms/ # Terms of service
│ ├── api/
│ │ ├── create-order/ # Razorpay order endpoint
│ │ └── send-email/ # Resend email endpoint
│ ├── opengraph-image.tsx
│ ├── sitemap.ts
│ ├── robots.ts
│ ├── layout.tsx
│ └── globals.css
├── components/
│ ├── Navbar.tsx
│ ├── InvoicePDF.tsx
│ ├── ProposalPDF.tsx
│ ├── UpgradeModal.tsx
│ └── EmailModal.tsx
└── lib/
├── types.ts
├── sanitize.ts
├── usage.ts
└── analytics.ts
MIT — free to use, modify, and distribute.