October 8, 2026
Programmatic resumes you can chat with
I rebuilt Ghosted around a live resume you can edit by chatting. You can see each AI change on the page, try another direction, or keep writing yourself.
Updated: October 14, 2026
The last version of Ghosted worked for me. Testers found it too complicated.
So I went back through the steps between “here’s my resume” and “I applied.” I wanted to be able to look at my resume, talk through a change, and see what happened without bouncing between different places in the app.
The rebuild came together around a live resume you can chat with. This is a tour of the October 8 version and the choices I made along the way. The screenshots use a made-up resume for Rowan Ellis and sample Design Engineer postings. Later changes are in the dated updates below.
Start with what you’ve actually done
You can upload a PDF, paste text, or import a JSON Resume file. JSON Resume is already structured, so code handles that import without a model.
The import becomes your base resume: a master copy without a length limit. The agent doesn’t trim it. It asks one or two questions at a time about what’s missing, and writes bullets from what you tell it.
In version 2, I was trying to catch invented claims after the model had written them. I’d rather ask for the evidence before it starts writing. There’s still something to review, but less to undo.
Give it a job to work with
Paste a job link, and Ghosted first tries the hiring platform’s own data. At launch, that covered Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Amazon and Microsoft. Firecrawl handles the fallback.
The app removes legal boilerplate, culture sections and embedded application forms. You check the result before going further. Most of the useful brief sits between the title and the disclaimers; I wanted the later steps to work from that instead of carrying the whole page around.
See the changes on the resume
Ghosted puts the job in a category and drafts a one-page resume from your base. It also tells you what it couldn’t back up.
Then you can keep talking. “Trim it to one page.” “Lead with design systems.” The changes appear highlighted on the resume, with controls to accept or reject them. The image at the top shows a changed summary and bullets, with Keep and Reject above the page.
I wanted to be able to judge the suggestion in the document itself. Does the new summary read well here? Did that bullet get too long? It’s easier for me to answer those questions when I can see the page.
The preview uses Typst compiled in the browser, and the download comes from the same compiler. Before writing the app code, I measured an edit re-rendering in about 7 milliseconds. That made it feel possible to keep the preview close to the conversation.
Each change gets a version with who made it, why and when. That can be the AI, a direct edit, or an import. Undo and Restore change which version is current; they don’t delete the others. I can try a direction and come back if it doesn’t work.
Sometimes I just want to edit a line
Chat shouldn’t be the only way in. Edit directly replaces it with a form for the jobs, roles and bullets, including reorder and remove controls.
Style handles fonts, margins and header alignment. You can also change the size, weight and color of individual parts: your name, headings, companies, titles and dates. The preview updates while you type.
If I know exactly which line or gap I want to change, I’d rather do it myself than explain it in a message.
Learn from the applications you keep
Your jobs go into your own job families. Once a category has three jobs, Ghosted can draft an archetype: a resume for that kind of role, based on the wording and bullets you’ve kept across those applications. New jobs in the category can tailor from that instead of the full base resume.
I wanted something between the resume with everything you’ve ever done and the resume for one particular job. The category view also shows shared posting terms and reused bullets. The term list was still noisy when I wrote this; words like “location” and “care” were showing up. That needed more work.
Make it easy to tell me what’s wrong
Testers sign in with a personal code, and their work syncs to the server. They can send me a note and screenshots straight to Discord from Leave feedback, called Report a problem in the original launch version.
My first tester asked for formatting in her job notes. She planned to keep them open in an interview the next day, so I shipped it that evening. That was a useful reminder of why I wanted the feedback button close by: I could hear what she was trying to do and change the part that was getting in her way.
What I designed, and what the agent built
I worked out the flow, product model and decisions in planning a few days before the rebuild. A coding agent made the first working version from that plan in a day. It went live at ghosted.cello.design that afternoon, replacing version 2.
At launch, I was starting to take over the foundations by hand: the resume data model, template, prompts and version history. My next plans were a brand identity, more changes led by testers, and eventually an open-source 1.0 where people could connect the AI subscription they already paid for. Those were plans, not things the launch version already did.
Updates
I wanted to keep the original idea here and add what happened afterward. These entries describe the product on their dates, newest first.
October 11, 2026 · The ghost shows you around. New accounts get a guided walkthrough in the real app: seven steps from the base resume to Download PDF. The screen dims around one control, the ghost explains it from a card, and every step has Next and Dismiss. For people who already have jobs, the tour points things out without asking them to practice edits. When an older job is missing Fit or Research, opening it through the tour fills those reports in.
Every tailored job also gets a Fit checklist covering strengths, what to lead with and gaps to prepare for. Research suggests things to read before applying. The AI picks topics; the links come from a web search. The case study has the story.
October 10, 2026 · Leaner and streaming. AI requests had been carrying about 17,000 tokens of a command-line tool’s instructions. After switching to a direct model connection, a chat edit went from 25,470 input tokens to 3,621. Replies now stream as they’re written, while resume edits still arrive whole for review. I also added an Effort picker beside Send and a way to see your usage.
October 9, 2026 · It has a face now. I kept coming back to the yellow highlight. It already had a job in the interface, so I made it the starting point for the identity: highlighter yellow for AI changes, a Paper Ghost mark, and DM Sans. When a proposal arrives, a ghost cursor swipes the highlights in. Pressing Keep, previously Accept, settles the yellow into ink. The case study goes further into the identity and motion choices.
October 9, 2026 · Testers set the agenda. Three testers gave me most of that day’s to-do list. Jacky’s PDF had no text, so uploads gained an OCR fallback and clearer failure messages. Kim’s job agent learned something her base resume hadn’t heard, so changes gained a path in both directions, always as requests to accept or decline. Sam wanted templates, so Style gained looks drawn from your own resume. Nineteen releases went out that day. The case study records what each tester changed.
Ghosted is invite-only right now. If you’re job hunting and want to try it, tap Request an invite on the sign-in screen, or email me at cello@cello.design.

