An AI resume product built to stay hands-on with public delivery
Context
- Who
- Me, alone. I built it, ship it and run it.
- What
- An AI resume builder, ATS checker and LinkedIn optimiser with its own API, front end and deployment pipeline.
- When
- Evenings and weekends, alongside the day job. In production.
- Where
- A public product at resumevera.com, on Postgres with a single API service and a Next.js front end, in Docker on EC2 with ECR and Caddy.
- Why
- To stay hands-on with public product delivery, automation, and designing an interface around a model whose output I cannot fully predict.
Architecture work pulls you away from the keyboard. ResumeVera is the counterweight: an AI resume builder, ATS checker and LinkedIn optimiser that I built and shipped alone, and where every decision has a consequence I have to live with rather than review.
The problem
Stay genuinely hands-on with the things architecture work moves you away from: public product delivery, automation, and designing an interface around a model whose output you cannot fully predict. That last one is not a thing you learn from reviewing someone else’s design document.
Constraints
- Evenings and weekends only, which rules out any architecture that needs constant attention.
- Operating cost near zero at low traffic, including the model calls, which are the part that scales with use rather than with time.
- No component I cannot debug alone at 11pm.
Approach
Deliberately boring underneath: Postgres, a single API service, a Next.js front end, and Docker containers on a single EC2 host with Caddy in front. Every place I was tempted to use something more interesting, I asked whether I would still enjoy operating it in six months.
The AI part is where the interest goes instead. A resume check is a judgement, not a lookup, and the product has to be useful when the model is confidently wrong. So the output is always presented as something to act on rather than a verdict, and the deterministic parts, parsing, scoring against a job description, formatting, stay deterministic.
Outcome
In production, cheap to run, and doing all three jobs it set out to do. More usefully, it keeps me honest about the cost of the recommendations I make to teams building at a hundred times the scale.
Skills this work shows.
- Product delivery end to end: API, front end and deployment pipeline, built and run by one person.
- Applied AI product design: output presented as something to act on, with parsing, scoring and formatting kept deterministic.
- Cost-aware architecture: boring components, near-zero operating cost at low traffic.
- Full-stack engineering: Next.js, Node and PostgreSQL.
What I'd do differently
I built the API before I had spoken to enough users about what the product should do, which is the classic mistake and I made it anyway.