Every application, and exactly what was sent.
A recruiter calls about a role you applied to seven weeks ago. Which CV did they get? Was there a cover letter? Did you already interview somewhere else in the same company? ApplyMind answers all three in one screen — a browser extension captures each application as you submit it, and this dashboard is where it all lands.
The demo is the real application, running on real data, with no login — a multi-user version lands once authentication does.
Built for the question you actually ask
One ledger for everything
Every application in a single filterable list — by status, site, CV version or date. No spreadsheet that goes stale by week three.
Know what you actually sent
Each application keeps the exact CV version and cover letter that went with it, so a callback six weeks later is never a guess.
An audit trail you get for free
Every status change is timestamped and annotated as you make it, building a history of each application without extra work.
Never apply twice
A unique constraint on site and job URL means the same posting cannot quietly enter the ledger a second time.
AI match scoring
Each job is scored against your profile summary at save time. Best-effort by design — a failed model call never blocks the save.
The API key never reaches the browser
All requests route through a server-side proxy that attaches credentials, so nothing sensitive ships to the client.
A Go API on Lambda, a Next.js dashboard on Vercel
extension ─┐
├─► API Gateway ──► Lambda (Go) ──► PostgreSQL
dashboard ─┘ │
(Next.js) └────────► S3
│
└─ /api/backend/* proxy
attaches the API key
server-side, never
in the browserTwo Lambda functions share one Go codebase: a REST API behind API Gateway, and a scheduler that EventBridge invokes daily to send follow-up reminders. Both detect whether they are running under Lambda or locally, so the same binary serves both.
Files live in S3 and are reached through presigned URLs. CVs are deduplicated by SHA-256, so re-uploading identical bytes records a reference rather than a second copy — which is what makes version history meaningful rather than noisy.
Infrastructure is defined in CDK, including the ACM certificate and Route 53 records for the API's custom domain, so the whole backend is onecdk deployfrom nothing.