- 3
- Apps in production
- 6
- Stock categories
- 3
- Notification channels
TC Club
LiveA cannabis club in Limpopo ran on WhatsApp groups and a paper stock book. Now it runs on three connected apps.
Client build
Custom systems, mobile apps and AI for companies that have outgrown WhatsApp groups, spreadsheets and paper.

Selected work
Open the live ones and look. The rest are in build, and we would rather show you that than pad this page out.
A cannabis club in Limpopo ran on WhatsApp groups and a paper stock book. Now it runs on three connected apps.
Client build

Photograph a South African ID, licence or passport. Get back structured JSON your code can use.
Our product

Forged government quotation requests cost suppliers real stock. This reads every one that lands and says which are fakes.
Our product

Sizes resin, pigment and primer off the floor plan, then packs the order into the kit sizes actually on the shelf.
Our product
Premiums, loans, interest and the year-end payout, on a ledger nobody can quietly edit.
Our product
Six things that are simply different here. Getting any one of them wrong costs a South African business money.
Payments
Yoco, Payfast and Paystack take a payment from a South African card and settle into a South African bank. Stripe will not open an account for most businesses here, so we do not build on it and then leave you to find out.
POPIA
Access is role-based and every read against personal data leaves a record. When someone asks who looked at a customer file, the answer is a query, not a recollection.
SARS
Tax invoices run on one gapless sequence and are corrected by credit note, never quietly edited. VAT works whether you are a registered vendor or not, because most small businesses are not.
Messaging
People here read WhatsApp first and email second, if at all. Every system we build can reach a person on the channel they already use, and lets them choose which one that is.
Bandwidth
We build for a three-year-old Android on a weak signal outside a metro, because that is the phone your customer is holding when they try to place an order.
Uptime
No part of what we build depends on a computer in your office staying on. When the power goes, the system does not go with it.
Every person applying to join TC Club had to photograph their identity document, and somebody had to read it and type it in.
A borrower applying through a portal, holding up the same green book or smart card, waiting on the same manual retyping.
Jonga OCR reads South African identity documents and returns structured JSON. It is live, it is billed in rand, and it started as one screen in one club.

{ "success": true, "documentType": "sa-id-smart-front", "confidence": "high", "data": { "surname": "MOKOENA", "names": "LERATO PRECIOUS", "sex": "F", "nationality": "RSA", "idNumber": "9103140000088", "dateOfBirth": "1991-03-14", "countryOfBirth": "RSA", "citizenshipStatus": "Citizen" }}Most work starts as one of these. Most of it ends up being two or three, because a business is not organised the way a service list is.
All servicesOne system that holds your members, your stock, your orders and your money, instead of four that quietly disagree with each other.
Android and iOS for the phones your customers actually carry, built to keep working when the signal drops to one bar.
Portals, dashboards and application forms that load fast on an office laptop and on a phone standing on a site.
Reading documents, sorting an inbox, answering the same question for the hundredth time. Work that was costing somebody their afternoon.
Your accounting, your payments and your stock stop needing a person to retype the same figure into all three.
We sit with the people who do the work, not only the person paying for it. You leave with a written scope and a fixed number, before any code exists.
You see working software every week, on a real address you can open. What is wrong is cheapest to fix in week two, so we make it easy to find in week two.
We move your real data across, put it in production, and train the people who will be using it on a Monday morning.
Software that runs a business needs someone who answers when it breaks. We stay on afterwards. That is the part most shops skip.
It depends on scope, and we are not going to pretend otherwise on a web page. What we will do is put a fixed number in writing before any code is written, so you are never quoting against a moving target. That number comes out of the first call and the scoping that follows it. We are also not the cheapest. If the lowest number is the only thing that matters, a template and an offshore hourly rate will beat us, and we would rather say so now.
A first version that real people can use is a matter of months, not weeks and not years. The exact dates come with the scope, in writing, and you see working software every week in between so you are never waiting in the dark to find out.
We stay on. A system that runs a business does not stop needing attention the day it launches: rules change, SARS changes, a supplier changes their file format. The common story about development shops is that they disappear after handover, and it is common because it keeps happening. We build the running arrangement into the engagement from the start.
You do. The repository, the database and the hosting accounts are in your name and your billing from the first day. If you ever want to take the work to another team, you take it, and nothing here is built to make that painful.
Yes. We are based in Johannesburg and work remotely across all nine provinces. TC Club is in Tzaneen and Polokwane, and the entire build and handover ran remotely.
Usually. If your accounting, payments or stock already lives somewhere that works, the goal is to connect to it rather than replace it. Where a system has no way in, we will tell you that plainly instead of promising an integration that turns into a scraping project.
Thirty minutes, no charge, no slide deck. We will tell you whether this is something we can build and roughly what it would take. If it is not a fit, we will say so on the call.