A privacy-first CV builder that lets you create professional résumés and deploy them as live portfolio websites. Built entirely client-side with no accounts or databases. Just authenticate with your Vercel API key, craft your CV through an intuitive wizard, and publish instantly. Manage and update your résumé anytime with live PDF preview and one-click deployment.
| Package | Description |
|---|---|
packages/app |
Vite + React application where users compose CVs, manage projects, and export PDFs. Uses TanStack Router/Query, React Hook Form, Slate-based rich text editors, Tailwind CSS, and Radix UI. |
packages/templates |
Headless template showcase with Vite. Provides résumé templates, Tailwind utilities, screenshot generation, and helper scripts for authoring new templates. |
packages/shared-schema |
Zod-powered data contracts that define the CV domain models and validation helpers shared across packages. |
packages/shared-utils |
TypeScript utility layer that coordinates common helpers and re-exports shared schema types. |
packages/web |
Astro front-end for the public marketing site. |
Install all dependencies once prerequisites are available:
pnpm installpnpm dev:appThis starts the Vite development server for packages/app on http://localhost:3000.
pnpm dev:templatesThe templates playground runs on Vite and hot-reloads while you tweak layouts, Tailwind styles, or animation settings.
From within the templates workspace you can scaffold and document templates:
pnpm --filter @quickcv/templates create-template # Interactive template scaffold
pnpm --filter @quickcv/templates generate-screenshots # Capture marketing screenshotsThe application relies on Biome for linting/formatting and the TypeScript compiler for type safety.
Common commands (all runnable with pnpm --filter <package> <script>):
pnpm --filter app check- Biome lint + format checks for the React apppnpm --filter app typecheck- Type-only build for the apppnpm --filter @quickcv/templates test- Vitest unit/browser tests for templatespnpm --filter @quickcv/shared-utils test- Vitest suite for shared utilities
You can run all package scripts together with pnpm -r <script> (e.g., pnpm -r test).
pnpm buildThe root build script fans out to each workspace, invoking their build tasks. This produces the
production-ready Vite bundles and TypeScript declarations where applicable.
- Résumé data schemas live in
packages/shared-schema/srcand can be imported from@quickcv/shared-schema. - Reusable helpers are exported from
@quickcv/shared-utils. - Astro marketing pages reside under
packages/webwith a standardnpm run devworkflow if you prefer working in that project directly.
- Fork and clone the repository.
- Install dependencies with
pnpm install. - Create a branch for your feature or fix.
- Run the appropriate
pnpmscripts (tests, lint, type-check) before opening a pull request. - Submit your PR with a summary of the changes and any notes for reviewers.
Happy résumé building!
