Free invoice generator. Client-side, PDF out, no sign-up.
- TanStack Start on Vite
- Tailwind CSS v4
- React Hook Form + Zod
@react-pdf/renderer- Headless UI for a11y primitives
- oxlint + oxfmt
- Playwright for E2E
Requires Node.js 24 and pnpm 10.
pnpm install
pnpm devOpens at http://localhost:3000.
pnpm dev— Vite dev serverpnpm build— production buildpnpm start— run the built serverpnpm type-check—tsc --noEmitpnpm lint/pnpm lint:fix— oxlintpnpm format/pnpm format:check— oxfmtpnpm test:e2e— Playwright E2Epnpm test:e2e:playwright— Playwright with UI
src/
├── app/ TanStack Router file-based routes
├── components/ shared UI (header, footer, preview drawer, …)
├── hooks/ shared React hooks
├── lib/ validation, icons, utilities
├── router.tsx router setup
└── routeTree.gen.ts generated — do not edit
Issues and pull requests welcome. For anything substantial, open an issue first.
MIT — see LICENSE.md.
Built by João Pedro Schmitz.