O2Labbs · Product · Brand · Design system · Web
Script
Your company’s brain, built to remember.
Script is a workspace-scoped memory for organisations. It takes in documents, scans, meetings and work tools, and answers plain-language questions with sources, matched to what each person is cleared to see. I co-founded it and designed it: the product, the brand and the site.
Visit script.o2labbs.com ↗
What do you want to know?
Ask across every document, meeting and tool this workspace can see.
The product, playing itself: a procurement question, three cited sources, and the passage behind a citation. Fictional workspace, as in Script’s own demo.
The problem
Institutions forget why they decided what they decided.
Knowledge walks out with people. What stays is scattered across drives, chats, meetings, photocopies and scans, in English, Kinyarwanda and French. Search can’t read a scanned page, and a generic AI can’t show where its answers come from. So the same question gets asked again, and answered from memory. We built Script for teams of 20 to 500 who can’t afford that: a development bank, an insurer, a ministry, a university.
- 01
It leaves with people.
Decisions live in heads, then in exit interviews.
- 02
It is scattered.
Drives, chats, meetings, photocopies, scans, three languages.
- 03
Tools can’t reach it.
Search can’t read scans; generic AI can’t cite.
The design question
How do you make an AI you can trust with an institution’s memory?
Decision 01 · Never guess when you can cite
Every answer traces back to a source.
Answers stream in with numbered citation chips; tapping one opens the exact passage, so a lawyer or a loan officer checks in seconds rather than trusts. The other half of citing is refusing. When the library has nothing, Script says so and tells you where the answer probably lives. That refusal cost us a few impressive-looking demos and bought the only thing that matters for an institution: an answer you can take to a committee.
Script asked for a figure it doesn’t have.
Decision 02 · Permission follows the document
The same question. Different answers. On purpose.
Permissions are enforced before retrieval, not after. The first private channel or restricted project we ingest would otherwise become a leak, so clearance was a blocker for every connector, not a follow-up. The intern gets a true answer too: that a figure exists, and who owns it.
Two people, one question, at the same moment.
“The first private channel or restricted project ingested makes that a leak. A blocker, not a follow-up.”
— Product definition, §2
Decision 03 · Honesty as a design rule
If the API can’t do it, the screen says “Coming soon”.
The product is not allowed to invent capabilities the API does not support. When Google turned out to have no official listen-bot API, we dropped the visible meeting bot and moved to the platforms’ own transcripts. Connectors show honest states: Available, Connected, Coming soon, Error. In the investor deck every claim is labelled Live, Our design, or Before the pilot.
What we said no to
- A bot that sits in the meeting gallery (no official API on Meet).
- Guessing an answer when the library is silent.
- Invented testimonials and metrics on the landing page.
- A third-party AI router that would add another data processor.
Where it stands
Live is a beginning.
The MVP is live and running on fictional documents. We demoed it to the Development Bank of Rwanda in October 2026 and pitched it at Hanga Ignite. The proposed first pilot is one department, six to eight weeks, about fifteen people, measured on time to answer, accuracy and what they tell us.
- 7capabilities on the scorecard, four shipped
- 5people on the team
- 6–8 wksthe pilot we are asking for
What I would do differently
Earlier users, fewer surfaces.
We built chat, library, meetings, connectors and workflows before a single outside team used it. I would ship the cited answer alone, put it in front of one department, and let their questions decide the second feature. The honesty rules came from catching ourselves overclaiming; next time they come first.

