Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

247 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—‚οΈ HireTrack β€” Career Management Platform

A premium full-stack, private workspace to track job applications, referrals, resumes, cover letters, and career progress β€” built for serious job seekers.

Django React Vite TailwindCSS Python License


πŸ“Œ Table of Contents


🌟 Overview

HireTrack is a production-grade, full-stack web application designed to replace messy spreadsheets and scattered notes with a clean, centralized career management workspace.

Every job application, referral outreach, resume version, cover letter, follow-up deadline, and career milestone lives in one private, authenticated workspace β€” visible only to the logged-in user.

The platform combines practical job-search tooling with AI-powered features (ATS resume analysis, cover letter generation, career roadmap planning) wrapped in a stunning, modern "Dark Nebula" UI theme with fluid animations.


πŸš€ New Features (Latest Updates)

Over the recent development iterations, HireTrack has evolved significantly to provide a premium user experience:

  • Dark Nebula Theme & Aesthetics: Completely redesigned frontend UI featuring a highly-polished dark mode, vibrant neon green accents (#c4fc70), glassmorphism effects, glowing active borders, and smooth framer-motion page transitions.
  • Interactive Visual Pipeline: A dynamic flowchart view for Job Applications and Referrals showing real-time statistics and interactive progression stages (e.g., Applied β†’ Phone Screen β†’ Interview β†’ Offer).
  • Scribble Feature (Visual Cards): A beautifully simulated cursive handwriting animation tool that tracks realistic job search "scribbles" (like follow-ups and mock interviews) stroke-by-stroke on a transparent canvas.
  • AI Career Roadmap Builder: Generates dynamic, step-by-step career progression nodes based on your current profile, complete with interactive UI cards.
  • Enhanced Landing Page: Redesigned marketing landing page with floating 3D elements, feature highlights, and interactive component previews.

✨ Features

✍️ Scribble Feature (Live Job Tracker Notes)

  • An animated, stroke-by-stroke cursive handwriting showcase built directly into the UI.
  • Simulates realistic job search notes (e.g., Applied to 10 jobs today, Update resume for Frontend role, Prepare for system design).
  • Uses framer-motion and custom SVG masking to mimic a real pencil tracing over the screen.

πŸ” Authentication & Privacy

  • Session-based authentication with Django's built-in auth system
  • Full workspace isolation β€” each user sees only their own data
  • Login, Signup, Logout, and password change support
  • Profile management with photo upload

πŸ“‹ Job Application Tracker

  • Log applications with: company, role, job ID, platform, salary range, status, notes, follow-up date
  • Attach resume and cover letter files per application
  • Filter, search, and sort applications
  • Star/favourite important applications
  • Status tracking: Applied β†’ Pending β†’ Selected β†’ Rejected
  • Inline editing from the list view

🀝 Referral Manager

  • Track referral outreach with contact name, company, email, LinkedIn URL
  • Status tracking: Pending β†’ Replied β†’ No Response
  • Follow-up date reminders and starred referrals
  • Inline editing and deletion

πŸ“Š Dashboard Analytics & Pipelines

  • Pipeline Stream: Visual pipeline overview showing live application drop-off rates and referral engagement metrics.
  • Streak tracker β€” consecutive daily activity monitoring
  • Follow-up alerts β€” items due soon surfaced automatically
  • Real-time stats across the entire workspace

πŸ”” Notifications System

  • Smart notifications for follow-up deadlines, status changes, and milestones
  • Unread indicator in the header
  • Mark-as-read with localStorage persistence

⭐ Starred Items

  • Unified starred view across both jobs and referrals
  • Quick-access to high-priority opportunities

🧠 AI-Powered Tools

ATS Resume Analyzer

  • Upload a resume (PDF) + paste a job description
  • AI extracts keywords from the JD and compares against resume content
  • Returns a match score, missing keywords, and actionable suggestions
  • Built with pypdf for PDF parsing + external LLM API (Groq (Llama 3))

Cover Letter Generator

  • Input resume details and job description
  • AI generates a structured, professional cover letter
  • Option to download as PDF (xhtml2pdf)

Career Roadmap

  • Input your degree, target role, experience level, and country
  • AI returns a personalized multi-step career plan
  • Roadmap displayed as an animated visual step-by-step timeline using framer-motion

πŸ—„οΈ Career Vault

  • Centralized view of all uploaded documents
  • Resume and cover letter files linked to each job application
  • Download documents directly from the vault

πŸ† Streak Tracker

  • Tracks consecutive days of job-search activity
  • Visual flame indicator in the header
  • Motivates daily progress

πŸ‘€ Profile System

  • Full profile with education (multiple entries), experience (multiple entries), skills
  • Profile photo upload
  • Used as context for AI-generated content (cover letters, roadmap)

🌐 Browser Extension

  • Floating Action Menu (FAM) β€” installable Chrome extension
  • Add job applications and referrals directly from any job portal (LinkedIn, Indeed, etc.)
  • Without leaving the job listing page

πŸ› οΈ Tech Stack

Backend

Technology Version Purpose
Python 3.11+ Core language
Django 5.2 Web framework, ORM, auth
Django CORS Headers 4.9 Cross-origin request handling
Gunicorn 23.0 WSGI production server
WhiteNoise 6.9 Static file serving
Pillow 12.2 Image/profile photo processing
pypdf 6.10 PDF resume parsing
xhtml2pdf 0.2 PDF cover letter generation
python-dotenv 1.0 Environment variable management
dj-database-url 2.3 Database URL config for deployment
requests 2.32 External AI API calls

Frontend

Technology Version Purpose
React 19 UI component framework
Vite 6 Build tool and dev server
Tailwind CSS 3 Utility-first styling
Framer Motion latest Complex animations, page transitions, visual cards
Lucide React latest Icon library
React Router DOM 7 Client-side routing
Vanilla CSS β€” Custom glassmorphism, animations, Dark Nebula theme tokens

Database

Environment Database
Development SQLite3
Production PostgreSQL (via dj-database-url)

πŸ“ Project Structure

hiretrack/
β”œβ”€β”€ manage.py                    # Django entry point
β”œβ”€β”€ requirements.txt             # Python dependencies
β”œβ”€β”€ db.sqlite3                   # Dev database
β”œβ”€β”€ .gitignore
β”‚
β”œβ”€β”€ config/                      # Django project config
β”‚   β”œβ”€β”€ settings.py
β”‚   β”œβ”€β”€ urls.py
β”‚   └── wsgi.py
β”‚
β”œβ”€β”€ tracker/                     # Main Django app
β”‚   β”œβ”€β”€ models.py                # Job, Referral, Profile, Education, Experience
β”‚   β”œβ”€β”€ views.py                 # All API views (60+ endpoints)
β”‚   β”œβ”€β”€ urls.py                  # URL routing
β”‚   β”œβ”€β”€ career_roadmap_view.py   # Career roadmap AI endpoint
β”‚   β”œβ”€β”€ utils_pdf.py             # PDF generation utilities
β”‚   β”œβ”€β”€ forms.py                 # Django forms
β”‚   β”œβ”€β”€ admin.py                 # Django admin registration
β”‚   └── tests.py                 # Unit tests
β”‚
β”œβ”€β”€ media/                       # Uploaded files (resumes, profile pics)
β”œβ”€β”€ resumes/                     # Resume file storage
β”œβ”€β”€ profiles/                    # Profile image storage
β”‚
β”œβ”€β”€ hiretrack-extension/         # Chrome browser extension
β”‚   β”œβ”€β”€ manifest.json
β”‚   β”œβ”€β”€ popup.html
β”‚   β”œβ”€β”€ popup.js
β”‚   └── content.js
β”‚
└── frontend/                    # React frontend (Vite)
    β”œβ”€β”€ index.html
    β”œβ”€β”€ vite.config.js
    β”œβ”€β”€ tailwind.config.js
    β”œβ”€β”€ package.json
    └── src/
        β”œβ”€β”€ main.jsx             # React entry point
        β”œβ”€β”€ App.jsx              # Router + route definitions
        β”œβ”€β”€ api.js               # API base URL helper
        β”œβ”€β”€ index.css            # Global styles + Dark Nebula theme
        β”‚
        β”œβ”€β”€ Home.jsx             # Landing page
        β”œβ”€β”€ Header.jsx           # Sticky navigation header
        β”œβ”€β”€ Sidebar.jsx          # Slide-out user sidebar
        β”‚
        β”œβ”€β”€ Login.jsx            # Login page
        β”œβ”€β”€ Signup.jsx           # Registration page
        β”‚
        β”œβ”€β”€ Dashboard.jsx        # Analytics dashboard
        β”œβ”€β”€ AddJobPage.jsx       # Add job form
        β”œβ”€β”€ JobsPage.jsx         # Job list with search/filter/edit
        β”œβ”€β”€ AddReferralPage.jsx  # Add referral form
        β”œβ”€β”€ ViewReferrals.jsx    # Referral list
        β”œβ”€β”€ StarredPage.jsx      # Starred jobs + referrals
        β”œβ”€β”€ NotificationsPage.jsx # Notification center
        β”‚
        β”œβ”€β”€ ProfilePage.jsx      # View profile
        β”œβ”€β”€ EditProfilePage.jsx  # Edit profile, education, experience
        β”œβ”€β”€ SettingsPage.jsx     # Password change, preferences
        β”‚
        β”œβ”€β”€ ResumeAnalyzerPage.jsx  # ATS analyzer UI
        β”œβ”€β”€ CoverLetterPage.jsx     # Cover letter generator UI
        β”œβ”€β”€ CareerRoadmapPage.jsx   # Career roadmap UI
        β”œβ”€β”€ CareerVault.jsx         # Document vault
        β”œβ”€β”€ StreakPage.jsx          # Streak tracker
        β”œβ”€β”€ ExtensionFormPage.jsx   # Extension form handler
        β”‚
        └── components/
            β”œβ”€β”€ Avatar.jsx            # Profile avatar component
            β”œβ”€β”€ ReferralForm.jsx      # Reusable referral form
            β”œβ”€β”€ PipelineStream.jsx    # Interactive Flowchart visualizations
            β”œβ”€β”€ VisualCards.jsx       # Chalkboard handwriting showcase
            └── ...

πŸ—ƒοΈ Database Models

Job

Field Type Description
user ForeignKey(User) Owner β€” workspace isolation
company CharField Company name
role CharField Job title/role
job_id CharField Job posting ID
platform CharField LinkedIn, Indeed, etc.
salary_range CharField Expected salary
job_description TextField Full JD text
resume_file FileField Attached resume
cover_letter_file FileField Attached cover letter
status CharField applied / pending / selected / rejected
notes TextField Personal notes
follow_up_date DateField Reminder date
is_starred BooleanField Starred flag
date_applied DateField Application date

Referral

Field Type Description
user ForeignKey(User) Owner
person_name CharField Contact person name
company CharField Target company
email EmailField Contact email
linkedin URLField LinkedIn profile
status CharField pending / replied / no_response
notes TextField Notes
follow_up_date DateField Follow-up reminder
is_starred BooleanField Starred flag
date DateField Date of outreach

Profile

Stores user bio, contact info, single education/experience entry, skills, resume file, and profile photo. Linked 1-to-1 with Django User.

Education

Multiple education entries per user β€” college, course, start/end year.

Experience

Multiple work experience entries per user β€” company, role, start/end date, description.


πŸ”Œ API Endpoints

Authentication

Method Endpoint Description
GET /api/auth/status/ Check login status + user info
POST /api/auth/logout/ Log out current user

Jobs

Method Endpoint Description
POST /api/add-job/ Create a new job application
GET /api/jobs/ List all jobs for current user
PATCH /api/job/update/<id>/ Update job fields
DELETE /api/job/delete/<id>/ Delete a job
POST /api/job/star/<id>/ Toggle star on a job
GET /api/job/document/<id>/<kind>/ Download resume or cover letter

Referrals

Method Endpoint Description
POST /api/add-referral/ Create a new referral
GET /api/referrals/ List all referrals
PATCH /api/referral/update/<id>/ Update referral fields
DELETE /api/referral/delete/<id>/ Delete a referral
POST /api/referral/star/<id>/ Toggle star on a referral

Dashboard & Misc

Method Endpoint Description
GET /api/dashboard/ Aggregated stats for dashboard
GET /api/starred/ All starred jobs and referrals
GET /api/notifications/ All notifications for user
GET /api/streaks/ Streak data

Profile

Method Endpoint Description
GET /api/profile/ Get current user profile
POST /api/profile/update/ Update profile fields
POST /api/change-password/ Change account password

AI Tools

Method Endpoint Description
POST /api/resume-analyze/ ATS resume analysis
POST /api/generate-cover-letter/ AI cover letter generation
POST /api/generate-cover-letter-pdf/ Download cover letter as PDF
POST /api/career-roadmap/ AI career roadmap generation
GET /api/career-vault/ List all uploaded documents

πŸš€ Getting Started

Prerequisites

  • Python 3.11+
  • Node.js 18+
  • npm or yarn
  • Git

1. Clone the Repository

git clone https://github.com/your-username/hiretrack.git
cd hiretrack

2. Backend Setup

# Create and activate virtual environment
python -m venv venv

# Windows
venv\Scripts\activate

# macOS / Linux
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

3. Configure Environment Variables

Create a .env file in the root directory:

SECRET_KEY=your-django-secret-key
DEBUG=True
ALLOWED_HOSTS=localhost,127.0.0.1
DATABASE_URL=sqlite:///db.sqlite3

# AI API key (for resume analyzer, cover letter, career roadmap)
GROQ_API_KEY=your-api-key-here

# CORS
CORS_ALLOWED_ORIGINS=http://localhost:5173

4. Run Database Migrations

python manage.py makemigrations
python manage.py migrate

5. Create a Superuser (Optional)

python manage.py createsuperuser

6. Frontend Setup

cd frontend
npm install

▢️ Running the App

Start Backend (Django)

# From project root
python manage.py runserver
# Runs at http://127.0.0.1:8000

Start Frontend (React + Vite)

# From /frontend directory
npm run dev
# Runs at http://localhost:5173

Both servers need to run simultaneously during development.

Build Frontend for Production

cd frontend
npm run build

The built files will be in frontend/dist/ β€” serve them with WhiteNoise or a CDN.


πŸ”‘ Environment Variables

Variable Required Description
SECRET_KEY βœ… Django secret key
DEBUG βœ… True for dev, False for prod
ALLOWED_HOSTS βœ… Comma-separated allowed hosts
DATABASE_URL βœ… Database connection string
GROQ_API_KEY βœ… Groq (Llama 3) API key for AI features
CORS_ALLOWED_ORIGINS βœ… Frontend URL for CORS

🧩 Browser Extension

The hiretrack-extension/ folder contains a Chrome-compatible browser extension.

Install Locally

  1. Open Chrome and go to chrome://extensions/
  2. Enable Developer Mode (top right)
  3. Click Load unpacked
  4. Select the hiretrack-extension/ folder

Features

  • Floating Action Menu on any job portal page
  • Click to open a quick-add form for jobs or referrals
  • Data syncs directly to your HireTrack workspace

🌍 Deployment

Recommended Stack

  • Backend: Render / Railway / Heroku (with Gunicorn)
  • Frontend: Vercel / Netlify (static build)
  • Database: PostgreSQL (Render DB / Supabase)
  • Media Files: Cloudinary or AWS S3

Production Checklist

  • Set DEBUG=False
  • Set a strong SECRET_KEY
  • Configure ALLOWED_HOSTS with your domain
  • Set DATABASE_URL to PostgreSQL connection string
  • Set GROQ_API_KEY
  • Run python manage.py collectstatic
  • Build frontend with npm run build
  • Configure CORS to allow your frontend domain

Example Procfile (for Render/Heroku)

web: gunicorn config.wsgi:application

πŸ§ͺ Running Tests

# From project root, with venv activated
python manage.py test tracker

πŸ“Š Project Stats

Metric Value
Backend API Endpoints 30+
Integrated Feature Modules 8
Database Models 5 (Job, Referral, Profile, Education, Experience)
Frontend Pages/Components 28+
AI-Powered Features 3 (ATS Analyzer, Cover Letter, Career Roadmap)
Lines of Code 6,500+

🀝 Contributing

This is a personal project. Feel free to fork it and build your own version.

  1. Fork the repo
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m 'Add your feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License.


πŸ‘€ Author

Shinu Cherian


Built with ❀️ for serious job seekers. Track smarter. Apply faster. Get hired.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages