Offboard LUMO · Founding Product Designer & AI Systems Lead · 2025 to now · Six-person startup
- Problem
- In real conversations, a classifier that ran before the chat replaced LUMO’s answer with a tracker card, and members confirmed none of those cards. Asking about a page also meant leaving it.
- What I did
- I designed and built LUMO end to end: the conversation, the tools, and the rules for when it may act. A card now appears only when the model calls a write tool with a concrete subject, and nothing changes until the person confirms. LUMO moved to a panel beside every page that says what it is looking at.
- Result
- Live in Offboard. On unchanged code, LUMO scores 30 to 32 of the 32 release cases, at about half a cent a turn.

Context and ownership
LUMO is the AI assistant inside Offboard. It reads the member's own search: profile, applications, interviews, network, and the memories they allow. It can also add to and update their tracker. I designed and built it, from the first chat in October 2025 to the version that runs today, with AI coding tools in the loop.
An assistant with write access to someone's job search has two jobs. It must answer the question that was asked, and it must not change anything the person did not choose.
Method
In September 2026 I started with an audit of real member conversations, each read in full. Quotes stayed paraphrased, and no member text left the audit.
- A classifier took over the turn. It ran before the chat. When it guessed "tracker", a card replaced the answer. A request for help with a cover letter, sent with a job link, came back as an add-to-tracker card.
- Members confirmed none of the tracker cards.
- LUMO asked for documents it already had. It asked members to paste a resume or cover letter that was already on file.
- Interview prep found no interview. Members rarely log their interviews, so prep conversations fell back to a questionnaire.
One turn, before and after
Before · the classifier answers
Help me write a cover letter for this job.Job link
Classifier guesses “tracker”
Add to tracker?
- Company
- Unknown
- Role
- Unknown
The cover letter is never written. Members confirmed none of these cards.
After · LUMO answers
Help me write a cover letter for this job.Job link
Writing help · write tools not offered
LUMO drafts the letter in the chat. No card appears.
The failures were missing tools and missing context, not a weak model. That set the order of the work.
Decision 01
I deleted the four takeover flows and set one rule: a card appears only when the model chooses to call a write tool with a concrete subject, such as a link or a company and title.
The write tools do not write. They return a card. The tracker changes only when the person clicks to confirm. On a turn that asks for writing help, such as tailor, rewrite, or simplify, the write tools are not offered to the model at all. One turn can produce one card.
A confirmed change goes through the same code that Offboard's connector for outside AI agents uses, so chat and a connected agent write the same rows in the same way.
Try it: what the model is offered
Tools the model is offered · Writing help
Read
- web_search (offered)
- scrape_webpage (offered)
- get_upcoming_interviews (offered)
- analyze_ghost_job (offered)
- list_applications (offered)
- get_application (offered)
Write
- create_application (not offered)
- update_application (not offered)
- create_contact (not offered)
- create_application_with_interview (not offered)
Rewrite this cover letter so it is shorter.
LUMO rewrites the letter in the chat. The write tools are not offered, so no card can appear.
Decision 02
LUMO used to share the right side of the screen with page information, and it showed only on wide screens. The "Ask LUMO" button opened a separate chat page, so asking about a page meant leaving it. Members who wanted help opened the full chat page, lost the page they were on, and retyped what they had been looking at.
I gave the right panel to LUMO alone. The "Ask LUMO" button opens it beside any page: a panel at 1280px and wider, a sheet on smaller screens. The page stays where it was. One line says what LUMO is looking at, for example "Looking at: Lyft · Product Design Manager". That line never claims more than the page context each message sends.
Try it: LUMO beside the page
Press Ask LUMO to open it beside the page.
The bet was written down before the build: a target for members asking from the panel in the first 30 days, and a floor below which a switch returns the old button.
Decision 03
- Money is one switch. One setting, "Let LUMO use my money details", controls every money fact LUMO reads: runway, benefits, target salary, and offer terms. With it off, LUMO sees only the company and title of each offer.
- Outside agents never see offers. A database rule returns no offer rows to a connected AI agent.
- Support answers come from the Help page. LUMO links the page where the person acts. It never claims to cancel, refund, or change an email address, and never promises a refund.
- A crisis turn gets a crisis answer. One required test case checks that LUMO does not reach for the person's interview schedule after a crisis statement. That case later kept a cheaper model out of production (see LUMO Bench).
Try it: the money switch
- Financial runwayLUMO reads
- Weekly unemployment benefitLUMO reads
- Target salary rangeLUMO reads
- Offer terms: amount, notes, reply-by dateLUMO reads
- Each offer’s company and titleLUMO reads
Connected AI agents never read offers, whatever the switch says. A database rule returns them no offer rows.
Outcome
LUMO is live in Offboard. The numbers below are test results, not usage, revenue, or retention.
- The panel's result is not in yet. The 30-day read for the panel bet is due in late October 2026.
- Quality is measured on every change. On unchanged code, LUMO scores 30 to 32 of the 32 release cases. A model change runs through the same cases before it ships.
- It is cheap to run. A model change in September 2026 cut LUMO chat to about half a cent a turn.
Reflection
The classifier saved one step for the few people who wanted a tracker card, and cost the answer for everyone else. An assistant with write access earns trust by doing the asked-for thing first and making every change a choice. In a young product, the next lesson comes from reading conversations, not from a dashboard.