Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CristianParadaLopez/cv-builder/llms.txt

Use this file to discover all available pages before exploring further.

You can go from a blank form to a professionally styled, downloadable PDF CV in under two minutes. Skillara AI handles all the design and formatting — your job is to provide the information. The steps below walk you through the full flow, from picking a template to exporting the final document.
1

Navigate to the Builder

Open the CV builder in your browser. If you are using the hosted version, go to cv-builder-skillara.vercel.app/builder. If you are running a self-hosted instance, navigate to http://localhost:5173/builder (or the domain where your frontend is deployed).The builder page loads immediately with no login required.
2

Choose a template

At the top of the builder you will find the template selector. Pick the one that best suits your industry and personal style:
TemplateBest for
ModernoTech, finance, and general professional roles — dark blue sidebar with white content column
ClásicoExecutive and marketing roles — dark navy header banner with a two-column body
MinimalistaDesign, academia, and senior roles — single column, no accent colours, maximum whitespace
CreativoCreative industries — green gradient sidebar, optional profile photo, language progress bars
ATS modeAny role where your CV will be parsed by an applicant tracking system — plain black-and-white, single column, no images
3

Fill in your information

The form is divided into three logical sections. Complete them in order:
1

Personal data

Enter your full name, email address, phone number, location (city and country), professional title, and a short summary paragraph. These fields are required — name and email are validated by the backend before generation begins.
2

Work experience and education

Add one or more work experience entries (company, job title, dates, and a description of your responsibilities) and one or more education entries (institution, degree, and dates). Use the AI suggestion button next to each description field to have the model rewrite your bullet points in professional language.
3

Skills, tools, and languages

List your technical and soft skills, the tools you work with (frameworks, software, platforms), and the languages you speak. The following sections are optional but will be included in the CV if you fill them in: certifications, volunteer work, projects, and a profile photo.
4

Generate and download

Once the form is complete, click Generar CV. The frontend sends your data to the backend, which builds a prompt and routes it through OpenRouter to the first available AI model. The response is a complete, styled HTML document that renders in the preview panel on the right.If you want to adjust the result without re-filling the form, type a natural-language instruction into the PromptBar below the preview — for example, “Cambia el color de los títulos a verde” or “Agrega una sección de referencias” — and the model will edit the HTML accordingly.When you are satisfied with the preview, click Descargar PDF. The frontend generates the PDF directly in the browser using html2canvas and jsPDF, producing a print-quality A4 PDF named mi-cv-skillara.pdf — no additional server round-trip required.
Your form data is automatically saved to localStorage as you type. If you accidentally close the tab or refresh the page, all your information will still be there when you return — no work lost.
If you log in with your Google account, each generated CV is also saved to your personal dashboard at /dashboard. You can revisit, re-edit, and re-download any previously generated CV at any time.

Call the API directly

Developers who want to integrate CV generation into their own tools can call the backend REST API without using the frontend UI. The following example generates a CV in the moderno style using the designed rendering mode:
curl -X POST https://your-backend-url/api/cv/generate \
  -H 'Content-Type: application/json' \
  -d '{
    "formData": {
      "name": "Ana García",
      "email": "ana@example.com",
      "phone": "+503 7000-0000",
      "location": "San Salvador, El Salvador",
      "title": "Frontend Developer",
      "summary": "Desarrolladora web con 3 años de experiencia.",
      "experience": [],
      "education": [],
      "skills": ["React", "TypeScript"],
      "tools": ["Vite", "Git"],
      "languages": ["Español", "Inglés"]
    },
    "style": "moderno",
    "mode": "designed"
  }'
The response is a JSON object with a single html key containing the complete, styled HTML document:
{
  "html": "<!DOCTYPE html><html>...</html>"
}
Valid values for style are moderno, clasico, minimalista, and creativo. Valid values for mode are designed and ats. If you pass an unrecognised value, the backend silently falls back to moderno / designed. Both name and email inside formData are required; the request will return a 400 error if either is missing.

Build docs developers (and LLMs) love