Overview
Solo personal project: a SaaS job application tracker with drag-and-drop kanban board, AI-powered document analysis, and an analytics dashboard. Built to replace spreadsheet-based job search tracking with a visual pipeline, structured document management, and AI-assisted resume matching.
Challenge
Existing job tracking tools were either too simple (spreadsheets with no visual pipeline) or lacked document intelligence. Manually comparing resumes against job descriptions is tedious and inconsistent. Wanted a kanban-style tracker with proper document parsing (PDF and Word), AI-powered compatibility scoring, and analytics to spot patterns in application outcomes.
Approach
Built on Next.js 16 with PostgreSQL and Drizzle ORM for type-safe database access. Used @dnd-kit for a drag-and-drop kanban board where each column represents a pipeline stage. Integrated pdf-parse and mammoth for extracting text from PDF and Word documents respectively, feeding parsed content into dual AI providers (Mistral and OpenAI via Vercel AI SDK) for compatibility analysis. Added Recharts for an analytics dashboard visualizing application outcomes over time. Set up dual billing scaffolding with Stripe and Polar.
Tech Stack
| Layer | Technology |
|---|---|
| Framework | Next.js 16 |
| UI Library | React 19 |
| Language | TypeScript |
| Database | PostgreSQL + Drizzle ORM |
| Cache | Redis |
| Billing | Stripe + Polar |
| AI | AI SDK (Mistral + OpenAI) |
| Kanban | @dnd-kit |
| Charts | Recharts |
| Testing | Vitest, Playwright |
| DevOps | Docker, GitHub Actions |
Key Implementation Details
- Drag-and-drop kanban board for tracking applications across custom status pipelines with full status history
- Document parsing for PDF (via pdf-parse) and Word (via mammoth) files, feeding into AI analysis
- AI-powered resume-to-job-description compatibility scoring with dual providers (Mistral + OpenAI) and automatic failover
- Analytics dashboard with Recharts visualizing application outcomes and pipeline metrics
- Dual billing scaffolding (Stripe + Polar) with webhook integration
- Docker-based deployment on VPS with GitHub Actions CI/CD
Outcome
Deployed on personal VPS and in active use for managing job applications. The kanban board provides a visual pipeline for tracking application status, while the AI layer parses uploaded documents and generates compatibility scores between resumes and job descriptions.