SaaS platforms
Multi-account products where one organisation runs several businesses, each with its own data, permissions, branding and currency.
- Tenant isolation
- Roles and permissions
- Billing and plans
- Audit trails
02What we do
We design and build software products, and we run them. That is the whole job: the interface somebody uses at 23:00, the data model underneath it, and the deployment that has to survive the weekend.
02What we build
We are not a front-end shop that hands off an API contract. The data model, the interface, the deployment and the thing that pages somebody at midnight are all our problem.
Multi-account products where one organisation runs several businesses, each with its own data, permissions, branding and currency.
Web and mobile applications for the people doing the job, not for the demo. Built for a busy shift, a bad connection and a cheap tablet.
Devices that keep trading with no connection and reconcile without duplicating anything when the line comes back.
Sockets where they earn their place: a seat going grey as somebody else takes it, a till and a stock room agreeing within the second.
The part nobody sees and everybody feels. Data modelled once, migrations that are reversible, and reporting that refuses to invent a total.
Public APIs other people can build on, and the unglamorous work of making two systems that were never designed to meet agree on a record.
The toolkit
A short list, used properly. We would rather go deep on a stack we can operate than collect frameworks we have to relearn every project.
How an engagement runs
Most of the risk in a build is decided before anybody writes code. This is where we spend the effort.
Before anything is estimated we get to the shape of the thing: who uses it, what it has to survive, and which parts are genuinely hard. Most projects get smaller at this stage, not larger.
The data model and the interface are decided together, because a screen that needs three tables to agree is a data problem wearing a design costume.
Containerised, migrated, monitored and deployed from the first week. There is no separate hardening phase, because there is no prototype to throw away.
The codebase comes with its rules written down and a build that enforces them. Take it in-house, or leave it with us and keep shipping.
How we build
Not a manifesto. These are the six rules our own codebases are audited against, and the reason a product we shipped years ago is still one somebody can change.
Most integration pain is the same thing existing twice. We would rather model it once and let every surface read from it than reconcile two versions of the truth on a Monday morning.
A door and a till have to work at the worst moment of the night. Offline is designed in from the data model up, with ordered queues and idempotent replay, not bolted on as a retry.
Complexity belongs in the architecture, not in the interface. If somebody needs training to check a guest in, we built it wrong.
A report that cannot show its working is a liability. Figures trace back to the records that produced them, and a total we cannot justify does not get rendered.
Our products are years old and still moving. Conventions are written down, the rules are enforced, and the codebase stays something a new pair of hands can read.
The same people who wrote it run it in production. That is the shortest possible feedback loop between a bad decision and the person who has to live with it.
Selected client work
We occasionally work with companies that need a product, platform or system built properly. Same engineering standards we use on our own products, same people writing the code.
Start a project
Venue and ticketing site
The public site for a comedy, theatre and events venue in Gqeberha. Show listings, a three-step ticket checkout with customer accounts, venue tours and corporate enquiries, wired straight into EventSync so bookings land where the venue already works.

Creative studio site
A bilingual German and English site for a content and social advertising studio. Services, a portfolio, a blog and enquiry handling, with the language choice carried across every page and all content managed from a private admin area.
Build with us
Send us the shape of the problem. We will tell you what we would build, roughly what it takes, and whether we are the right people for it.