October 8, 2026 Back

Programmatic Resumes You Can Chat With

A short tour of Ghosted's rebuild: a live Typst resume you edit by chatting, where every AI change is highlighted, versioned, and yours to accept or reject.

  • AI
  • Product Design
  • Ghosted
  • Typst

Updated: October 9, 2026

Programmatic Resumes You Can Chat With

The last version of Ghosted worked, but only for me. Testers found it too complicated. So I went back to the flow, mapped every step from “here’s my resume” to “I applied,” and rebuilt the product around one surface: a live resume you can chat with.

Here’s the tour, with the reasoning behind each piece. The screenshots use my own resume and three real Design Engineer postings.

1. Bring your resume, then get interviewed

You upload a PDF, paste text, or import a JSON Resume file. JSON Resume is already structured, so it converts in code with no model involved.

What you import becomes your base resume, a master copy with no length limit. The agent never trims it. Instead it interviews you, one or two questions at a time, and writes bullets only from what you tell it.

Why: honesty has to start at the source. Version 2 flagged invented claims after the model wrote them. This version asks for the evidence first, so there’s less to catch afterwards.

Paste a link and Ghosted reads the posting from the hiring platform’s own data first: Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Amazon and Microsoft. Firecrawl is the fallback for everything else. Legal boilerplate, culture sections and embedded application forms get cut, and you confirm the result before anything else happens.

Why: most postings have a fold. Everything that matters sits between the job title and the disclaimers. Keeping only what’s above the fold gives every later step a clean, short brief.

3. Tailor on the canvas

Ghosted files the job under a category, then cuts a one-page version from your base resume. It tells you plainly what it couldn’t back up. From there you chat: “trim it to one page,” “lead with design systems.” Every change the AI makes is highlighted on the page, and you accept or reject it.

The screenshot at the top of this post shows it: after “trim it to one page,” the changed summary and bullets are highlighted, with Accept and Reject above the page.

The preview is Typst compiled in the browser, and the PDF comes from the same compiler, so what you see is what you download. Before writing any code I measured it: an edit re-renders in about 7 milliseconds.

Every change becomes a version that records who made it (AI, you, or an import), why, and when. Undo and Restore only change which version is current. Nothing is ever deleted.

Why: the AI suggests and you decide. That one rule is what makes it feel like writing with the AI instead of being handed a document, and it’s what makes trying something risky cheap.

4. Edit it yourself

Chat comes first, but you can always take over. Edit directly swaps the chat for a plain form: every job, role and bullet, with reorder and remove. Style sets the font, margins, header alignment, and the size, weight and color of each text element: name, headings, company, title, dates. The preview updates as you type.

Why: chat is the easy way in, but it shouldn’t be the only way. People who care about a specific line or a specific gap between lines get direct control over it.

5. Categories and archetypes

Every job gets filed into your own job families. Once a category has three jobs, Ghosted can build an archetype: a resume aimed at that kind of role, drafted from what you kept and reworded across those applications. New jobs in that category tailor from the archetype instead of the full base resume.

Why: “everything I’ve ever done” is too much to tailor from, and “this one job” is too little. Archetypes fill the gap between them. The term list is still noisy (it counts words like “location” and “care”), so that’s next on the list.

6. Built for testers

Testers sign in with a personal code, and their work syncs to the server. A Report a problem button takes a note and screenshots and sends them straight to my Discord. My first tester asked for formatting in her job notes, and it shipped that evening. She planned to have those notes open in her interview the next day.

How it was built

The flow, the product model and every decision in this post are mine. I worked them out in planning a few days earlier, before any code existed. A coding agent built the first working version from that plan in a day, and it went live at ghosted.cello.design that afternoon, replacing version 2. I’m now taking over the foundations by hand: the resume data model, the template, the prompts and version history.

What’s next

  • A real brand identity. The product works; now it needs to look and sound like itself.
  • More product, led by testers. Their reports set the order.
  • 1.0, open source, with plug-in subscriptions. You’ll sign in with the AI subscription you already pay for, and Ghosted wraps it with the canvas and the agent.

Updates

The idea stays the same. The product keeps growing, and I’ll add to this list as it does. Newest first.

October 9, 2026 · It has a face now. The yellow highlight from step 3 turned out to be the most ownable thing in the product, so it became the brand: a highlighter yellow that only ever means “the AI changed this”, a Paper Ghost mark, and DM Sans. When a proposal lands, a small ghost cursor swipes the highlights in. When you keep it, the yellow settles into plain ink. Accept is now called Keep. The case study has the whole identity and motion story.

October 9, 2026 · Testers set the agenda. The day after launch, three testers wrote most of my to-do list. Jacky’s PDF had no text in it, so uploads now fall back to OCR and explain themselves when they fail. Kim’s job agent learned something her base resume never heard about, so changes now flow both ways between the base and its copies, always as requests you can take or decline. Sam wanted templates, so Style now has looks drawn from your own resume. Nineteen releases went out that day. The case study lists 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.