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.

[ GITHUB → ]
RELEASE_DATE[ in-progress ] Mar 2026
ROLEFULL-STACK DEVELOPER (SOLO)
TIMELINEJANUARY–MARCH 2026 (~2 MONTHS)
COMMITS142
STATUSIN PROGRESS
TECH_STACK
Vue 3TypeScriptTauriRustSQLiteClaude APIOpenAIGemini
[ 01 ]

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.

[ 02 ]

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.

[ decision ]TAURI + SQLITE

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.

[ insight ]LESSON LEARNED

It's easiest to design privacy at the architecture level — before the first endpoint exists. Retrofitting data protection later is harder and less convincing.

[ 03 ]

ARCHITECTURE

INTERVIEW PIPELINE — how AI conducts the conversation and extracts data into the user profile
CV GENERATION PIPELINE — personal data anonymised before sending to the model, assembled client-side after generation
[ 04 ]

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.

[ decision ]AI AS INTERVIEWER

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.

[ insight ]TAILORED TO THE JOB

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.

[ 05 ]

CHALLENGES

[ problem ]FORM AUTOFILL

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.

[ problem ]TIME PRESSURE

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.

[ 06 ]

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.

IN_PROGRESS