Skip to content

Data, jobs and rules that stay when the screen goes dark.

For teams that need records, payments, bookings or jobs behind the UI. We put schema in migration files, secrets in the environment, and logs where you can find a failure in Netlify or Sentry.

Back-end development

Back-end is what remains when the phone goes black. Postgres, jobs, webhooks, rights. StepQuests keeps booking, codes and admin on Next.js and Netlify. Weekboodschappen uses Supabase for data and RevenueCat for subscriptions. Bar Boef stores content in Netlify Database and media in Blobs. We do not run loose SQL on production.

What data persists, which actions may run later, and where secrets are allowed to live.

What you get

Schema and migrations, authentication where it belongs, jobs or webhooks you can read back, and logging to Netlify or Sentry. Secrets outside git. A path to retry a failed job if you need that for it.

How we start

Say what data persists, which actions may run later, and where secrets are allowed to live. First slice: one write path the UI can already use. Migrations ship in the review, not as afterthought. If a job fails, you should see it in the logs.

When this fits

This fits when the rules and the data are the job, with or without UI from us. A stand-alone front-end lives with front-end. A public API for partners lives with API development. The software-fit quiz suggests a shape if you are still choosing.

Ready to tell us what you need?

Sketch which data must persist and which jobs may run in the background. We reply with a price estimate. The quiz is there if the shape is still open.

Questions about this work

Which database do you use?
Often Postgres. Bar Boef runs on Netlify Database. Weekboodschappen on Supabase. The product and the host pick the store, usually Netlify.
How do you handle migrations?
Changes live in files in the repo. Production gets them through the deploy. Loose SQL on the live database is outside how we work.
Can you handle Stripe or RevenueCat webhooks?
Yes. Weekboodschappen uses RevenueCat for subscriptions. We wire the webhook, idempotency, and a log line when payment lands or fails. Stripe follows the same pattern.
Where do errors land?
In Netlify logs, and in Sentry if we put that in the job. A silent 500 with no trail is a bug in the delivery.