Selected work, 01
One platform, 5 businesses.
At my day job I am lead builder of the platform a group of businesses run their days on. It is one codebase. Each business gets its own copy of the tools it needs, its own data, and its own AI assistant. I started it in April 2026.
2,199commits of mine since April 2026
5businesses on one codebase
31Workers in the codebase, mine and a teammate's
See it run
This is working software for paying businesses, so there is no public link and no real screenshot here. What I can show is the test that matters most on a shared platform. I asked it, 30 different ways, for another business's data.
Isolation test, first run
30 attempts to reach another
business's data
24 refused
6 answered with the caller's
own data instead
0 returned another business's data
A copy of the tools running on made-up data is the next thing I am building for this page.
What runs on it
- Sales hub. Managers see the whole team: numbers, roster, training calls and schedules. Each rep gets their own daily view. One address, and the menu changes with your role.
- Membership portal. Sign up, pay by card each month or year, and land in your own area. Members, referral partners and staff each see a different one.
- Task manager. The one tool every kind of business needed. 4 of the 5 use it.
- Admin portal. Where the team that runs the platform sees every business, every error and every release.
- Coaching business suite. A client and staff portal, a public website that captures leads, and events pages.
- Affiliate portal. Apply, get a trackable link, see who you brought in.
- An AI assistant for each business. In Slack, Telegram and web chat.
These are the tools I built or mostly built. A teammate built others on the same platform.
How a request reaches data
Two locks. The first is in the platform's own code. The second is in the database, in case the first is ever wrong.
The choices, and why
-
Every business gets its own copy of a tool.
The sales hub one business uses is not the same running program another business uses. Each copy is tied to one business on the day it is deployed. A setting, a slowdown or a mistake in one copy stays in that copy.
31Workers in the codebase
-
The platform decides which business you belong to.
A request does not get to say "I am from business B". The platform checks who is signed in, looks up their business itself, and only then reads data. The business is never taken from what the browser sent.
The first lock
-
The database is the second lock, and I say so.
It would sound better to say the database keeps everyone apart. It is not the main control here. The platform's own code is. The database rules are the backup, and a new table starts closed to everyone until it is opened on purpose.
The second lock
-
One change reaches every business, staging first.
When a shared tool changes, each business that uses it gets a test copy of the change. After the change is approved, the script works out which businesses use that tool and updates each of their copies. Nobody updates 5 businesses by hand.
One change, many copies
-
The assistant learns a business from its documents.
Each business keeps its notes and plans as plain documents. When one changes, the assistant's knowledge is rebuilt from them in nine ordered parts, inside a fixed size limit. Anything the assistant wrote down by itself is never overwritten.
9parts, one size limit
-
Looking inside a client's account expires.
Sometimes support has to see what a client sees. That takes a named person, a written reason, and it ends after 60 minutes. It is not a standing key.
60minutes, then it closes
What broke
-
A phone fix was checked on a desktop.
A fix for small screens was handed over as a link. The link opened in a normal desktop browser, which showed the desktop layout. The check proved nothing, because the bug was only on a phone. Now anything about phone behaviour is handed over inside a phone-sized frame, and the smallest width that used to break is a named step.
Aug 262026
What I would do next
- There is no public demo. A copy running on made-up data would let anyone click through these tools.
- The core of the platform is one file of more than 19,000 lines. It works, and it is harder to review than it should be.
- The tools are checked by browser walks and by the tests on the AI guards. They do not have unit tests of their own, the way Stretch does.
Each of these is a real gap today.