Command Palette

Search for a command to run...

Back to Projects
WebAI/MLSaaSStartup2025-01 — PresentActive Development

GenZCareer

AI-driven job search platform built for Gen Z professionals

Next.jsReactPythonJavaScriptAWSDocker

Overview

GenZCareer is an AI-driven platform that connects Gen Z job seekers with roles matching their skills and goals. I built the MVP from scratch in under 3 months.

The Problem

Gen Z faces unique challenges in the job market:

  • Information Overload: Hundreds of job boards with millions of listings
  • Skill Mismatch: Difficulty understanding which roles fit their skills
  • Resume Barriers: ATS systems reject qualified candidates
  • Generic Advice: One-size-fits-all career guidance doesn't work

Our Solution

An intelligent platform that:

  1. Aggregates Jobs: Scrapes listings from multiple sources
  2. Matches Intelligently: AI recommends roles based on profiles
  3. Builds Resumes: Creates ATS-friendly resumes
  4. Tracks Applications: Monitors application status

Key Features

AI-Powered Job Matching

from transformers import pipeline
from sklearn.metrics.pairwise import cosine_similarity
 
class JobMatcher:
    def __init__(self):
        self.encoder = pipeline("feature-extraction", 
                                model="sentence-transformers/all-MiniLM-L6-v2")
    
    def match_jobs(self, user_profile: str, jobs: list[Job]) -> list[Match]:
        profile_embedding = self.encode(user_profile)
        
        matches = []
        for job in jobs:
            job_embedding = self.encode(job.description)
            score = cosine_similarity(profile_embedding, job_embedding)[0][0]
            matches.append(Match(job=job, score=score))
        
        return sorted(matches, key=lambda m: m.score, reverse=True)

Smart Resume Builder

interface ResumeSection {
  type: 'experience' | 'education' | 'skills' | 'projects';
  content: string;
  keywords: string[];
}
 
async function generateATSResume(
  profile: UserProfile,
  targetJob: Job
): Promise<Resume> {
  const keywords = await extractKeywords(targetJob.description);
  
  const sections = await Promise.all([
    generateExperience(profile.experience, keywords),
    generateSkills(profile.skills, keywords),
    generateProjects(profile.projects, keywords),
  ]);
  
  return optimizeForATS(sections, keywords);
}

Job Aggregation Pipeline

from scrapy import Spider
from kafka import KafkaProducer
 
class JobSpider(Spider):
    name = 'job_aggregator'
    
    def parse(self, response):
        for job in response.css('.job-listing'):
            yield {
                'title': job.css('.title::text').get(),
                'company': job.css('.company::text').get(),
                'location': job.css('.location::text').get(),
                'description': job.css('.description').get(),
                'url': response.urljoin(job.css('a::attr(href)').get()),
            }

Architecture

┌─────────────────┐    ┌─────────────────┐
│   Next.js App   │───▶│   FastAPI       │
│   (Frontend)    │    │   (Backend)     │
└────────┬────────┘    └────────┬────────┘
         │                      │
         ▼                      ▼
┌─────────────────┐    ┌─────────────────┐
│   PostgreSQL    │    │   Redis Cache   │
│   (User Data)   │    │   (Sessions)    │
└─────────────────┘    └─────────────────┘
         │                      │
         └──────────┬───────────┘
                    ▼
         ┌─────────────────┐
         │   ML Pipeline   │
         │  (Job Matching) │
         └─────────────────┘

Tech Stack Highlights

LayerTechnologyWhy
FrontendNext.js 14Server components, fast navigation
BackendFastAPIHigh performance, async support
MLHuggingFacePre-trained models, easy fine-tuning
JobsScrapyRobust web scraping
QueueKafkaReliable job processing
DeployAWS + DockerScalable infrastructure

Roadmap

Launched ✅

  • Job aggregation from 10+ sources
  • AI-powered recommendations
  • Basic resume builder

In Progress 🚧

  • Application tracking
  • Interview preparation AI
  • Mobile app

Planned 📋

  • Recruiter platform
  • Skills assessment tests
  • Mentorship matching

Impact Goals

  • Help 10,000 Gen Z job seekers find employment
  • Reduce average job search time by 50%
  • Achieve 75% user satisfaction rate
  • Partner with 100+ companies for direct hiring

Key Metrics

Gen Z Job Seekers
Target Users
AI-powered matching
Performance
U.S. job market focus
Coverage