Skip to content

Henry-Skeels/claude-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

66 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pathfinder - Career Path Explorer

An AI-powered interactive tool that generates a branching career tree from your profile and lets you explore it with a conversational AI assistant.

What It Does

Enter your degree, skills, interests, and priorities. The AI generates a personalised career tree showing domains, roles, and specialisations you might not have considered. Click any node to:

  • Expand branches — discover deeper roles and specialisations
  • View role details — responsibilities, key skills, career progression, example employers
  • Analyse skill gaps — see which of your skills match and which you'd need to develop
  • Chat with the AI — ask follow-up questions grounded in your profile and the role you're viewing

Architecture

┌─────────────┐     ┌─────────────────┐     ┌──────────────┐
│   React SPA  │────▶│  FastAPI Backend │────▶│  Claude API  │
│  + React Flow│◀────│  + Pydantic      │◀────│  (Sonnet 4)  │
└─────────────┘     └─────────────────┘     └──────────────┘
  • Frontend — React + TypeScript, React Flow + Dagre for tree visualisation
  • Backend — Python FastAPI, structured prompts, JSON response parsing
  • AI — Claude API for tree generation, node details, skill gap analysis, and chat

Getting Started

Prerequisites

Backend

cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env and add your ANTHROPIC_API_KEY
uvicorn main:app --reload

The API runs at http://localhost:8000. Check http://localhost:8000/docs for the interactive Swagger UI.

Frontend

cd frontend
npm install
npm run dev

Opens at http://localhost:5173.

API Endpoints

Method Endpoint Description
GET /health Health check
POST /api/generate-tree Generate career tree from profile
POST /api/expand-node Expand a node with deeper branches
POST /api/node-details Get detailed role information
POST /api/skill-gap Analyse skill gaps for a role
POST /api/chat Conversational career assistant

Tech Stack

Layer Technology
Frontend React 19, TypeScript, React Flow, Dagre
Backend Python, FastAPI, Pydantic
AI Claude API (Sonnet 4) via Anthropic SDK
Build Vite (frontend), Uvicorn (backend)

Project Structure

├── backend/
│   ├── main.py              # FastAPI routes
│   ├── models.py            # Pydantic data models
│   └── services/
│       ├── claude_client.py  # Shared Anthropic SDK wrapper
│       ├── tree_service.py   # Career tree generation
│       ├── expand_service.py # Node expansion
│       ├── node_service.py   # Node details + skill gap
│       └── chat_service.py   # Conversational assistant
├── frontend/
│   └── src/
│       ├── App.tsx           # Main app + state management
│       ├── api.ts            # API client
│       ├── types.ts          # TypeScript interfaces
│       └── components/
│           ├── ProfileForm.tsx
│           ├── CareerTreeView.tsx
│           ├── NodePanel.tsx
│           ├── SkillGapPanel.tsx
│           └── ChatPanel.tsx
├── project.md               # Full specification
└── ARCHITECTURE.md           # Architecture reference

pathfinder1 pathfinder4 pathfinder3 pathfinder2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors