← Back to Projects

Project Detail

Job Tracker

A personal job application tracker to manage applications, deadlines, and follow-up status in one place.

Full StackPersonal ToolProductivity
Completed locallyBuilt as a personal productivity tool for internship tracking

The Problem

Internship and job applications across different platforms can become hard to track. I wanted one place to record where I applied, the role, current status, follow-up dates, and notes so I would not lose track during the application process.

What I Built

A full-stack job application tracker that lets users add, view, edit, and delete job applications. The app supports status filtering, application detail views, notes, follow-up dates, and summary counts by status.

Screenshots & Artifacts

Job Tracker dashboard showing application metrics and recent activity
Dashboard overview with application metrics.
Job Tracker form for adding or editing a job application
Application form for adding or editing job applications.
Job Tracker board view grouping applications by status
Board view grouped by application status.
Job Tracker follow-up command center showing overdue and upcoming follow-ups
Follow-up command center for tracking next actions.
Job Tracker application detail page showing notes and follow-up information
Application detail page with notes and follow-up tracking.

Tech Stack

Next.jsReactTypeScriptTailwind CSSFastAPIPythonSQLAlchemySQLitePostgreSQL planned

Decisions I Made

1

Kept Phase 1 focused on core application tracking instead of building a full job board or adding authentication too early.

2

Used clear status categories so application progress can be scanned quickly.

3

Separated the frontend, backend API, database model, and CRUD logic so future features are easier to add.

4

Used SQLite for local personal use while keeping the backend configurable for PostgreSQL through a DATABASE_URL.

What I Learned

1

Built a full CRUD flow across a Next.js frontend and FastAPI backend.

2

Modelled application data with SQLAlchemy and Pydantic.

3

Managed form state in React for creating and editing applications.

4

Handled filtering through query parameters.

5

Connected a Next.js frontend to a FastAPI backend.

6

Learned practical deployment concerns including environment variables, CORS, local databases, and production build issues.

View GitHub Repository ↗