AI Agents × Company OS · Builders Club Kitchener · Oct 22, 2026
100 centres. 100 days.
No employees.
One Kumon centre had the idea. One lead customer shaped it. Agents built it, sold it, shipped it and support it. I make the decisions.
1FOUNDER
0EMPLOYEES
119CENTRES LIVE
5,553COMMITS IN 110 DAYS
In 2026 the records are the memory, not me. Bahubali Shete · linkedin.com/in/bahubalishete · bahubali@gizmothings.com
What we built · the Company OS
Not a tool. The way the company
remembers, decides and acts.
ROLES
Who does what
117 skill files.
LAWS
How we behave
46 laws. Every miss writes one.
RECORDS
What we know
Threads, ledgers, memory.
GATES
What may leave
Mail. Code. Parcels.
EVALS
Are we still obeying
Misses replayed every Monday.
LANES
Who does the work
One chat. Many lanes. 125 timers.
I sit at the decisions. The OS does the rest.
The agents that run the company
One founder. These agents. Two Macs.
FOUNDER
Me
Telegram briefs 07:30 · 18:00
CHIEF OF STAFF
COS
tapin-cos
Inbox router
Dispatcher
SALES
Marwadi
Closer sweep
Live-in-15
Recap rail
Inbox watch
Sales intel
CUSTOMER
Onboarding concierge
Welcome machine
Support watch
Ask TapInPass help
Lifecycle
OPS
tapin-ops
Purchasing ingest
Shipment receipt
Fleet watch
Outage watch
Truth audit
DEV
Dev lane
Build lanes
Codex reviews
Explore
Ship 22:01
TEST + QA
Baseline QA
Staff baseline QA
Parent journey
Claim proof
Checkout probe
GUARDRAILS
Send gate
Ship gate
Memory guard
Lane guard
Do-not-email
Product-decision rule
MAKERS
Hardware design
3D product design
Packaging
Video producer
Copy + design
Investor outreach
MONEY
Gujju
Compliance thresholds
Stuck-money alarm
Scoreboard
MEMORY
Contract threads
Memory files
Evals
Ledgers
Dashboard
The tools · named so you can copy them
Models, open tools, records.
MODELS
Claude Fable 5.1
Claude Sonnet 5
Claude Haiku
Jev · inbox classifier
Codex · code reviews
RUNTIME
Claude Code
Skill files
Hooks
Memory files
Dispatcher
launchd
Contract threads over MCP
MAIL + CRM
gog
Send gate
Resend
HubSpot
Calendly
Google Meet notes
PRODUCT
Firestore
Cloud Functions
Vite PWA
Vercel
Stripe
Twilio
ESP32 + PN532
QUALITY
Vitest
Playwright
Firestore emulator
Evals
QA tenants
MAKING
KiCad
JLCPCB
OpenSCAD
Bambu
HyperFrames
QuickBooks
How it is wired
I talk to one chief of staff.
It runs the rest.
Mechat · decisions · approvals
→
Chief of staffClaude Code · Fable 5.1 · one session · every project
→
Lanesinbox router · workers on a second Mac · Sonnet 5
→
Gatesmail · parcels · code
→
Recordsthreads · dashboard · memory
The records are the memory. Everything else is replaceable.
The agent harness · what holds it together
Depth and breadth.
5,553COMMITS · 4,871 IN THE FIRST 100 DAYS
333CLOUD FUNCTION TRIGGERS · FIRESTORE · STRIPE · RESEND · TWILIO
7,192TESTS GREEN ON THE FUNCTIONS SUITE
68PLAYWRIGHT FLOWS · 8 SUITES · QA TENANT PER FEATURE
271CONTRACT THREADS · THE RECORD
125SCHEDULED JOBS · 22:01 SHIP · BRIEFS · ROUTER · DRIPS
121 hooks. 1,284 memory files. One router, 23 routes.
Evals · 23 scenarios · every Monday 07:00 · each one a real past miss, replayed
Do the agents still obey the laws?
SCENARIOS
Founder voice
Customer state first
Dark features stay dark
Send gate
Resolver routing
Deferral means scheduled
Report join
AI pace
Top issues
Meeting recap
Founder chat fact
Model routing
Firmware lifecycle
Rollout gate
Mac #1 memory
Money line
Reader copy
Recap: our side, roster
Prospect answers = outcomes
Box contents from payment
No desktop claims
iKumon account email
A fail opens a thread. Every correction I make becomes a scenario the same day.
Company laws · 46 of them · every agent reads them at start
A miss becomes a law the same day.
- L1Founder voice. Fact first. No AI words.
- L2Read the whole thread before any customer touch.
- L13Nothing booked or cancelled without the person's own words.
- L29A claim about our system ships with its log line.
- L35No ship date unless I said it, that day.
- L36Parked means scheduled, or it does not exist.
Each law carries the incident that wrote it.
Gates and guards · what stops an agent
Nothing leaves, ships or runs wild without a check.
SEND GATE · 15 RULES
Mail
My words, byte-exact. No dates, prices or blame. Click paths match the app.
SHIP GATE · 22:01
Code
Suites, coverage, promote. A failed suite rolls back.
GUARDS
Machines
Runaway lanes killed. Four lanes max. No product decisions by an agent.
Every refusal comes to me with the reason.
The funnel · where the conversions are
One in three who book a demo pays.
One in three buys without a demo.
DEMO → PAYING
37%
of everyone who booked a demo is paying.
NO DEMO
34%
bought without a demo. The site, the video and the help did the selling.
DEMO → PAYMENT
3 days
median time from the demo to the payment.
WIN RATE
52%
after a demo is held.
No bought lists. A booking page, a daily group demo, a sales agent that reads every meeting note.
The sales agent teaches itself
Every meeting note changes the next email.
Meeting notesevery demo, every call
→
Objections"fobs cost too much" → QR-only plan
→
Clickswhich page, video, link
→
Copy + siteemails, help, videos updated
→
Wavesbook 12 to 14% in Canada
No tracking pixels. Attribution is a booking link or a reply.
Agents built the hardware too · off the shelf first · our own board by week 9
Phone. Then a Pi. Then our board.
Week 1a phone as the reader
→
Week 2Raspberry Pi · first centre live
→
Week 4ESP32 · our firmware
→
Week 9our own board · $18.86 landed
→
Week 10assembled at JLCPCB
→
Week 15case v1.0 frozen
Buy first. Make your own when the volume says so.
The reader · designed in OpenSCAD by an agent · printed on a Bambu
This is the part
I can hold.
Snap lid. NFC coil under the rings. USB-C at the back. Wordmark in the plastic.
Base and lid are the real print files, spinning in the browser. Fit checked with coupons before the first full print.
The board · carrier v7 · drawn in KiCad by an agent · assembled at JLCPCB

Top · ESP32-S3 · 34 LEDs on the ring · NFC header · USB-C

Bottom · PN532 NFC module seat · buzzer · test points
$18.86 landed at 100. The agent caught a wrong LED footprint before the run.
The product · TapInPass
A reader, fobs,
and a parent alert.
Student taps in. Parent gets the alert. Centre sees the day. QR for centres that want no hardware.
Agents designed every piece. I approved renders in chat.
Today, Thu 22 Oct · I was in meetings all day · the agents ran the company
One day. The agents did all of this.
17CENTRES ANSWERED · SUPPORT AND SALES
4SALES MEETINGS PREPPED AND RECAPPED
7KITS SHIPPED · TRACKING SENT
4SUPPLIER ORDERS TRACKED · AMAZON · ALIBABA · JLCPCB
2CUSTOMER DEFECTS FOUND, FIX LANES RUNNING
150+CUSTOMER MEETINGS SET UP SINCE MAY
Each one left a record.
The build wall · how one ask becomes shipped code
I describe the outcome.
Six windows do the rest.
W1 · Chief of staffbrief · thread
→
W2 · Build lanecode · tests · coverage
→
W3 · Codex reviewSHIP or BLOCK
→
W4 · QA lanePlaywright on the QA tenant
→
W5 · Ship gate22:01 · suites · promote
→
W6 · Contract threadthe record
I read the thread, not the code.
How I run two companies and three live products on four subscriptions
Four Max seats. Two Macs. One pool.
Mac #1 · chatFable · the chief of staff
→
Second Mac · lanesSonnet · 4 lanes
→
Codexreview only
→
Haikureads · probes · bots
About CA$1,500 a month. Same pool runs a second company with two more products.
The money agent · "Gujju" · books, cash, tax
Every dollar in matched to a charge.
Every dollar out matched to a receipt.
SourcesQuickBooks · Stripe · bank feed
→
Dailysale ↔ charge · payout ↔ receipt
→
Writes, then auditsone agent writes, another audits
→
ThresholdsHST · PST · US nexus · warns before the line
→
Accountantsmatched or not · proof or not
Monday cash report. Every number stamped with its source.
The one rule
Chat is not a record.
A chat evaporates. A record persists.
The gate · a real refusal from 18:40 tonight · while I sat here
The agent drafts.
The gate says no.
BEFORE
A support reply says "this is a bug on our side". Honest, and it lowers the customer's confidence in the product they just bought.
AFTER
The gate refuses the sentence, names the rule and the line. The agent rewrites it to the plain fact and the fix date. Sent 18:46.
$ tapin-send-as-founder.sh <customer> ... --marker FOUNDER-APPROVED-SEND:<my words>
REFUSED - SEND GATE: SEND BLOCKED — confidence words
(founder 2026-10-13: "words used to lower customer confidence is my worry")
[bug, issue on our side/end] "The warning is a bug on our side. ... The fix will be in tomorrow."
Rewrite those lines: fix first. Plain facts are fine; never blame the customer.
18:46 delivered resend_id 01a165c3-2960-… gmail copy read back
This week
Three misses. Three fixes.
- Memory guard killed the 22:01 ship. Re-ran at 22:09. Shipped.
- Router died after a config edit. Four hours unrouted. Now checked on every edit.
- Mail CLI dropped two recipients. Now the Sent headers are read back.
Every miss becomes a rule and an eval.
Why the gates · 1988, final year of college
700 opcodes by hand.
Every morning.
No storage. Switch it off, the program is gone. I was the memory.
One wrong key cost the morning.
If you build one
Three rules.
- 1One chat session is the chief of staff.
- 2Every decision goes on a thread. Chat is not a record.
- 3Nothing leaves the building without a gate and my words.
1988: I was the memory. The program lived in my head or not at all.
2026: the records are the memory. The company remembers, so it does not need me in the room.
Bahubali Shete · linkedin.com/in/bahubalishete · bahubali@gizmothings.com · Questions.