SkillSync AI is a Gemini-powered Career Intelligence Copilot designed to analyze user CVs and skill profiles against curated Kenyan job market data. The system identifies skill gaps and generates highly structured, personalized career roadmaps.
This repository is structured as a monorepo containing two primary services:
- Frontend (
skillsync-compass): A React SPA built with Vite, Tailwind CSS, and shadcn/ui. - Backend (
server): A Node.js/Express REST API responsible for handling Google Gemini API integration and enforcing structured JSON schema outputs.
- Node.js (v18 or higher recommended)
- npm (v9 or higher recommended)
- A Google Gemini API Key
Navigate to the server directory and install dependencies:
cd server
npm installConfigure the environment variables:
cp .env.example .envEnsure the .env file contains your valid GEMINI_API_KEY and sets the PORT (default is 5000).
Start the backend development server:
npm startOpen a new terminal session, navigate to the frontend directory, and install dependencies:
cd skillsync-compass
npm installStart the Vite development server:
npm run devThe application will be accessible at http://localhost:8080.
The React frontend must be compiled into static assets prior to deployment. Navigate to the frontend directory and execute the build command:
cd skillsync-compass
npm run buildThis command generates a dist folder containing the optimized static files. These files can be served using any static web host, such as Nginx, AWS S3, Vercel, or Netlify.
For the Node.js backend, ensure NODE_ENV=production is set in your environment variables. It is highly recommended to use a process manager such as PM2 to monitor the server:
cd server
npm install -g pm2
pm2 start server.js --name "skillsync-api"Ensure that the production frontend correctly points its API requests to your deployed backend URL. By default, the frontend is configured to target http://localhost:5000/api/analyze. In production, this URL should be updated or proxied appropriately depending on your infrastructure configuration.
This project is proprietary.