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.

Skillara AI is composed of two independent services — a React frontend and an Express backend — that can be deployed on any Node.js-compatible hosting platform. The backend is a TypeScript Express application that handles CV generation via OpenRouter and optional PostgreSQL persistence through Prisma. The frontend is a React + Vite application that communicates with the backend over a single base URL.

Prerequisites

Before you begin, make sure you have the following available:
  • Node.js 18+ and npm installed on your machine
  • A PostgreSQL database (optional — required only for server-side CV storage; Firebase Firestore handles client-side CV persistence by default)
  • A Firebase project with Authentication and Firestore enabled (for user auth and client-side data)
  • At least one OpenRouter API key for AI-powered CV generation

Installation

1

Clone the repository

Clone the Skillara AI repository and enter the project root:
git clone https://github.com/CristianParadaLopez/cv-builder.git && cd cv-builder
2

Install backend dependencies

Move into the backend directory and install all Node.js dependencies. The backend uses Express 5, Prisma, the OpenAI SDK (for OpenRouter compatibility), and Playwright (available as a dependency for future server-side PDF export):
cd backend && npm install
3

Install frontend dependencies

Move into the frontend directory and install the React + Vite dependencies:
cd ../frontend && npm install
4

Configure environment variables

Create the required environment files for both services:
  • backend/.env — AI keys, database URL, CORS origin, and port
  • frontend/.env.local — backend URL and Firebase credentials
See the Environment Variables page for the full list of required and optional variables and example file contents.
5

Set up the database (optional)

If you want server-side CV storage, apply the Prisma migrations to your PostgreSQL database. Make sure DATABASE_URL is set in backend/.env before running this command:
cd backend && npx prisma migrate deploy
This applies all three migrations in the repository and creates the User, CV, and FormCache tables. See the Database page for the full schema reference and migration history.
6

Install Playwright for PDF export (optional)

Playwright is listed as a backend dependency for future server-side PDF export. The /api/cv/pdf route is not yet registered in the current release — PDF export is handled client-side in the browser. If you plan to enable server-side PDF generation, install the Chromium browser binary now:
cd backend && npx playwright install chromium
You can safely skip this step for the current feature set.
7

Start the backend

The backend has no start script in package.json. Run the Express server directly with ts-node:
cd backend && npx ts-node src/index.ts
For development with automatic restarts on file changes, use nodemon:
cd backend && npx nodemon --exec ts-node src/index.ts
The server listens on port 3001 by default (configurable via the PORT environment variable). When it starts, it logs all loaded API key names and configured AI model IDs to the console so you can verify your setup at a glance.
8

Start the frontend

Start the Vite development server. It opens at http://localhost:5173 by default and sends API calls to the backend URL set in VITE_API_URL:
cd frontend && npm run dev

Production deployment tips

The two services are deployed independently and can be hosted on any platform that supports Node.js. Backend — Render, Railway, or any Node.js host The backend has no start script. For production, compile TypeScript first with tsc, then run the compiled output with Node:
npx tsc && node dist/index.js
Alternatively, you can run the TypeScript source directly with ts-node if your host supports it. Set PORT to the port your host assigns and set FRONTEND_URL to your deployed frontend URL so CORS is allowed:
PORT=8080
FRONTEND_URL="https://your-frontend.vercel.app"
The backend already allows requests from http://localhost:5173, http://localhost:3000, and two known Vercel deployment URLs in addition to the FRONTEND_URL value. Frontend — Vercel The frontend/ directory is pre-configured for Vercel. Running npm run build produces an optimised dist/ folder. The vercel.json file in the repo already includes SPA rewrite rules so all routes resolve to index.html:
{
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
Set VITE_API_URL in your Vercel environment settings to point to your deployed backend URL before building.
Firebase Auth and Firestore are used client-side only through the Firebase JavaScript SDK. No Firebase Admin SDK is needed on the backend for the current feature set — all authentication state is managed in the browser.

Build docs developers (and LLMs) love