Sherpa is an AI-powered student career dashboard built for the Google AI Hackathon 2026. It helps students plan their next career move with a guided assistant, CV feedback, and internship application tracking in one place.
Sherpa brings together three key workflows:
- AI career guidance chat for personalized next steps
- CV and resume analysis with ATS-style scoring and actionable rewrite suggestions
- Internship and graduate scheme tracking across application stages
The app is designed for students who want practical support while applying for internships, graduate roles, and other early-career opportunities.
- Smart assistant chat powered by Gemini
- Personalized next-step recommendations based on profile and activity
- Resume/CV scoring with detailed feedback and rewritten bullet points
- CV generation from a LaTeX template for polished output
- Application tracking for Saved, Applied, Interview, and Offer stages
- Firebase-based authentication and profile storage
- Frontend: React, Vite, Tailwind CSS
- Backend: Express server with Gemini API integration
- Data: Firebase Auth + Firestore
- CV generation: LaTeX template rendering via a local LaTeX engine
- Node.js
- A Gemini API key
- Install dependencies:
npm install
- Create a local environment file with your Gemini key:
echo "GEMINI_API_KEY=your_key_here" > .env.local
- Start the app:
npm run dev
The app runs locally at http://localhost:3000.
npm run dev— start the full app (Express + Vite in middleware mode)npm run build— build the frontend and bundle the servernpm start— run the production buildnpm run lint— run TypeScript type-checking
server.ts— Express server and Gemini API routessrc/— React frontend, components, and app statesrc/components/— dashboard, CV tools, tracker, and auth UItemplates/— LaTeX resume template used for CV generation
The CV generation endpoint depends on a LaTeX engine being available on the server path. Supported options include:
pdflatexxelatexlualatextectonic
If no LaTeX engine is installed, CV generation will return an error instead of crashing.
This project does not include a separate test suite. Type checking is available via npm run lint.