PRACO
A desktop app that runs a structured interview and builds a tailored CV — no forms, no cloud, no personal data leaking to external APIs.
PROBLEM
"Building a CV isn't a formatting problem — it's a problem of extracting the right information from yourself. The valuable stuff only comes out in a longer conversation, not while filling in boxes."
OBSERVATION
LLMs have a documented property: people open up to them like they would in conversation with another person. Praco leverages this — AI runs the interview, the user tells their story, the system extracts what matters.
GOAL
A CV tailored to a specific job posting, built on real information provided by the user — not templates or made-up descriptions.
PRIVACY
The app collects a person's profile — name, work history, achievements. This isn't throwaway data; it's someone's life story.
The test I set for the architecture: would I be comfortable using this app myself and saying anything in it? With a SaaS model and a cloud database — no. With local SQLite — yes.
Instead of a web app with Supabase, I chose a desktop app with a local database. No external server, no responsibility for someone else's sensitive data. User data never leaves their device — except for the content sent to AI, and only after anonymization.
It's easiest to design privacy at the architecture level — before the first endpoint exists. Retrofitting data protection later is harder and less convincing.
ARCHITECTURE
INTERVIEW
Standard CV builders present a form: company, dates, responsibilities. The result is predictable — people write "project management."
In a conversation, the same person would tell you the project was three weeks behind schedule, that they pulled together a scattered team and delivered in two weeks through daily stand-ups. That's CV material.
The model asks, probes, and responds to answers — instead of waiting for fields to be filled. The form handles contact details only. The rest comes out in conversation.
Applying for a frontend dev role — the recruiter sees programming projects. Applying for a product manager role — team leadership experience comes forward. Same profile, different CV, from the same data.
CHALLENGES
Speeding up contact data entry on recruitment sites turned out harder than expected. The variety of form layouts is enormous, and edge case behavior is difficult to describe without visual context.
The project was built under pressure to "start job hunting as fast as possible." That led to a series of "just make it work" decisions, which together produced a CV that wasn't actually usable. I learned from this to estimate better — I now track hours and topics. This file is a direct result of that habit.
RETROSPECTIVE
The urgency that was supposed to speed up job hunting ended up delaying the creation of something actually useful. I would have estimated the scope more carefully and not pushed the project forward under artificial time pressure.
The habit of tracking hours and topics by session came out of this project — the brief you're reading now is part of the same system.
Outcome
CVs generated by Praco match human-level interpretation — hallucination rate is low enough that the output is usable. CVs adapt to the job posting based on real user data. Project ongoing — recruitment form autofill is the next milestone.