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
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.
On this page