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.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.
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
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):Install frontend dependencies
Move into the
frontend directory and install the React + Vite dependencies:Configure environment variables
Create the required environment files for both services:
backend/.env— AI keys, database URL, CORS origin, and portfrontend/.env.local— backend URL and Firebase credentials
Set up the database (optional)
If you want server-side CV storage, apply the Prisma migrations to your PostgreSQL database. Make sure This applies all three migrations in the repository and creates the
DATABASE_URL is set in backend/.env before running this command:User, CV, and FormCache tables. See the Database page for the full schema reference and migration history.Install Playwright for PDF export (optional)
Playwright is listed as a backend dependency for future server-side PDF export. The You can safely skip this step for the current feature set.
/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:Start the backend
The backend has no For development with automatic restarts on file changes, use The server listens on port
start script in package.json. Run the Express server directly with ts-node:nodemon: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.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 nostart script. For production, compile TypeScript first with tsc, then run the compiled output with Node:
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:
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:
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.