Naughty Bean Consulting
Sheet 00 Index
Sheet 00 Index Rev D Software engineering · South Africa

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.ProductWhat it isStackStatus
P-01ClickCollect Branded online ordering for coffee shops, on their own domain.Branded online ordering for coffee shops, on their own domain.Django · PostgreSQL · HTMXLive
P-02RoastPOS 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 · PWALive
P-03Naughty 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 · TailwindLive
P-04CremaIQ Coffee operations in one portal: machine tickets, SOPs, shifts and telemetry.Coffee operations in one portal: machine tickets, SOPs, shifts and telemetry.Django · PostgreSQL · ProcrastinateIn build
P-05NaughtyPay South African payroll: PAYE, UIF, SDL, bank files and SARS outputs.South African payroll: PAYE, UIF, SDL, bank files and SARS outputs.Django · PostgreSQL · WeasyPrintIn build
P-0693 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-ninjaIn build
P-07APhinity 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 · AWSClient work
P-08Scutiva OSS Self-hosted, agentless security posture and SBOM for Linux fleets.Self-hosted, agentless security posture and SBOM for Linux fleets.Django · PostgreSQL · SSHOpen source
P-09AtlasHub Project tracker and wiki in one self-hosted Django monolith.Project tracker and wiki in one self-hosted Django monolith.Django · PostgreSQL · HTMXInternal
P-10NaughtyScrape 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 PlacesInternal
P-11NaughtyClock 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 · HikvisionInternal
Status key: live · in build · open source · client work · internal Open the full register

Scope of works

Summary — see sheet 02 for the full specification
  1. 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. 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. 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. 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. 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. 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.

Clauses 1.0–7.0 in full on the services sheet Read the specification

Revision history

How a build runs, from brief to live
RevStageWhat happensYou get
ABriefA 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
BDrawingScope, 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
CBuildWeekly 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
DLiveDeployment, 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
  1. All work is drawn in South Africa and quoted in Rand. We work remotely with clients anywhere.
  2. Django and PostgreSQL unless the brief gives a reason otherwise. Boring, documented and easy to hire for.
  3. Every product in the register runs in production or is on its way there. Nothing here is a mock-up.
  4. We also run a coffee business. Most of our products started as a problem behind our own counter.
  5. Source code, infrastructure and data belong to the client. We do not hold anything hostage.
  6. Estimates are estimates. Quotes are fixed. We tell you which one you are looking at.
Request for quotation

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.