Notes from building BuildBase
Engineering decisions, teardowns, and the cost math behind them. Written by the people doing the work.
24 posts · page 1 of 2
What is a feature flag, and how long until flipping it reaches the user
A feature flag changes behaviour without a deploy. The part most definitions skip is how long the flip takes to reach a user, and which kinds of flag can live with the wait.
Bring your own Stripe, explained
Bring your own Stripe means you keep the Stripe account and the platform connects to it. What that changes: who the legal seller is, who owes the tax, and what it really costs.
What is a passkey, and which of the two kinds you just got
A passkey is a key pair your user's device holds and proves on your domain. A synced one and a device-bound one behave differently the day a phone dies, and the ceremony tells you which you got.
What is a SaaS backend, and which half of it is your product
A SaaS backend is the server side of a subscription product. What makes it a SaaS backend is not the stack but the account model it carries: tenant, permission, usage and subscription.
What are magic links, and what the click actually hands over
A magic link is a single-use URL emailed instead of a password. The token lives an hour. The session it buys lives thirty days, and that is the number worth arguing about.
Idempotency in billing, and why it matters
Idempotency in billing means a retried charge, usage event, credit debit or webhook takes effect once. Having a key is the easy part. What the key names is where double billing starts.
Idempotency keys on the metering write path
How BuildBase keeps a retried usage record from counting twice: a key per hop, minted where its quantity stops changing, and the one hop where our check still runs early.
Metered vs seat-based billing: charge for people or for work
Seat-based billing charges per person with access; metered billing charges per unit of work. Pick by what grows when a customer gets more value.
What are entitlements in SaaS, and what a plan change does to each kind
In SaaS, an entitlement is what a customer's plan lets them do: a feature, a limit, a quota or a credit grant. The four look alike until the plan changes.
What is multi-tenancy, and why the tenant is whoever pays
Multi-tenancy is one app serving many customers with their data kept apart. The decision that costs you later is which object in your schema is the tenant.
What is RBAC, and where it leaks in a B2B SaaS app
RBAC grants permissions to roles and roles to people. In a B2B app the role sits on the workspace membership, and the leaks are in the defaults, not the matrix.
Why a permission change no longer waits for the hourly refresh
RBAC permission propagation delay, from our code: role and grant changes land at the write, and the hourly refresh only catches writes that announce nothing.