S
supero.docs
Articles

Articles

Engineering articles from the Supero team on multi-tenant SaaS, access control and APIs, plus a walkthrough of each of the 19 open-source reference apps.

Articles

Long-form engineering writing from the Supero team.

Your field-level permissions probably leak through ORDER BY

Field-level permissions that mask the API response do not protect the field. If a caller can still sort, filter or group by it, they reconstruct it.

The multi-tenant SaaS checklist: six decisions to make now, one to ignore

The multi-tenant SaaS checklist: seven decisions, what each costs if you defer it, and the one everyone worries about far too early.

Platform vendor lock-in: what you can actually export

Platform vendor lock-in, compared: what Bubble, Retool, Lovable, Bolt, v0, Supabase and Supero each hand you on the way out, and what still calls home.

The client portal that used to take three months — and what to charge for it now

How much to charge for a client portal: the four-week build shape, the week-zero questions that win the job, and the pricing model that makes it recurring.

Three backend jobs whose first version is wrong and passes review

Payment compensation when the compensating action fails, two-phase inventory reserve, and the balance column that should have been a ledger. Three checks you can run today.

Building an app over MCP: the 33 tools, in the order they run

An MCP server with 64 tools, 33 of them for building and deploying an app. The full catalogue is readable without an account. Here is what each phase does.

Idempotency without an idempotency table: make the insert the lock

How to implement an idempotency key with a unique index instead of a lock: the deterministic name trick, why the row is deleted on failure, and the concurrency test that proves it.

Your unauthenticated test client is probably authenticated

A shared pytest fixture called api_client was documented as unauthenticated and was not. Thirty-two security assertions passed anyway. Three meta-tests you can copy.

Four ways a list endpoint lies to you, including ours

Unbounded default reads, a silent limit clamp, dropped filters answered with 200, and a keyset cursor that empties page two. Four list-endpoint failures and how to test for them.

The permission that returned zero rows to everyone, silently

Read filters and write stamps must be generated from one declaration. When they drift, the endpoint returns an empty list instead of an error, and empty looks exactly like new.

Querying a warehouse you do not pay for: five guardrails we had to build

Guardrails for reading a customer's warehouse: a fail-closed byte cap, a timeout pushed to the source, an injected LIMIT, mandatory type mapping, and a self-service kill switch.

A 409 should tell you what to do next

An error body that names the current state, whether it is terminal, the states the operation was allowed from, and what you can do instead. And why enforcing it centrally is harder than it looks.

Give your AI agent no credentials of its own

An AI agent that answers questions over your data should hold no credential of its own. How the caller's token is forwarded, where enforcement actually lives, and what is still open.

When a language model writes your schema, the resolver has to be stricter

Three things a schema system needs once a model is authoring the schemas: synonym folding at write time, refusing to guess an ambiguous base, and telling hard dependency edges from soft ones.

What Supero is, what it replaces, and what you still have to build

Supero in plain terms: a governed multi-tenant backend you generate or wrap around your own database. What it replaces, the four things you still build, and where it is weak.

Lumen is an open-source clinic booking app with a Google Calendar step

Lumen is an open-source clinic appointment booking app. Patients book visits and staff run the schedule. Source on GitHub, live demo at lumen.supero.live.

BrightSmile, a dental practice app where the patient accepts the plan

BrightSmile is an open-source dental practice app for a four-clinic group, with priced treatment plans patients accept. Code on GitHub, and it runs live.

How the Medora hospital patient portal keeps a lab flag from patients

Medora is an open-source hospital patient portal for a three-site network, with fields hidden per role. The source is on GitHub and a live demo is running.

TrialCore runs a clinical trial management app on six state fields

TrialCore is an open-source clinical trial management app with a sponsor console, coordinator view and public study registry. Code on GitHub, demo live.

One argument hides the arm in Helix, a multi-site clinical trial app

Helix is an open-source multi-site clinical trial app that hides the treatment arm from the investigator role. Source on GitHub, with a live demo.

In the Ledgerline billing dashboard, customers cannot edit the bill

Ledgerline is an open-source subscription billing dashboard with invoices, dunning and expense approval. Source open on GitHub, with a live demo running.

Sentinel's insurance claims portal ships tests for its own access rules

Sentinel is an open-source insurance claims portal for two insurers, with scripts that test its access rules. Source on GitHub, and it runs live as a demo.

Why a rep and a manager see different forecasts in the Summit sales CRM

Summit is an open-source sales CRM with accounts, leads, a deal pipeline and forecasts scoped to each rep. Source on GitHub, live at summit.supero.live.

Did the post go out? Amplify, a social media management app, records it

Amplify is an open-source social media management app that can post to four networks and records live or simulated delivery. Source on GitHub, with a live demo.

Wholesale marketplace app Atelier asks for net terms before a card

Atelier is an open-source wholesale marketplace app with multi-brand orders and Net 30 payment terms at checkout. The code is on GitHub and it runs live.

Concierge is an open-source help desk whose AI reads the help center

Concierge is an open-source help desk with an AI assistant, a ticket queue and an agent console. MIT source on GitHub, live demo at concierge.supero.live.

FieldOps runs a field service job from booking to captured payment

FieldOps is an open-source field service management app: quotes, dispatch, parts, signed work orders, payment. Source on GitHub, with a live demo.

Inside Relay, an open-source healthcare staffing marketplace app

Relay is an open-source healthcare staffing marketplace app with shifts, credential checks, timesheets and payouts. On GitHub, live at relay.supero.live.

Tavola's restaurant ordering system puts diner and kitchen on one row

Tavola is an open-source restaurant ordering system with a kitchen board, reservations and loyalty points. Source on GitHub, live at tavola.supero.live.

Backlot, a film production scheduling app with no call-sheet table

Backlot is an open-source film production scheduling app: slate, crew, strip board, call sheets by email and SMS. On GitHub, live at backlot.supero.live.

A real estate brokerage website in four schemas, open source as Haven

Haven is an open-source real estate brokerage website with listing search, tour requests and offers. Source on GitHub, live demo at haven.supero.live.

Why Lattice, a property management app, calls its renters Residents

Lattice is open-source multi-tenant property management software with leases, rent and maintenance requests. On GitHub, live at lattice.supero.live.

One tenant per location in Pulse, a multi-location gym management app

Pulse is open-source multi-location gym software where each gym is its own tenant, with classes and bookings. On GitHub, live at pulse.supero.live.

Gym class booking app PulseFit keeps its waitlist in a single field

PulseFit is an open-source gym class booking app with a weekly timetable, a waitlist and a member portal. Source on GitHub, live at pulsefit.supero.live.