Build premium, sector-agnostic, and ATS-optimized professional resumes using Next.js, Tailwind CSS, Supabase, and Gemini AI.
LibreCV is a modern, open-source web application designed to empower individuals from every work sector β from software engineers to sustainable crop farmers, logistics coordinators, and creative designers β to create elegant, impact-driven, and highly professional CVs. By pairing intuitive, real-time builders with Gemini-powered AI, LibreCV simplifies ATS optimization, accomplishment tailoring, and structural polishing into a unified workspace.
- Intuitive Drag-and-Drop: Easily reorganize sections (Personal Info, Experience, Education, Projects, Skills, Custom Sections).
- Sector-Agnostic Custom Blocks: Adapt section titles and content schemas dynamically. Create "Clinical Rotations" for nursing, "Equipment & Operations" for farming, or "Academic Publications" for research.
- Live Preview Canvas: See exact A4/Letter rendering updates in real-time as you type, complete with responsive scaling.
- Resume Raw Importer: Paste messy text logs, LinkedIn exports, or plain markdown. Our Gemini router parses, structures, and dynamically hydrates the builder state.
- ATS Audit & Weakness Detection: Automatically scores your resume across four quadrants: ATS compatibility, readability, impact metrics, and completeness. Detects weak verbs and recommends quantitative improvements (e.g., transforming "Managed dairy herd" into "Administered precision health regimens and IoT feeding cycles for 120+ dairy cattle, boosting milk production yield by 14%").
- Job Description Tailor: Match your active resume against a target job description. Instantly extract key terms, perform comparative audits, and tailor specific bullet points.
- Designed to WOW: Supports modern layouts crafted with custom color variables, professional typography combinations, and perfect visual hierarchies.
- Dynamic Theme Switcher:
Minimal: Understated serif elegance ideal for academia, legal, and traditional operations.Developer: Monospace highlights, side-by-side skills grids, and compact contact blocks designed for engineers.Corporate: Stately grid lines and top-accent highlights for business, finance, and logistics.Creative: Modern asymmetric spacing and sophisticated color accents for designers, writers, and culinary arts.Startup: High-impact stats highlight boxes and tag-style skills sections built for high-growth tech hires.
- Precision A4 Boundaries: Integrated CSS pagination rules with exact margins (
1.8cmvertical,1.5cmhorizontal) mapped to standard paper sizes. - Page-Break Protection: Automated item containment rules prevent mid-line splits, cutting off bullet points, or orphaned subheadings when printing or saving as PDF (
window.print()).
The following diagram illustrates the parsing, structuring, and persistence lifecycle when importing and editing a resume in LibreCV:
graph TD
A[Dashboard Importer Modal] -->|Paste raw text| B["Gemini Parser Route /api/ai/parse-resume"]
B -->|Output structured JSON| C[Dashboard Steps Preview]
C -->|Choose Template + Launch| D[Client v4 UUID Generation]
D -->|Insert into DB| E{"Supabase / local DB"}
E -->|Success| F[Hydrate Zustand Store]
E -->|Fallback| G[LocalStorage Backup Cache]
F -->|Redirect| H["/builder Real-Time Workspace"]
H -->|AutoSave debounced| I[Sync to Database]
- Framework: Next.js 16 (App Router with Turbopack)
- Styling: Tailwind CSS v4 (incorporating CSS nesting and modular styling tokens)
- Database & Auth: Supabase Postgres & GoTrue authentication client
- State Management: Zustand (with undo/redo state history tracking)
- AI Platform: Google Gemini API via
@google/generative-ai - Component Palette: Lucide React icons, smooth backdrop blurs, and premium color palettes.
Follow these steps to run your own development instance of LibreCV:
Make sure you have Node.js (v18+) and your preferred package manager (pnpm, npm, yarn) installed.
git clone https://github.com/crine-in/librecv.git
cd librecv
pnpm installCreate a .env.local file in the root directory. You can copy the template from .env.example:
cp .env.example .env.localPopulate the following keys in your .env.local:
NEXT_PUBLIC_SUPABASE_URL=https://your-supabase-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY=your-supabase-anon-key
GEMINI_API_KEY=your-google-gemini-api-keyTo initialize your Supabase Postgres database, navigate to your Supabase SQL Editor and run the queries defined inside schema.sql. This will set up:
- The
profilestable (automatically synced via trigger upon user registration) - The
templatescatalog - The
resumestable with standard RFC 4122UUIDidentifiers - Row-Level Security (RLS) policies allowing secure reading/writing of resumes
pnpm devOpen http://localhost:3000 on your local browser to begin crafting.
We welcome contributions from developers, designers, copywriters, and professionals of all sectors!
To get started, please read our CONTRIBUTING.md guide and review our CODE_OF_CONDUCT.md.
LibreCV is open-source software licensed under the AGPL3.0 License. See LICENSE for details.