Job Tracker AI
API Usage
curl -X POST http://localhost:3000/auth/register -H "Content-Type: application/json" -H "X-Requested-With: curl" -d '{"email":"user@example.com","password":"securepass123"}'curl -X POST http://localhost:3000/auth/login -H "Content-Type: application/json" -H "X-Requested-With: curl" -c cookies.txt -d '{"email":"user@example.com","password":"securepass123"}'curl -X POST http://localhost:3000/jobs -H "Content-Type: application/json" -H "X-Requested-With: curl" -b cookies.txt -d '{"rawDescription":"Senior React Engineer at Acme Corp. NYC. $180-220k. Requirements: 5+ years React, TypeScript, GraphQL."}'curl http://localhost:3000/jobs -H "X-Requested-With: curl" -b cookies.txtcurl http://localhost:3000/healthI built this as an API-first job application management system that leverages Claude to automatically extract structured data from raw job descriptions. Paste in a job posting and the AI extracts the title, company, location, requirements, tech stack, and salary range, validated against a Zod schema with automatic retry logic.
The system also scores how well each job fits against a stored resume profile, producing a 0 to 100 fit score with an explanation. Analyzed descriptions are cached in-memory using SHA-256 hashing to avoid reprocessing duplicates.
As an API-only project, it demonstrates backend architecture patterns: Express 5 with TypeScript, PostgreSQL with node-pg-migrate, cookie-based session auth with bcrypt, CSRF protection, rate limiting, structured logging with Pino, and comprehensive integration tests with Vitest.