Line-of-business web apps
The system a business actually runs on: quoting, invoicing, stock, scheduling, customer records. Built around how the work is really done, not around a template that nearly fits.
backends since 2003 · payments · aws
Database-driven web applications, built end to end and run on AWS.
01 / what I build
The system a business actually runs on: quoting, invoicing, stock, scheduling, customer records. Built around how the work is really done, not around a template that nearly fits.
Properly modelled Postgres or SQL Server, with the money, the dates and the audit trail treated as things that must never be wrong. Migrations, backups, and a restore that has been tested.
Card and EFT gateways, recurring billing, email and SMS, and whatever the business already uses. Years of it inside payment systems, including EMV card applications, where mistakes are expensive.
EC2 or containers, RDS or a database you own, SES, SNS, S3, TLS, monitoring, and a deploy you can run yourself. Sized for what the business is, not for a conference talk.
An Android app when the job happens away from a desk, sharing one server-authoritative backend with the website so the two can never disagree about what was invoiced.
An application whose original developer has gone, or a spreadsheet that has outgrown itself. I'll read it, tell you honestly what it needs, and say so if the answer is less than you think.
02 / built and running
chatbill.co.za ↗ · invoicing for South African tradesmen
A tradesman types a job the way he'd type a WhatsApp message, and ChatBill turns it into a proper quote or invoice: VAT worked out, his business name and banking details on it, sent on WhatsApp or by email before he has packed up the tools.
Behind that one message box sits everything I do. A parser that reads a South African price list. Postgres holding invoices, payments, statements and a full ledger. Recurring subscriptions through PayFast. Transactional email through SES and one-time passwords through SNS. PDFs generated on demand rather than stored. An Android app on the same server-authoritative API. Caddy, containers and a scripted deploy onto AWS in Cape Town, with automated backups and an admin dashboard reporting disk, memory and database health.
Designed, built, deployed and run by me, start to finish.
03 / where this comes from
The part nobody sees and everybody depends on. Long enough to have watched several fashions come round twice, and to know which of them were worth keeping.
Stock held, allocated and distributed digitally, where the count has to reconcile every time and a customer is holding the other end of the transaction while it happens.
Presentation, business logic and data kept properly apart, so the rules live in one place and the same system can be reached by a website, a phone and whatever comes next.
Balances, rating and billing in both directions, with the reconciliation that proves them. Money moving in real time is unforgiving of a rounding decision made carelessly.
Payment software running on the terminal itself, to the card schemes' rules. Certification, key handling and a transaction flow that has to be right whether the network drops, the card is pulled early or the battery dies mid-authorisation.
The phone, the API and the database built together rather than an app bolted onto somebody else's endpoint, so the two can never disagree about what happened.
04 / how it works
Not about technology. What the business does, where the time goes, and what going wrong actually costs.
In writing, in plain language, with what is not included stated as clearly as what is.
Working software on a real URL, not screenshots. Changing your mind is cheapest while it's still being built, and I'd rather you did.
Deployed, backed up, monitored, and handed over with the documentation to run it. Support afterwards if you want it, no lock-in if you don't.
05 / start a project
Roughly is fine. I'll tell you honestly whether I'm the right person for it, what it's likely to cost, and how long it will take.