Skip to content

quenros/techfest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SkillSprint

Know your gap. Close it fast.

alt text

A unified career platform that transforms scattered job data into personalized, time-bound learning plans.


Inspiration

We've all been there—scrolling through job listings as fresh graduates, staring at endless skill requirements, and feeling completely overwhelmed. Python, SQL, Tableau, Power BI, 2+ years experience... Where do you even start?

The frustrating part? The information exists. MyCareersFuture lists jobs. Glassdoor shows salaries. SkillsFuture offers subsidized courses. But it's all fragmented. There's no single place that connects what jobs need, what you already have, and how to bridge the gap.

We wanted to build something that doesn't just show the problem—it solves it.


What It Does

SkillSprint is a unified career platform that transforms scattered job data into personalized, time-bound learning plans.

Our key innovation is the Time-to-Ready Calculator. Most platforms tell you what skills you need. SkillSprint tells you how long it'll take and exactly what to do, week by week.

Core Features

Feature Description
Smart Resume Parsing Upload your resume and we extract your skills automatically
Job Explorer with Skill Matching Aggregated jobs from multiple sources with color-coded skill gaps (green = have, red = missing)
Sprint Planner AI-generated week-by-week learning roadmaps with curated resources, including SkillsFuture-subsidized courses
Application Tracker Kanban board to manage your job search pipeline from Saved → Applied → Interviewing → Offer

Tech Stack

Layer Technology Reason
Frontend React + Vite Fast development, modern tooling
UI MUI Rapid prototyping
State Zustand Lightweight state management
Backend FastAPI High-performance Python API
Database Supabase (PostgreSQL) Auth, DB, real-time capabilities

How We Built It

We followed a clean architecture approach—separating data models (Pydantic schemas), business logic (service classes), and API endpoints (FastAPI routers). Our database design includes row-level security policies, performance indexes, and helper functions for skill-matching calculations.

For data, we aggregated job listings from multiple sources and built a normalized skill taxonomy to handle inconsistent naming across platforms.


Challenges We Ran Into

Data quality was brutal. Our job dataset had missing values across location, employment type, salary, and requirements fields. We spent significant time building rule-based cleaning pipelines to extract meaningful information from unstructured job descriptions.

Skill taxonomy normalization. "Python" vs "Python 3" vs "Python Programming"—different sources name skills differently. We had to create a standardized mapping to make skill-matching actually work.

Scope management under time pressure. With only one day, we had to ruthlessly prioritize. The Sprint Planner was our differentiator, so we protected that scope and cut bonus features when needed.


Accomplishments We're Proud Of

  • The Time-to-Ready Calculator actually works. Seeing a concrete "4 weeks to job-ready" instead of vague advice feels genuinely empowering.
  • End-to-end flow. From resume upload → skill extraction → job matching → learning sprint → application tracking. It's a complete journey.
  • Clean architecture. Despite hackathon time pressure, we built maintainable code with proper separation of concerns—over 30 Pydantic models and comprehensive API endpoints.
  • Singapore-specific value. Integration with SkillsFuture subsidized courses makes this genuinely useful for local job seekers.

What We Learned

  • Data preparation is half the battle. We underestimated how much time cleaning and normalizing job data would take. Garbage in, garbage out.
  • Prioritization is survival. In a one-day hackathon, saying "no" to features is just as important as building them.
  • Clean architecture pays off. Even under time pressure, proper separation of concerns made debugging and iteration much faster.

What's Next for SkillSprint

  • Expand data sources — Add more job boards and real-time API integrations
  • Smarter sprint generation — Use ML to personalize learning paths based on learning pace and style
  • Community features — Let users share successful learning sprints and course reviews
  • Mobile app — Job searching happens everywhere; we should too
  • Employer partnerships — Connect companies directly with candidates who've completed relevant sprints

Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.8+
  • Docker and Docker Compose (optional)

Frontend Setup

cd frontend
npm install
npm run dev

Backend Setup

Mac/Linux

# Navigate to backend
cd backend

# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Create .env file with required variables
cat << EOF > .env
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
SUPABASE_SERVICE_KEY=your_supabase_service_key
GEMINI_API_KEY=your_gemini_api_key
DEBUG=True
EOF

# Run development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Windows

# Navigate to backend
cd backend

# Create and activate virtual environment
python -m venv .venv
.venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Create .env file with required variables (create manually):
# SUPABASE_URL=your_supabase_url
# SUPABASE_KEY=your_supabase_key
# SUPABASE_SERVICE_KEY=your_supabase_service_key
# GEMINI_API_KEY=your_gemini_api_key
# DEBUG=True

# Run development server
uvicorn main:app --reload --host 0.0.0.0 --port 8000

Docker Setup

# Start containers
docker-compose up -d

# View logs
docker-compose logs -f

# Stop containers
docker-compose down

# Rebuild after changes
docker-compose up -d --build

API Documentation

Once the backend is running:

Endpoint URL
Health Check http://localhost:8000/health
Swagger UI http://localhost:8000/docs
ReDoc http://localhost:8000/redoc

Project Structure

.
├── frontend/
│   ├── src/
│   │   ├── components/      # React components
│   │   ├── pages/           # Page components
│   │   ├── stores/          # Zustand state stores
│   │   └── utils/           # Utility functions
│   └── package.json
│
├── backend/
│   ├── app/
│   │   ├── models/          # Pydantic data models
│   │   ├── services/        # Business logic
│   │   ├── routers/         # FastAPI route handlers
│   │   └── main.py          # Application entry point
│   ├── requirements.txt
│   └── Dockerfile
│
├── docker-compose.yml
└── README.md

Team

Team SkillSprint | TechFest 2026


License

This project was built for TechFest 2026 Hackathon.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors