Database
Each customer gets their own PostgreSQL schema. Provide a table editor UI and an auto-generated REST API on top of it.
A complete, opinionated blueprint to design, build, and launch a Forge platform — Postgres, Auth, Storage, Realtime, SDK, and billing — for paying customers on your own domain.
Each service is independent and runs in its own container. You can swap any layer without rewriting the rest.
Handles all customer requests
One DB per customer project
Sign up, login, tokens
Files and images for customers
Live data updates
Customer-facing website
A pragmatic timeline for a solo or two-person team. Ship infrastructure first, polish UI last.
Buy a VPS, install Docker, set up PostgreSQL and MinIO. Configure your domain, reverse proxy and SSL certificates.
Build Auth, Database API, Storage, and Realtime as separate services. Each customer project gets isolated resources and credentials.
Build the website where customers sign up, create projects, manage their database, and copy their API keys.
Add paid plans with Stripe, then publish a JavaScript/Python SDK so customers can connect from their apps in two lines.
The dashboard is what customers pay for. Each surface below maps to a database table, an API endpoint, and a UI.
Each customer gets their own PostgreSQL schema. Provide a table editor UI and an auto-generated REST API on top of it.
Email/password plus OAuth providers. JWT tokens. Row-level security policies scoped per project.
File upload buckets per project. Public/private access policies. Optional image transformation pipeline.
WebSocket subscriptions on database changes. Customers listen to table events as they happen.
Auto-generate anon and service-role keys per project. Customers paste them into their app and ship.
Show customers their DB size, API calls, storage used, and active connections in one view.
Self-host the heavy parts. Let it scale into managed services as paid usage justifies it.
I can write the full code for any section — backend services, the customer dashboard, Docker Compose, or the SDK. Tell me where to start.