Application Tracker
A full-stack job search workspace for applications, interviews, follow-ups, history, and safer job-posting import.
Quick read
The project in a few seconds.
Per-user ownership
Access enforced on the server.
Interviews + follow-ups
Reminders and conflict checks.
Job URL prefill
Defensive server-side fetching.
Activity timeline
Status, notes, events, and résumés.
How it works
The project from input to outcome.
User
Authenticated account
Applications
Pipeline + ownership
Scheduling
Interviews + follow-ups
History
Events + résumé state
Import
Job posting extraction
My contribution
The pieces I directly worked on.
Built authenticated application tracking with per-user data ownership.
Added interview scheduling, follow-ups, activity history, and résumé version tracking.
Built a job-posting importer that can prefill application data from a URL.
Added server-side protections for external URL fetching, including SSRF-focused safeguards.
Designed responsive desktop and mobile views for managing applications.
Deployed the app with Vercel, Neon PostgreSQL, and Clerk.
Engineering proof
A few decisions that show what was happening under the surface.
Decision 01
Enforced record ownership on the server instead of trusting a browser-provided user ID.
Decision 02
Stored historical résumé names directly on applications so old records remain accurate if settings change later.
Decision 03
Kept interviews and follow-ups attached to applications instead of turning the project into a separate calendar system.
Results
The proof that the build came together.
Built and deployed a working multi-user job application management app.
Added authenticated CRUD workflows with server-enforced ownership.
Created interview, follow-up, and activity-history workflows around each application.
Built a defensive job-posting import flow with manual fallback.
Product
See the work instead of only reading about it.

Landing page introducing the application tracking workflow.

Dashboard showing active applications, interviews, follow-ups, offers, and recent activity.

Application form for storing job details, compensation, source, résumé version, and follow-up information.

Settings page for managing personalized résumé versions.
Deep dive
Optional technical detail if you want to go deeper.