Externalized Memory
Onbo
Onboarding written once as step-by-step quests, run for every new teammate.
- Year
- 2025
- Role
- Solo — product and build
- Status
- Built

TL;DR
Onbo turns team onboarding into an ordered path of steps — written once by an admin, then followed by every new teammate on their own. Each step carries its checklist, links, a quiz and files, and progress is tracked per person.
What can you do with it?
Write onboarding once, and let every new teammate follow it.
- Build a program once — write steps with a checklist, reference links, a quiz and attachments, or let AI draft the steps from a topic or an uploaded document.
- Follow it step by step — a new teammate works through one step at a time, and the next unlocks when the last is done.
- See progress — completion per person, overall stats, and progress by category.
- Share without an account — send a link to someone outside the team; their progress is kept on their device.
Why it matters
Every new teammate means explaining the same things again — and forgetting something different each time.
- The knowledge usually exists, but it is scattered across a wiki nobody reads end to end.
- Writing the order down once turns onboarding from something held in one person's memory into a path anyone can follow.
How it works
Three steps, from an idea of what a newcomer needs to a path they can walk.
- Write — an admin builds a program of steps in the app, from a JSON file, or from AI drafts.
- Choose the flow — for each program, steps can be done in strict order or any order, and locked steps can be hidden or readable ahead.
- Track — each person's progress is saved, and admins and new teammates see only what their role allows.
Applications
- Team onboarding — a first-week setup path for engineers, or for any role.
- Training — a self-serve path for learning a tool or a process.
- Clients and partners — share a link with people outside the organisation, no account needed.
Future directions
- See where people get stuck — use how long each step takes to show which parts of onboarding need rewriting.
- Keep it current — flag steps whose links or documents have changed since they were written.
Behind the project — how it started and how it changed
The problem
Every time a new person joined the team I reconstructed the same thing from memory: what they needed to know, in what order, and what I had forgotten to tell the last person. The knowledge existed — scattered across a wiki nobody reads end to end.
Onbo makes the order explicit. An admin writes a program as a sequence of steps, each with a checklist, reference links, an optional quiz and attachments. A new hire works through them one at a time, like quests. Progress is tracked per person, and any program can be shared as a link that works with no account at all.
The interface is deliberately plain. No mascots, no streaks, no confetti — the reward for finishing onboarding is being finished with onboarding.
How it changed
Each version below exists because the one before it was wrong about something specific.
- v1
A strictly ordered path
- Why
- The whole point was sequence, so steps unlocked only when the previous one was complete.
- Change
- Ordered steps with hard locks, per-user completion tracking, and progress rolled up by category.
- Result
- Correct for a first week, wrong for everything else. Someone who already knows the deployment step should not have to fake their way through it, and a new hire who wants to read ahead on Friday should be allowed to.
- v2
Make the strictness a per-program choice
- Why
- Different programs want different rules, and the author is the one who knows which.
- Change
- Step flow became configurable per program: require steps in order or allow any order, and separately choose whether locked steps can be read ahead. Added public share links so someone outside the org can be onboarded without an account, with progress kept on their device.
- Result
- One product now covers a first-week induction and a self-serve reference path without either one feeling bolted on.
Built with
- Next.js
- TypeScript
- Supabase
- PostgreSQL