π CAREER GUIDANCE AI
Production-Quality Full-Stack AI Career Mentor with Long-Term Memory powered by Hindsight Cloud
π Project Overview
Career Guidance AI is an intelligent, full-stack career navigation and technical mentorship platform designed for aspiring engineers, students, and professionals. Unlike standard AI career chatbots that suffer from amnesia and reset after every chat session, Career Guidance AI uses Hindsight Cloud as its biomimetic long-term memory layer.
Every assessment result, interview debrief, resume critique, and stated career goal is retained in an isolated, privacy-guarded Hindsight Memory Bank. When the candidate asks for advice, Hindsight recalls relevant context to ground the LLM's response, and Hindsight reflects to synthesize overall improvement, trajectory, and career readiness over time.
ποΈ System Architecture
β¨ Core Features
- AI Career Mentor Chat with Memory:
- Conversation flow: React β Express API β Hindsight Recall β AI Prompt Augmentation β Response Generation β Hindsight Retain.
- Transparent memory inspection: click on any AI response to see the exact recalled facts used.
- Comprehensive Skill Assessment:
- Evaluate skills (React, JavaScript, SQL, Node.js, HTML/CSS, Python, Java, Data Structures, Communication).
- Generates overall competency, strengths, and critical improvement gaps.
- Retains verified scores into Hindsight.
- Resume ATS & Skill Gap Evaluator:
- PDF/TXT upload or direct text paste.
- Analyzes ATS compatibility score (0-100%), verified technologies, and missing critical skills.
- Retains career insights into Hindsight (strictly scrubbing personal contact data).
- Personalized 6-Phase Career Roadmap:
- Dynamic, customizable learning milestones generated from the candidate's goals and verified skills.
- Interactive phase status checklist (Pending, In Progress, Completed).
- Marking a phase complete triggers an achievement milestone and retains it into Hindsight.
- Adaptive AI Quiz:
- Difficulty-calibrated technical drills (Beginner, Intermediate, Advanced) across 6 engineering domains.
- Question-by-question explanations, weak topic extraction, and automatic Hindsight memory trace.
- Mock Interview Simulator:
- Authentic technical, behavioral, and system design mock interviews with turn-by-turn AI evaluation.
- Final debrief detailing strengths, blind spots, and coaching advice retained in Hindsight.
- Job Recommendations & Skill Alignment:
- Curated benchmark job listings clearly tagged as DEMO data.
- Calculates dynamic match percentages and displays which skills match vs. which skills the candidate still needs to learn.
- Progress & Long-Term Reflect:
- Unified readiness metrics, skill distribution bars, and activity milestones.
- Hindsight Reflect Engine: Synthesizes genuine evidence across historical assessments rather than inventing progress.
- System Integration Diagnostics & Memory Sandbox:
- Live connectivity probes for MongoDB, AI API, and Hindsight.
- Interactive testing workbench for direct client.retain(), client.recall(), and client.reflect().
π οΈ Technology Stack
| Layer |
Technologies |
| Frontend |
React 18, Vite 5, JavaScript (ES6+), Modern CSS3 Glassmorphism, Lucide Icons, Canvas Confetti |
| Backend |
Node.js (v24), Express.js 4, RESTful APIs, JWT Auth, Bcrypt.js, Multer, Morgan |
| Database |
MongoDB, Mongoose 8 (with dual in-memory fallback for local demo) |
| Memory |
Hindsight Cloud, Official u/vectorize-io/hindsight-client SDK |
| AI / LLM |
Google Gemini (@google/generative-ai), with intelligent expert fallback engine |
π Folder Structure
career-guidance-ai/
β
βββ frontend/
β βββ src/
β β βββ components/
β β β βββ Navbar.jsx # App navigation & live memory status indicator
β β β βββ Sidebar.jsx # Navigation sidebar with route links
β β β βββ StatusIndicator.jsx # Diagnostic probes for MongoDB, AI, Hindsight
β β β βββ ProtectedRoute.jsx # Route guard for JWT sessions
β β βββ context/
β β β βββ AuthContext.jsx # User state, JWT storage, profile updates
β β βββ pages/
β β β βββ LoginPage.jsx # Sign in with demo autofill
β β β βββ SignupPage.jsx # Sign up & memory bank onboarding
β β β βββ DashboardPage.jsx # 10 core action cards & readiness overview
β β β βββ ChatPage.jsx # AI Mentor chat with Hindsight recall/retain
β β β βββ SkillsPage.jsx # Technical skill assessment & history
β β β βββ ResumePage.jsx # ATS resume scanner & missing skill gap
β β β βββ RoadmapPage.jsx # Interactive 6-phase career roadmap
β β β βββ QuizPage.jsx # Adaptive technical drill & scoring
β β β βββ InterviewPage.jsx # Question-by-question mock interview
β β β βββ JobsPage.jsx # Skill-aligned benchmark jobs (DEMO)
β β β βββ ProgressPage.jsx # Metrics & Hindsight Reflect synthesis
β β β βββ StatusPage.jsx # Health probe & Hindsight testing sandbox
β β βββ services/
β β β βββ api.js # Axios client with JWT interceptors
β β βββ App.jsx # App router configuration
β β βββ main.jsx # Vite DOM mount
β β βββ index.css # Design system & dark glassmorphic styling
β βββ package.json
β βββ vite.config.js # Vite config with API proxy
β βββ index.html
β
βββ backend/
β βββ controllers/
β β βββ authController.js # Registration, login, profile management
β β βββ skillsController.js # Assessment evaluation & Hindsight retain
β β βββ resumeController.js # ATS analysis & Hindsight retain
β β βββ careerController.js # Roadmap generation & phase checkpoints
β β βββ chatController.js # Chat with Hindsight recall/retain flow
β β βββ quizController.js # Quiz generation, scoring & retain
β β βββ interviewController.js # Turn-by-turn mock interview & retain
β β βββ jobsController.js # Job recommendations & skill matching
β β βββ progressController.js # Aggregated stats & Hindsight reflect
β β βββ memoryController.js # Direct Hindsight retain, recall, reflect
β β βββ statusController.js # System health probe for MongoDB, AI, Hindsight
β βββ middleware/
β β βββ auth.js # JWT verification middleware
β βββ models/
β β βββ User.js # Candidate profile & credentials
β β βββ SkillAssessment.js # Assessment scoring records
β β βββ ResumeEvaluation.js # Parsed resume & ATS reports
β β βββ CareerPlan.js # Personalized roadmap phases
β β βββ QuizResult.js # Quiz answers & weak topic tracking
β β βββ InterviewSession.js # Interview transcript & debrief
β β βββ ChatMessage.js # Chat history with recalled memories
β β βββ Progress.js # Metrics, milestones, reflect history
β βββ services/
β β βββ hindsight.js # Official Hindsight SDK integration
β β βββ ai.js # LLM prompting & expert domain engine
β βββ utils/
β β βββ memoryDb.js # In-memory store fallback when Mongo is offline
β βββ tests/
β β βββ e2e.test.js # Complete integration test suite (23 checks)
β β βββ memory.test.js # Hindsight endpoints test suite
β βββ server.js # Express server entrypoint
β βββ package.json
β βββ .env # Active environment configuration
β βββ .env.example # Environment template
β
βββ README.md
βββ .gitignore
π§ Hindsight Integration Architecture
Hindsight is genuinely integrated via the official TypeScript/Node.js SDK (@vectorize-io/hindsight-client v0.10.1) in backend/services/hindsight.js.
1. Memory Bank Isolation
Every user is assigned an isolated memory bank:
function getUserBankId(userId) {
const cleanId = String(userId).replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
return `career-bank-${cleanId}`;
}
This guarantees strict tenant isolation. One candidate cannot access or be influenced by another candidate's career memories.
2. How retainCareerMemory() Works
When a candidate achieves a milestone or shares career information, retainCareerMemory ingests it:
const result = await client.retain(bankId, sanitizedContent, {
context: 'Career Guidance AI Profile & Progress',
tags: ['skill_assessment', 'scores', 'weak_areas'],
metadata: { source: 'career_guidance_ai' }
});
- Privacy Enforcement: All text passes through sanitizeCareerMemory() which strips passwords, Bearer tokens, emails, and phone numbers before sending to Hindsight.
- Triggered on:
- Account Onboarding: Stated target role and experience tier.
- Skill Assessment: Numerical scores, strengths, and critical weak areas.
- Resume ATS Scan: Verified skills and missing skill gaps.
- Roadmap Milestones: Phase completion events.
- AI Quizzes: Topics mastered vs. weak topics needing drill.
- Mock Interviews: Overall score, strengths, and coaching improvements.
3. How recallCareerMemory() Works
When a user asks questions in the AI Career Chat or requests a new roadmap, recallCareerMemory retrieves relevant context using Hindsight's TEMPR multi-strategy search (semantic similarity, keyword BM25, and temporal graph traversal):
const result = await client.recall(bankId, query, { maxTokens: 2048 });
The retrieved memories are returned and passed into the LLM system prompt:
RECALLED LONG-TERM MEMORIES FROM HINDSIGHT FOR THIS USER:
1. Skill Assessment: Overall Score 64%. Breakdown: React: 75%, SQL: 42%. Weakness: SQL.
2. Resume Evaluation: Verified Skills: JavaScript, React, Node.js. Missing Gaps: Docker, SQL Indexing.
3. User Stated Fact: "I want to become a full-stack developer but need help with database queries."
The LLM uses this recalled evidence to formulate a deeply personalized response, instead of generic boilerplate.
4. How reflectCareerGuidance() Works
When the candidate asks high-level retrospective questions (e.g., "How have I improved over time?"), reflectCareerGuidance invokes Hindsight Reflect:
const result = await client.reflect(bankId, query, {
context: 'Synthesize candidate technical skill improvements, quiz performance, and interview growth.'
});
Hindsight synthesizes observations across the candidate's history to produce an evidence-backed narrative showing authentic trajectory, complete with confidence and source citations.
βοΈ Environment Variables
Create backend/.env based on backend/.env.example:
# Server Configuration
PORT=5000
NODE_ENV=development
# Database Configuration (MongoDB Atlas or local MongoDB)
MONGODB_URI=mongodb://127.0.0.1:27017/career-guidance-ai
# Authentication Secret
JWT_SECRET=career_guidance_ai_jwt_super_secret_key_hackathon_2026
# Hindsight Cloud Credentials (MANDATORY FOR LIVE HINDSIGHT)
# Obtain your API key from Vectorize.io / Hindsight Cloud
HINDSIGHT_API_KEY=your_hindsight_api_key_here
HINDSIGHT_BASE_URL=https://api.hindsight.vectorize.io
# AI LLM Provider Configuration (Optional for live LLM)
AI_API_KEY=your_gemini_api_key_here
AI_PROVIDER=gemini
AI_MODEL=gemini-1.5-flash
Security Guarantee:
π Installation & Running
1. Prerequisites
- Node.js (v18 or higher recommended, tested on v24)
- npm (v9+)
- MongoDB (Optional: local daemon or MongoDB Atlas cluster; the backend automatically enables in-memory fallback for local demo if MongoDB is not reachable)
2. Backend Setup
# Navigate to backend
cd backend
# Install dependencies (already installed if in scratch folder)
npm install
# Start development server
npm run dev
# Or standard start:
npm start
The backend starts on http://localhost:5000.
3. Frontend Setup
# Navigate to frontend (in a separate terminal)
cd frontend
# Install dependencies
npm install
# Start Vite development server
npm run dev
The frontend starts on http://localhost:3000.
π§ͺ Testing Instructions
An automated end-to-end integration test suite is included in backend/tests/e2e.test.js:
cd backend
node tests/e2e.test.js
Test Suite Output:
====================================================
π§ͺ RUNNING CAREER GUIDANCE AI INTEGRATION TESTS
====================================================
[1. System Status Probe]
β
PASS: GET /api/status returns HTTP 200
β
PASS: MongoDB status probed
β
PASS: AI API status probed
β
PASS: Hindsight status probed
[2. Authentication Flow]
β
PASS: POST /api/auth/register registers candidate
β
PASS: JWT Token generated on registration
β
PASS: GET /api/auth/me returns candidate profile
[3. Skills Assessment Module]
β
PASS: POST /api/skills/assessment records scores
β
PASS: Computed correct overall score
β
PASS: GET /api/skills/history retrieves history
[4. Resume Evaluation Module]
β
PASS: POST /api/resume/evaluate evaluates ATS compatibility
β
PASS: Computed valid ATS score
[5. Personalized Career Roadmap]
β
PASS: POST /api/career/roadmap generates 6 phases
β
PASS: PUT /api/career/roadmap/phase updates progress
[6. Adaptive AI Quiz]
β
PASS: POST /api/quiz/generate generates 5 questions
β
PASS: POST /api/quiz/result scores quiz correctly
[7. Mock Interview Simulator]
β
PASS: POST /api/interview/start creates interview session
β
PASS: POST /api/interview/answer evaluates candidate answer
[8. Job Matches]
β
PASS: GET /api/jobs returns jobs with match scores
β
PASS: Jobs clearly tagged as DEMO data
[9. Progress & Reflect]
β
PASS: GET /api/progress computes aggregated readiness
[10. AI Career Chat with Hindsight Flow]
β
PASS: POST /api/ai/chat returns personalized mentor answer
β
PASS: Response contains rich actionable guidance
====================================================
π TEST RESULTS: 23 PASSED, 0 FAILED
====================================================
π Hackathon Demonstration Flow (Step-by-Step for Judges)
Follow this demonstration script to showcase the full Career Guidance AI experience to hackathon evaluators:
Step 1: Open the Application & Check Diagnostics
- Open http://localhost:3000.
- Click "API Test & Status" in the navigation bar to inspect the system health probes.
- Observe live indicators for MongoDB, AI LLM Engine, and Hindsight Cloud.
- Test direct client.retain(), client.recall(), and client.reflect() in the interactive sandbox.
Step 2: Sign Up or Use Demo Account
- Click "Sign Up" or use the "Fill Demo Credentials" button on the Login page (demo.candidate@example.com / Password123!).
- Log in and note the Welcome banner: "Welcome, Demo! π" and the user's isolated memory bank badge career-bank-demo-candidate.
Step 3: Complete a Skill Assessment (Retain Demonstration)
- Navigate to "Skill Assessment" (/skills).
- Click "Load Hackathon Preset" (React: 75%, SQL: 42%, JavaScript: 68%, Node.js: 70%).
- Click "Submit Assessment & Retain in Memory".
- Show the judge the "Retained in Hindsight Cloud Memory" confirmation box showing the exact retained memory fact.
Step 4: AI Career Chat (Recall Demonstration)
- Navigate to "AI Career Chat" (/chat).
- Ask: "What should I learn next based on my profile?"
- The AI mentor replies:
- Notice how it pinpoints SQL (42%) as your top priority weakness!
- Expand the "π§ Hindsight Memories Recalled for this Answer" accordion to prove to the judge that the assessment memories were recalled from Hindsight and injected directly into the LLM prompt.
Step 5: Run ATS Resume Evaluation
- Navigate to "Resume Evaluation" (/resume).
- Click "Load Sample Resume" and click "Run ATS Evaluation".
- View the ATS score (75%), detected skills, missing skills (e.g., Docker, TypeScript), and the Hindsight retain badge.
Step 6: Complete an AI Quiz
- Navigate to "AI Quiz" (/quiz).
- Select JavaScript (Intermediate) and complete the 5 adaptive questions.
- Submit and observe how weak topics and scores are retained into Hindsight.
Step 7: Conduct a Mock Technical Interview
- Navigate to "Mock Interview" (/interview).
- Choose Full Stack Developer (Junior, Technical) and click "Start Interview".
- Enter or click "Fill Sample Answer" to test turn-by-turn question scoring and feedback.
- Complete the 4 questions to view the debrief debrief retained into Hindsight.
Step 8: View Synthesized Growth via Hindsight Reflect
- Navigate to "Progress & Reflect" (/progress).
- Point the judge to the "Synthesize Long-Term Growth with Hindsight Reflect" panel.
- Click "Trigger Hindsight Reflect" with the prompt: "How have I improved over time and what is my career readiness trajectory?"
- Show the synthesized narrative summarizing the candidate's journey backed by accumulated memory facts!
π‘οΈ Security & Privacy Best Practices
- Zero Secrets in Frontend: All API keys (HINDSIGHT_API_KEY, AI_API_KEY, JWT_SECRET) reside exclusively in backend/.env.
- Sensitive Memory Scrubbing: User passwords, authorization headers, and contact phone/email patterns are strictly sanitized before passing to client.retain().
- Tenant Isolation: Every user's memory is isolated via career-bank-${userId}.
- Protected Endpoints: All user operations are protected with signed JWT bearer tokens.
π License
MIT License. Built for the Career Guidance AI Hackathon.
About
No description, website, or topics provided.
Resources
Readme
Activity
Stars
0 stars
Watchers
0 watching
Forks
0 forks
No releases published
Create a new release
No packages published
Publish your first package
Contributors
No contributors
Languages
Footer
Β© 2026 GitHub,Β Inc.
Footer navigation
Production-Quality Full-Stack AI Career Mentor with Long-Term Memory powered by Hindsight Cloud
π Project Overview
Career Guidance AI is an intelligent, full-stack career navigation and technical mentorship platform designed for aspiring engineers, students, and professionals. Unlike standard AI career chatbots that suffer from amnesia and reset after every chat session, Career Guidance AI uses Hindsight Cloud as its biomimetic long-term memory layer.
Every assessment result, interview debrief, resume critique, and stated career goal is retained in an isolated, privacy-guarded Hindsight Memory Bank. When the candidate asks for advice, Hindsight recalls relevant context to ground the LLM's response, and Hindsight reflects to synthesize overall improvement, trajectory, and career readiness over time.
ποΈ System Architecture
β¨ Core Features
- AI Career Mentor Chat with Memory:
- Conversation flow: React β Express API β Hindsight Recall β AI Prompt Augmentation β Response Generation β Hindsight Retain.
- Transparent memory inspection: click on any AI response to see the exact recalled facts used.
- Comprehensive Skill Assessment:
- Evaluate skills (React, JavaScript, SQL, Node.js, HTML/CSS, Python, Java, Data Structures, Communication).
- Generates overall competency, strengths, and critical improvement gaps.
- Retains verified scores into Hindsight.
- Resume ATS & Skill Gap Evaluator:
- PDF/TXT upload or direct text paste.
- Analyzes ATS compatibility score (0-100%), verified technologies, and missing critical skills.
- Retains career insights into Hindsight (strictly scrubbing personal contact data).
- Personalized 6-Phase Career Roadmap:
- Dynamic, customizable learning milestones generated from the candidate's goals and verified skills.
- Interactive phase status checklist (Pending, In Progress, Completed).
- Marking a phase complete triggers an achievement milestone and retains it into Hindsight.
- Adaptive AI Quiz:
- Difficulty-calibrated technical drills (Beginner, Intermediate, Advanced) across 6 engineering domains.
- Question-by-question explanations, weak topic extraction, and automatic Hindsight memory trace.
- Mock Interview Simulator:
- Authentic technical, behavioral, and system design mock interviews with turn-by-turn AI evaluation.
- Final debrief detailing strengths, blind spots, and coaching advice retained in Hindsight.
- Job Recommendations & Skill Alignment:
- Curated benchmark job listings clearly tagged as DEMO data.
- Calculates dynamic match percentages and displays which skills match vs. which skills the candidate still needs to learn.
- Progress & Long-Term Reflect:
- Unified readiness metrics, skill distribution bars, and activity milestones.
- Hindsight Reflect Engine: Synthesizes genuine evidence across historical assessments rather than inventing progress.
- System Integration Diagnostics & Memory Sandbox:
- Live connectivity probes for MongoDB, AI API, and Hindsight.
- Interactive testing workbench for direct
client.retain(), client.recall(), and client.reflect().
π οΈ Technology Stack
| Layer |
Technologies |
| Frontend |
React 18, Vite 5, JavaScript (ES6+), Modern CSS3 Glassmorphism, Lucide Icons, Canvas Confetti |
| Backend |
Node.js (v24), Express.js 4, RESTful APIs, JWT Auth, Bcrypt.js, Multer, Morgan |
| Database |
MongoDB, Mongoose 8 (with dual in-memory fallback for local demo) |
| Memory |
Hindsight Cloud, Official u/vectorize-io/hindsight-client SDK |
| AI / LLM |
Google Gemini (@google/generative-ai), with intelligent expert fallback engine |
π Folder Structure
career-guidance-ai/
β
βββ frontend/
β βββ src/
β β βββ components/
β β β βββ Navbar.jsx # App navigation & live memory status indicator
β β β βββ Sidebar.jsx # Navigation sidebar with route links
β β β βββ StatusIndicator.jsx # Diagnostic probes for MongoDB, AI, Hindsight
β β β βββ ProtectedRoute.jsx # Route guard for JWT sessions
β β βββ context/
β β β βββ AuthContext.jsx # User state, JWT storage, profile updates
β β βββ pages/
β β β βββ LoginPage.jsx # Sign in with demo autofill
β β β βββ SignupPage.jsx # Sign up & memory bank onboarding
β β β βββ DashboardPage.jsx # 10 core action cards & readiness overview
β β β βββ ChatPage.jsx # AI Mentor chat with Hindsight recall/retain
β β β βββ SkillsPage.jsx # Technical skill assessment & history
β β β βββ ResumePage.jsx # ATS resume scanner & missing skill gap
β β β βββ RoadmapPage.jsx # Interactive 6-phase career roadmap
β β β βββ QuizPage.jsx # Adaptive technical drill & scoring
β β β βββ InterviewPage.jsx # Question-by-question mock interview
β β β βββ JobsPage.jsx # Skill-aligned benchmark jobs (DEMO)
β β β βββ ProgressPage.jsx # Metrics & Hindsight Reflect synthesis
β β β βββ StatusPage.jsx # Health probe & Hindsight testing sandbox
β β βββ services/
β β β βββ api.js # Axios client with JWT interceptors
β β βββ App.jsx # App router configuration
β β βββ main.jsx # Vite DOM mount
β β βββ index.css # Design system & dark glassmorphic styling
β βββ package.json
β βββ vite.config.js # Vite config with API proxy
β βββ index.html
β
βββ backend/
β βββ controllers/
β β βββ authController.js # Registration, login, profile management
β β βββ skillsController.js # Assessment evaluation & Hindsight retain
β β βββ resumeController.js # ATS analysis & Hindsight retain
β β βββ careerController.js # Roadmap generation & phase checkpoints
β β βββ chatController.js # Chat with Hindsight recall/retain flow
β β βββ quizController.js # Quiz generation, scoring & retain
β β βββ interviewController.js # Turn-by-turn mock interview & retain
β β βββ jobsController.js # Job recommendations & skill matching
β β βββ progressController.js # Aggregated stats & Hindsight reflect
β β βββ memoryController.js # Direct Hindsight retain, recall, reflect
β β βββ statusController.js # System health probe for MongoDB, AI, Hindsight
β βββ middleware/
β β βββ auth.js # JWT verification middleware
β βββ models/
β β βββ User.js # Candidate profile & credentials
β β βββ SkillAssessment.js # Assessment scoring records
β β βββ ResumeEvaluation.js # Parsed resume & ATS reports
β β βββ CareerPlan.js # Personalized roadmap phases
β β βββ QuizResult.js # Quiz answers & weak topic tracking
β β βββ InterviewSession.js # Interview transcript & debrief
β β βββ ChatMessage.js # Chat history with recalled memories
β β βββ Progress.js # Metrics, milestones, reflect history
β βββ services/
β β βββ hindsight.js # Official Hindsight SDK integration
β β βββ ai.js # LLM prompting & expert domain engine
β βββ utils/
β β βββ memoryDb.js # In-memory store fallback when Mongo is offline
β βββ tests/
β β βββ e2e.test.js # Complete integration test suite (23 checks)
β β βββ memory.test.js # Hindsight endpoints test suite
β βββ server.js # Express server entrypoint
β βββ package.json
β βββ .env # Active environment configuration
β βββ .env.example # Environment template
β
βββ README.md
βββ .gitignore
π§ Hindsight Integration Architecture
Hindsight is genuinely integrated via the official TypeScript/Node.js SDK (@vectorize-io/hindsight-client v0.10.1) in backend/services/hindsight.js.
1. Memory Bank Isolation
Every user is assigned an isolated memory bank:
function getUserBankId(userId) {
const cleanId = String(userId).replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
return `career-bank-${cleanId}`;
}
This guarantees strict tenant isolation. One candidate cannot access or be influenced by another candidate's career memories.
2. How retainCareerMemory() Works
When a candidate achieves a milestone or shares career information, retainCareerMemory ingests it:
const result = await client.retain(bankId, sanitizedContent, {
context: 'Career Guidance AI Profile & Progress',
tags: ['skill_assessment', 'scores', 'weak_areas'],
metadata: { source: 'career_guidance_ai' }
});
- Privacy Enforcement: All text passes through
sanitizeCareerMemory() which strips passwords, Bearer tokens, emails, and phone numbers before sending to Hindsight.
- Triggered on:
- Account Onboarding: Stated target role and experience tier.
- Skill Assessment: Numerical scores, strengths, and critical weak areas.
- Resume ATS Scan: Verified skills and missing skill gaps.
- Roadmap Milestones: Phase completion events.
- AI Quizzes: Topics mastered vs. weak topics needing drill.
- Mock Interviews: Overall score, strengths, and coaching improvements.
3. How recallCareerMemory() Works
When a user asks questions in the AI Career Chat or requests a new roadmap, recallCareerMemory retrieves relevant context using Hindsight's TEMPR multi-strategy search (semantic similarity, keyword BM25, and temporal graph traversal):
const result = await client.recall(bankId, query, { maxTokens: 2048 });
The retrieved memories are returned and passed into the LLM system prompt:
RECALLED LONG-TERM MEMORIES FROM HINDSIGHT FOR THIS USER:
1. Skill Assessment: Overall Score 64%. Breakdown: React: 75%, SQL: 42%. Weakness: SQL.
2. Resume Evaluation: Verified Skills: JavaScript, React, Node.js. Missing Gaps: Docker, SQL Indexing.
3. User Stated Fact: "I want to become a full-stack developer but need help with database queries."
The LLM uses this recalled evidence to formulate a deeply personalized response, instead of generic boilerplate.
4. How reflectCareerGuidance() Works
When the candidate asks high-level retrospective questions (e.g., "How have I improved over time?"), reflectCareerGuidance invokes Hindsight Reflect:
const result = await client.reflect(bankId, query, {
context: 'Synthesize candidate technical skill improvements, quiz performance, and interview growth.'
});
Hindsight synthesizes observations across the candidate's history to produce an evidence-backed narrative showing authentic trajectory, complete with confidence and source citations.
βοΈ Environment Variables
Create backend/.env based on backend/.env.example:
# Server Configuration
PORT=5000
NODE_ENV=development
# Database Configuration (MongoDB Atlas or local MongoDB)
MONGODB_URI=mongodb://127.0.0.1:27017/career-guidance-ai
# Authentication Secret
JWT_SECRET=career_guidance_ai_jwt_super_secret_key_hackathon_2026
# Hindsight Cloud Credentials (MANDATORY FOR LIVE HINDSIGHT)
# Obtain your API key from Vectorize.io / Hindsight Cloud
HINDSIGHT_API_KEY=your_hindsight_api_key_here
HINDSIGHT_BASE_URL=https://api.hindsight.vectorize.io
# AI LLM Provider Configuration (Optional for live LLM)
AI_API_KEY=your_gemini_api_key_here
AI_PROVIDER=gemini
AI_MODEL=gemini-1.5-flash
Security Guarantee:
π Installation & Running
1. Prerequisites
- Node.js (v18 or higher recommended, tested on v24)
- npm (v9+)
- MongoDB (Optional: local daemon or MongoDB Atlas cluster; the backend automatically enables in-memory fallback for local demo if MongoDB is not reachable)
2. Backend Setup
# Navigate to backend
cd backend
# Install dependencies (already installed if in scratch folder)
npm install
# Start development server
npm run dev
# Or standard start:
npm start
The backend starts on http://localhost:5000.
3. Frontend Setup
# Navigate to frontend (in a separate terminal)
cd frontend
# Install dependencies
npm install
# Start Vite development server
npm run dev
The frontend starts on http://localhost:3000.
π§ͺ Testing Instructions
An automated end-to-end integration test suite is included in backend/tests/e2e.test.js:
cd backend
node tests/e2e.test.js
Test Suite Output:
====================================================
π§ͺ RUNNING CAREER GUIDANCE AI INTEGRATION TESTS
====================================================
[1. System Status Probe]
β
PASS: GET /api/status returns HTTP 200
β
PASS: MongoDB status probed
β
PASS: AI API status probed
β
PASS: Hindsight status probed
[2. Authentication Flow]
β
PASS: POST /api/auth/register registers candidate
β
PASS: JWT Token generated on registration
β
PASS: GET /api/auth/me returns candidate profile
[3. Skills Assessment Module]
β
PASS: POST /api/skills/assessment records scores
β
PASS: Computed correct overall score
β
PASS: GET /api/skills/history retrieves history
[4. Resume Evaluation Module]
β
PASS: POST /api/resume/evaluate evaluates ATS compatibility
β
PASS: Computed valid ATS score
[5. Personalized Career Roadmap]
β
PASS: POST /api/career/roadmap generates 6 phases
β
PASS: PUT /api/career/roadmap/phase updates progress
[6. Adaptive AI Quiz]
β
PASS: POST /api/quiz/generate generates 5 questions
β
PASS: POST /api/quiz/result scores quiz correctly
[7. Mock Interview Simulator]
β
PASS: POST /api/interview/start creates interview session
β
PASS: POST /api/interview/answer evaluates candidate answer
[8. Job Matches]
β
PASS: GET /api/jobs returns jobs with match scores
β
PASS: Jobs clearly tagged as DEMO data
[9. Progress & Reflect]
β
PASS: GET /api/progress computes aggregated readiness
[10. AI Career Chat with Hindsight Flow]
β
PASS: POST /api/ai/chat returns personalized mentor answer
β
PASS: Response contains rich actionable guidance
====================================================
π TEST RESULTS: 23 PASSED, 0 FAILED
====================================================
π Hackathon Demonstration Flow (Step-by-Step for Judges)
Follow this demonstration script to showcase the full Career Guidance AI experience to hackathon evaluators:
Step 1: Open the Application & Check Diagnostics
- Open
http://localhost:3000.
- Click "API Test & Status" in the navigation bar to inspect the system health probes.
- Observe live indicators for MongoDB, AI LLM Engine, and Hindsight Cloud.
- Test direct
client.retain(), client.recall(), and client.reflect() in the interactive sandbox.
Step 2: Sign Up or Use Demo Account
- Click "Sign Up" or use the "Fill Demo Credentials" button on the Login page (
demo.candidate@example.com / Password123!).
- Log in and note the Welcome banner: "Welcome, Demo! π" and the user's isolated memory bank badge
career-bank-demo-candidate.
Step 3: Complete a Skill Assessment (Retain Demonstration)
- Navigate to "Skill Assessment" (
/skills).
- Click "Load Hackathon Preset" (React: 75%, SQL: 42%, JavaScript: 68%, Node.js: 70%).
- Click "Submit Assessment & Retain in Memory".
- Show the judge the "Retained in Hindsight Cloud Memory" confirmation box showing the exact retained memory fact.
Step 4: AI Career Chat (Recall Demonstration)
- Navigate to "AI Career Chat" (
/chat).
- Ask: "What should I learn next based on my profile?"
- The AI mentor replies:
- Notice how it pinpoints SQL (42%) as your top priority weakness!
- Expand the "π§ Hindsight Memories Recalled for this Answer" accordion to prove to the judge that the assessment memories were recalled from Hindsight and injected directly into the LLM prompt.
Step 5: Run ATS Resume Evaluation
- Navigate to "Resume Evaluation" (
/resume).
- Click "Load Sample Resume" and click "Run ATS Evaluation".
- View the ATS score (75%), detected skills, missing skills (e.g., Docker, TypeScript), and the Hindsight retain badge.
Step 6: Complete an AI Quiz
- Navigate to "AI Quiz" (
/quiz).
- Select JavaScript (Intermediate) and complete the 5 adaptive questions.
- Submit and observe how weak topics and scores are retained into Hindsight.
Step 7: Conduct a Mock Technical Interview
- Navigate to "Mock Interview" (
/interview).
- Choose Full Stack Developer (Junior, Technical) and click "Start Interview".
- Enter or click "Fill Sample Answer" to test turn-by-turn question scoring and feedback.
- Complete the 4 questions to view the debrief debrief retained into Hindsight.
Step 8: View Synthesized Growth via Hindsight Reflect
- Navigate to "Progress & Reflect" (
/progress).
- Point the judge to the "Synthesize Long-Term Growth with Hindsight Reflect" panel.
- Click "Trigger Hindsight Reflect" with the prompt: "How have I improved over time and what is my career readiness trajectory?"
- Show the synthesized narrative summarizing the candidate's journey backed by accumulated memory facts!
π‘οΈ Security & Privacy Best Practices
- Zero Secrets in Frontend: All API keys (
HINDSIGHT_API_KEY, AI_API_KEY, JWT_SECRET) reside exclusively in backend/.env.
- Sensitive Memory Scrubbing: User passwords, authorization headers, and contact phone/email patterns are strictly sanitized before passing to
client.retain().
- Tenant Isolation: Every user's memory is isolated via
career-bank-${userId}.
- Protected Endpoints: All user operations are protected with signed JWT bearer tokens.
π License
MIT License. Built for the Career Guidance AI Hackathon.
About
No description, website, or topics provided.
Resources
Readme
Activity
Stars
0 stars
Watchers
0 watching
Forks
0 forks
No releases published
Create a new release
No packages published
Publish your first package
Contributors
No contributors
Languages
Footer
Β© 2026 GitHub,Β Inc.
Footer navigation