A premium full-stack, private workspace to track job applications, referrals, resumes, cover letters, and career progress β built for serious job seekers.
- Overview
- New Features (Latest Updates)
- Features
- Tech Stack
- Project Structure
- Database Models
- API Endpoints
- Getting Started
- Environment Variables
- Running the App
- Browser Extension
- Deployment
- Author
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.
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 smoothframer-motionpage 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.
- 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-motionand custom SVG masking to mimic a real pencil tracing over the screen.
- 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
- 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
- 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
- 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
- Smart notifications for follow-up deadlines, status changes, and milestones
- Unread indicator in the header
- Mark-as-read with localStorage persistence
- Unified starred view across both jobs and referrals
- Quick-access to high-priority opportunities
- 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
pypdffor PDF parsing + external LLM API (Groq (Llama 3))
- Input resume details and job description
- AI generates a structured, professional cover letter
- Option to download as PDF (
xhtml2pdf)
- 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
- Centralized view of all uploaded documents
- Resume and cover letter files linked to each job application
- Download documents directly from the vault
- Tracks consecutive days of job-search activity
- Visual flame indicator in the header
- Motivates daily progress
- Full profile with education (multiple entries), experience (multiple entries), skills
- Profile photo upload
- Used as context for AI-generated content (cover letters, roadmap)
- 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
| 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 |
| 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 |
| Environment | Database |
|---|---|
| Development | SQLite3 |
| Production | PostgreSQL (via dj-database-url) |
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
βββ ...
| 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 |
| 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 |
Stores user bio, contact info, single education/experience entry, skills, resume file, and profile photo. Linked 1-to-1 with Django User.
Multiple education entries per user β college, course, start/end year.
Multiple work experience entries per user β company, role, start/end date, description.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/auth/status/ |
Check login status + user info |
| POST | /api/auth/logout/ |
Log out current user |
| 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 |
| 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 |
| 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 |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/profile/ |
Get current user profile |
| POST | /api/profile/update/ |
Update profile fields |
| POST | /api/change-password/ |
Change account password |
| 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 |
- Python 3.11+
- Node.js 18+
- npm or yarn
- Git
git clone https://github.com/your-username/hiretrack.git
cd hiretrack# 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.txtCreate 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:5173python manage.py makemigrations
python manage.py migratepython manage.py createsuperusercd frontend
npm install# From project root
python manage.py runserver
# Runs at http://127.0.0.1:8000# From /frontend directory
npm run dev
# Runs at http://localhost:5173Both servers need to run simultaneously during development.
cd frontend
npm run buildThe built files will be in frontend/dist/ β serve them with WhiteNoise or a CDN.
| 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 |
The hiretrack-extension/ folder contains a Chrome-compatible browser extension.
- Open Chrome and go to
chrome://extensions/ - Enable Developer Mode (top right)
- Click Load unpacked
- Select the
hiretrack-extension/folder
- 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
- Backend: Render / Railway / Heroku (with Gunicorn)
- Frontend: Vercel / Netlify (static build)
- Database: PostgreSQL (Render DB / Supabase)
- Media Files: Cloudinary or AWS S3
- Set
DEBUG=False - Set a strong
SECRET_KEY - Configure
ALLOWED_HOSTSwith your domain - Set
DATABASE_URLto 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
web: gunicorn config.wsgi:application
# From project root, with venv activated
python manage.py test tracker| 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+ |
This is a personal project. Feel free to fork it and build your own version.
- Fork the repo
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'Add your feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
This project is licensed under the MIT License.
Shinu Cherian
- GitHub: @Shinu-Cherian
- Project: HireTrack