Software,
drawn to scale.
Naughty Bean Consulting is a small South African software engineering studio. We design, build and run web apps, mobile apps and multi-tenant SaaS platforms. Some of them are ours. The next one could be yours.
Drawing register
Products we have built and run| No. | Product | What it is | Stack | Status | |
|---|---|---|---|---|---|
| P-01 | ClickCollect Branded online ordering for coffee shops, on their own domain. | Branded online ordering for coffee shops, on their own domain. | Django · PostgreSQL · HTMX | Live | |
| P-02 | RoastPOS A tablet-first point of sale that knows what every drink actually costs. | A tablet-first point of sale that knows what every drink actually costs. | Django · PostgreSQL · PWA | Live | |
| P-03 | Naughty Bean Coffee Store Our own coffee brand's online store, built to retire Shopify. | Our own coffee brand's online store, built to retire Shopify. | Django · PostgreSQL · Tailwind | Live | |
| P-04 | CremaIQ Coffee operations in one portal: machine tickets, SOPs, shifts and telemetry. | Coffee operations in one portal: machine tickets, SOPs, shifts and telemetry. | Django · PostgreSQL · Procrastinate | In build | |
| P-05 | NaughtyPay South African payroll: PAYE, UIF, SDL, bank files and SARS outputs. | South African payroll: PAYE, UIF, SDL, bank files and SARS outputs. | Django · PostgreSQL · WeasyPrint | In build | |
| P-06 | 93 Degrees One multi-tenant platform for coffee businesses, with POS, ordering, inventory, payroll and operations as modules. | One multi-tenant platform for coffee businesses, with POS, ordering, inventory, payroll and operations as modules. | Django · PostgreSQL · django-ninja | In build | |
| P-07 | APhinity AI AI accounts-payable intelligence for multi-site property portfolios. Client engagement. | AI accounts-payable intelligence for multi-site property portfolios. Client engagement. | NestJS · React · FastAPI · AWS | Client work | |
| P-08 | Scutiva OSS Self-hosted, agentless security posture and SBOM for Linux fleets. | Self-hosted, agentless security posture and SBOM for Linux fleets. | Django · PostgreSQL · SSH | Open source | |
| P-09 | AtlasHub Project tracker and wiki in one self-hosted Django monolith. | Project tracker and wiki in one self-hosted Django monolith. | Django · PostgreSQL · HTMX | Internal | |
| P-10 | NaughtyScrape A lead-generation CRM that scrapes Google Maps and enriches from the web. | A lead-generation CRM that scrapes Google Maps and enriches from the web. | Django · PostgreSQL · Google Places | Internal | |
| P-11 | NaughtyClock Biometric clock-in terminal to Sage timesheets, with no cloud in between. | Biometric clock-in terminal to Sage timesheets, with no cloud in between. | Django · PostgreSQL · Hikvision | Internal |
Scope of works
Summary — see sheet 02 for the full specification- 1.0
Web applications
Customer portals, storefronts, back-office systems and the admin tooling nobody budgets for. Server-rendered by default, with just enough JavaScript to feel instant.
- 2.0
Mobile apps
Installable progressive web apps that work on a till, a barista's phone or a warehouse scanner. Offline-tolerant where the job demands it. Native builds when the brief genuinely needs the hardware.
- 3.0
SaaS platforms
Multi-tenant systems with schema-level isolation, subscription billing, custom domains with automated certificates, and role-based access that holds up under audit.
- 4.0
Integrations
Yoco, PayFast, Stripe, Paystack, iKhokha and Stitch for payments. Twilio for WhatsApp. Xero and Sage for accounting. Courier APIs, espresso-machine telemetry and biometric terminals when the job calls for them.
- 5.0
Cloud & delivery
AWS multi-account landing zones, ECS and RDS defined in CDK, GitHub Actions pipelines, and honest monitoring. Or a single well-kept VM when that is the right size.
- 6.0
Security & AI features
Penetration-test remediation, row-level tenant isolation, MFA and append-only audit trails. AI where it earns its keep: document extraction, ticket triage, order parsing over WhatsApp.
Revision history
How a build runs, from brief to live| Rev | Stage | What happens | You get |
|---|---|---|---|
| A | Brief | A conversation about the problem, not a deck about us. We ask what the software has to do on a busy Monday, who runs it, and what breaks today. | Written brief · rough sizing · a straight answer on fit |
| B | Drawing | Scope, data model, screens and integrations drawn up before anything is built. Where the brief is fuzzy, a clickable prototype settles it. | Specification · prototype · fixed quote and schedule |
| C | Build | Weekly ships to a staging URL you can use from the first week. Real data, real integrations in sandbox mode, and tests for the parts that handle money. | Staging environment · weekly demo · source in your repository |
| D | Live | Deployment, monitoring, handover documentation and the option to keep us on to run it. We build things we would be willing to operate ourselves, because we usually do. | Production release · runbook · optional retainer |
General notes
Read in conjunction with all sheets- All work is drawn in South Africa and quoted in Rand. We work remotely with clients anywhere.
- Django and PostgreSQL unless the brief gives a reason otherwise. Boring, documented and easy to hire for.
- Every product in the register runs in production or is on its way there. Nothing here is a mock-up.
- We also run a coffee business. Most of our products started as a problem behind our own counter.
- Source code, infrastructure and data belong to the client. We do not hold anything hostage.
- Estimates are estimates. Quotes are fixed. We tell you which one you are looking at.
Tell us what to build.
A web app, a mobile app, a platform, an integration nobody else wants to touch. Send the brief, we reply with questions, a scope and a price.