Skip to content
A pen doodle of Louie: short spiky dark hair, clear glasses, a wide smile with stubble, a bead necklace, and a hooded sweatshirt.

Louie Sakoda

Role
Founding Product Designer & AI Systems Lead
Years
2025 to now
Team
Six-person startup
Status
Working product

Offboard · 2025 to now

Offboard Job Search Platform

One workspace for a role, with research and drafts that stay connected. Automation does the repeated work; the person decides what goes out.

An Offboard Job Packet for a Senior Product Designer role at Crexi. The page opens with a fit score of 86 and the advice Go for it, apply, a two-sentence read of strengths and gaps, a Low ghost risk label, and a block titled Your packet is ready to send: the tailored resume with 12 changes for this job, the cover letter at 334 words, Apply on Greenhouse, and Mark as applied. Path to a Person shows 4 people to contact. On the right, LUMO is looking at the Crexi packet, names the biggest gap, and offers three questions.
Ready to send. The packet leads with fit and ghost risk, then the tailored resume and cover letter the person reviews before applying. LUMO, on the right, reads the same packet. A QA account, October 2026. Product screenshot.
Problem
People in a career transition rebuild the same context across a dozen disconnected tools. AI that only writes more documents can push them toward roles that are not worth it.
What I did
As founding designer, I designed and engineered Offboard end to end: a workspace for each opportunity, an AI pipeline that checks a role before tailoring anything, drafts the person reviews before use, and a plan-first start for people not yet ready to apply.
Result
A live product. In early signups, most people finished onboarding and ran a ghost check, but few built a packet in their first days. That gap is the case for starting with a plan.
On this page
  1. Context
  2. Product model
  3. Protecting user effort
  4. AI acts with visible control
  5. Context compounds
  6. Changing the entry point
  7. Architecture
  8. Product
  9. Outcomes
  10. Learnings

Context and ownership

A job search splits across separate tools: research, resume, outreach, and tracking. I designed and engineered Offboard to connect that work, from product direction to operation. This story follows Job Packets, which turn a role into research and editable application materials.

Product model

I made the opportunity, not a tracker row, the organizing unit. It holds the role, company, people, research, materials, preparation, tasks, and history. LUMO, the AI layer, works across that context.

The Canvas view of the Crexi Senior Product Designer packet. The job sits in the middle, 5 of 5 prepared, with lines out to the ghost check (score 0 of 100), company intel, role match (86% match), people (4 paths in), the tailored resume (saved, 70% match), the cover letter (saved), and interviews (nothing scheduled). The job description is open in a panel on the left.
One opportunity as a workspace. The Canvas view shows what is attached to a role: checks, research, people, and materials. A QA account, October 2026. Product screenshot.

Decision 01

The packet assesses the role first. A risk gate can pause it so the person decides whether to continue. The gate is a warning, not proof that a listing is fake.

The risk gate

  1. Role submitted
  2. Role intelligence
  3. Risk assessment
  4. Flagged?

    If YesPause for the user's choice

  5. Continue to tailored materials
Conceptual workflow: role intelligence and risk assessment precede tailored generation; a flagged opportunity pauses for the user's decision.
LUMO building a packet for a Senior Product Designer, AI role at Maintainx. 4 of 7 parts are ready. The job, Ghost check (Low risk, 11 of 100), Company, and Your fit are done. Resume reads Tailoring, checking each requirement against your resume. Cover letter reads Drafting, and A person reads Finding a person to contact at the company. A line under the list reads Saved to Applications as Saved.
Ghost check first.A packet being built. The ghost check finishes before the resume and cover letter start. A QA account, October 2026. Product screenshot.
Offboard's Check a job posting page. The intro reads: Paste a public job URL to check stale listings, broken apply flows, duplicate job IDs, and other warning signs. A card shows a ghost icon and Searching for employer reviews, step 4 of 7, with a progress bar.
The ghost check also runs on its own: paste a job link, and it works through seven steps. A QA account, October 2026. Product screenshot.
A finished ghost check for a Head of AI Design posting at Baker Tilly. The score is 0, labelled Looks Legit. The verdict reads: This posting shows few warning signs. Safe to apply. A What To Do Next card offers Add to Application Tracker. Below, a card reads No material warning signals were detected from this posting, and a Context card shows the posting snapshot: title, company, location, date posted, ATS, and source.
A finished check. The result gives a score, a plain verdict, the signals found, and one next step. A QA account, October 2026. Product screenshot.

Decision 02

Outputs stay editable drafts. Nothing sends itself to an employer. With no resume, the packet comes back partial instead of inventing experience. Filing into the tracker is automatic. The line sits between organizing work inside the product and speaking for the person outside it.

Draft, review, decide

  1. Prepare research and drafts
  2. File results in the workspace
  3. Person reviews and edits
  4. Person decides what to use
Conceptual control boundary: the product prepares and files editable materials; the person reviews them and decides what to use. This is not a screenshot of a confirmation dialog.
A tailored resume for the Crexi role in Offboard's resume editor, with Show changes from base switched on. Rewritten lines are tinted and labelled Changed from base. A removed bullet stays on the page, struck through, labelled Removed for this job, with a Put it back link. The side panel lists 5 of 6 must-haves covered, What changed (8 lines rewritten, 2 bullets moved up or down, 4 bullets removed for this job), Answer 3 questions to make this stronger, and Held back: 4, lines Offboard left out because the resume does not back them up. The contact line is blurred.
A removed bullet, with Put it back.A tailored resume with its changes shown. Rewritten lines are tinted, a removed bullet stays visible with Put it back, and Offboard holds back lines the resume does not support. Contact details blurred. A QA account, October 2026. Product screenshot.

Decision 03

The workflow parses the role once and shares that research with resume work, outreach, and interview preparation. Reuse buys consistency at the risk of stale information.

What changed

A packet assumes the person already has a role worth pursuing. Someone new to a career transition may first need direction and a manageable next step. Early data, below, showed that gap.

So I made the start plan-first and moved packets later. The question became “Can this person take their first useful action?”

Offboard's Layoff Plan. It is built from: just laid off, California, last day July 1, severance a few weeks, unemployment not filed yet, Senior Product Designer. 8 of 24 steps done. Seven stages run from Protect the first week to Wrap it up. An Up next card reads File for unemployment benefits, because you haven't filed for unemployment yet and you live in California, with Start and Mark done. The list under Protect the first week starts with filing for unemployment benefits, marked File this week.
The plan-first start. The Layoff Plan is built from the person's own situation, names the next step and why, and groups the rest into seven stages. A QA account, October 2026. Product screenshot.

How it is built

I built it with AI development tools in the loop. The client runs Vite, React, TypeScript, Tailwind, and shadcn/ui. Supabase Postgres enforces per-user row-level security. Deno edge functions run server-side work.

How data and actions move

  1. Client applicationVite · React · TypeScript · Tailwind · shadcn/ui
  2. Authentication and access controlRow-level security per user
  3. Opportunity data modelSupabase · Postgres · RLS
  4. Server-side functionsDeno edge functions
    • Model APIs
    • External research
    • Document generation
  5. Results written back to the workspace
The client application talks to a backend that owns authentication, the opportunity data model with per-user row-level security, and a set of server-side functions. Those functions call model APIs, external research sources, and document generation, then write results back into the opportunity workspace, which the client reads.

Product

The screenshot at the top shows a completed Job Packet ready to send: fit, ghost risk, and materials together, with LUMO beside them.

The Crexi packet in the full Offboard window. The navigation is on the left with Packets selected. The packet shows the fit score of 86, Low ghost risk, the tailored resume and cover letter ready to send, Apply on Greenhouse, and Path to a Person with 4 people to contact. LUMO is open on the right, looking at the Crexi packet.
The packet in the full app window, with LUMO open beside it. A QA account, October 2026. Product screenshot.

Outcome

Offboard is live. Usage numbers stay private. The signals below show where people stopped, not revenue, long-term retention, or the effect of the plan-first change. The numbers are test and system results.

  • The drop is the first packet, not onboarding. Most people who signed up in August 2026 finished onboarding and ran a ghost check. Few built a packet in their first days.
  • The next problem is the second packet. Most members who built a full packet built only one.
  • The ghost check spreads on its own. One LinkedIn post drove a burst of public ghost checks within a day.
  • Quality is measured. In September 2026, job search put the right role in the top ten for all 20 test queries, up from one. LUMO passed 29 of 29 test cases, 22% faster, at about 80% lower model cost per run.
  • The system holds up. The backend (188 functions, 175 tables) moved to a new Supabase project with about six minutes of downtime, no data lost, and no one signed out. It runs more than 200 server functions and about 4,500 automated tests.

Reflection

A polished workflow can ask for the wrong commitment at the wrong time. Next, I would test the first journey with people at different stages of a transition, watch where they hesitate, and check that the next step is useful before measuring output.