Job Tracker
Job Tracker is a modern, self-hosted web application designed to help job seekers stay organised, focused, and in control of their application process. Built with a React frontend and an ASP.NET Core API, it provides a fast and responsive experience while keeping your data private and fully under your control.
Whether you are applying to a handful of roles or managing dozens of opportunities, Job Tracker turns a messy spreadsheet process into a structured workflow.
Why I Built It
Many job seekers rely on spreadsheets, notes apps, or scattered emails to manage applications. That quickly becomes difficult to maintain.
I built Job Tracker to solve common frustrations:
- Forgetting when to follow up
- Losing track of recruiter conversations
- Not knowing which companies replied
- Managing multiple CV versions and documents
- Seeing no clear progress over time
The goal was to create a tool that feels professional, lightweight, and genuinely useful during a job search.
Key Features
Application Management
Track every application in one place with rich details such as:
- Status (Applied, Interview, Offer, Rejected, Ghosted, etc.)
- Date applied
- Salary expectations
- Notes
- Tags
- Links to job adverts
- Follow-up dates
- Deadlines
Smart Dashboard
A clean analytics dashboard helps you understand your progress instantly.
See:
- Active applications
- New applications in the last 30 days
- Average time to first response
- Responses logged
- Conversion funnel by stage
- Most common skills across roles
- Application trends over time
This turns your job search into measurable progress.
Follow-Ups & Reminders
Never lose momentum.
The reminder system highlights roles that need attention using configurable rules, such as:
- No reply after X days
- Follow-up date due
- Missing tailored CV
- Interview preparation needed
- Stalled opportunities
Company CRM
Manage companies as well as jobs.
Store:
- Company location
- Source platform
- Recruiter names
- Contact details
- Last contact date
- Next contact date
- Pipeline stage
Correspondence Tracking
Keep all communication linked to each application:
- Emails
- LinkedIn messages
- Recruiter notes
- Call summaries
- Interview updates
Attachments & Documents
Upload and manage files per application:
- CVs
- Cover letters
- Portfolios
- Notes
- Job descriptions
Includes rename, download, and delete support.
Import Jobs from URLs
Paste supported job advert links and generate a preview to quickly create entries instead of typing everything manually.
Optional AI Features
Supports a local AI service for:
- Short summaries
- Full role descriptions
- CV block classification
- Future smart automation ideas
Designed to work locally for privacy-conscious users.
Technical Overview
Frontend
- React
- Responsive UI
- Dark modern interface
- Fast filtering and search
Backend
- ASP.NET Core (.NET 9)
- REST API
- EF Core
- Background jobs
Data
- SQLite by default
- Export to JSON / CSV
- Daily automated backups
Deployment
Runs locally or in Docker using separate containers for:
- Frontend
- API
- Optional AI service
- Optional Ollama integration
Why Self-Hosted?
Unlike SaaS tools, Job Tracker gives you:
- Full ownership of your data
- No subscriptions
- No third-party lock-in
- Local deployment
- Easy backups
- Customisable features
Built as a Real Product
This project demonstrates full-stack engineering across:
- Product design
- Frontend development
- Backend APIs
- Authentication
- Database design
- Docker deployment
- Background processing
- UI/UX decisions
- Performance optimisation
- Feature planning
Future Roadmap
Planned improvements include:
- OpenAPI documentation
- Multi-user support
- Improve CV tailoring workflows
- Improve Gmail integration
- Job market analytics
Summary
Job Tracker is more than a portfolio project — it is a real productivity tool built to solve a genuine problem with practical engineering decisions, scalable architecture, and a polished user experience.
