Nobody needs a second Bubble: its whole point is building an app without writing code, and a coding agent now writes that code for you. So the realistic replacement is your app as ordinary code on a server you control, and the prompt below gives an agent the pieces Bubble hands you: data types, generated pages, sign-up for your users, workflows on events and on a schedule, and an API. Expect a weekend for that base and more sessions to port a real app, because Bubble lets you export the data but not the pages or workflows. You give up the visual editor, the plugin marketplace and hosting that scales without you.
Before you buildBubble's free plan can't host a live app, so plan the move: export, rebuild, run both side by side, then cancel.
Build me a small app platform to replace Bubble for my own projects, where data types in a schema file become pages, an API and workflows. Requirements: - Node.js 22 + TypeScript: Fastify with server-rendered EJS pages, htmx for partial updates and Pico CSS for styling. `npm start` serves the app on port 4900. - schema.yaml declares data types and fields (text, number, yes/no, date, option set, file, reference, list of references). On start, create or migrate tables in better-sqlite3 at ./data/app.db. Never drop a column; print a warning instead. - For every type: a list page with search and pagination, a detail page, a create/edit form validated from the schema, and REST endpoints under /api/:type. - Users: sign-up, login and password reset by email (argon2 hashes, sessions in SQLite, nodemailer with SMTP from .env). Privacy rules per type in schema.yaml: who may view, create, edit and delete (anyone, logged in, owner, admin). - Workflows in workflows.yaml: triggers (record created, field changed, daily at a set time) and actions (set a field, create a record, send an email, POST to a webhook). Log every run to a table shown at /admin/runs. - Files: uploads go to ./data/files/ with size and type limits from the schema. - Importer: load a Bubble CSV or JSON export per type, keep Bubble's unique IDs so references between types survive, and print a report of skipped rows. - No telemetry and no outside services except SMTP. Out of scope: a visual page editor, plugins and native mobile apps. - README: how to add a type, how to deploy behind Caddy, and a nightly SQLite backup.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Bubble.
Add a Bubble Data API importer to the app platform in this folder. Requirements: - Read BUBBLE_APP_URL and BUBBLE_API_TOKEN (an admin token) from .env. - For every type in schema.yaml, page through /api/1.1/obj/<type> with the cursor parameter, 100 records at a time, and upsert by Bubble's unique ID. - Download every file field into ./data/files/ and rewrite the URLs, so nothing points at Bubble's storage after I cancel. - Dry-run mode prints counts per type without writing. - Update the README with how to enable the Data API in Bubble (Settings > API).
Help me port Bubble workflows into the app platform in this folder. Requirements: - Read my notes and screenshots from ./bubble-notes/, one folder per workflow. - For each, write the equivalent in workflows.yaml, or a TypeScript handler in ./workflows/ when YAML can't express it, and list any step you had to guess. - Add a test per workflow that creates sample records and checks the result. - Never change schema.yaml without asking first. - Keep a PORTING.md checklist of done and remaining workflows.
Add Stripe payments to the app platform in this folder. Requirements: - Read STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET from .env; start with test-mode keys. - A /billing page sends a logged-in user to Stripe Checkout for a subscription price set in .env. - A webhook endpoint verifies the signature and sets the user's plan field on checkout completion and subscription cancellation. - Privacy rules can require plan = paid. - Update the README with the Stripe CLI command for testing webhooks locally.
Founders who don't code pay because Bubble lets them build, change and host a real product without hiring anyone. Leaving means a rebuild, since only the data comes out, so the more logic an app holds, the cheaper the monthly bill looks next to a rewrite, even as workload units make it harder to predict.
Estimate · A $5–10 VPS hosts a small app, or nothing extra on a server you have. Transactional email fits in free SMTP tiers at low volume. Building the base and porting a real app are several agent sessions, so expect more token usage than a one-sitting build.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Development version only (no live site or custom domain), 50K workload units a month, 1 editor, 6 hours of server logs, 500 AI credits. |
| Starter | $32 | $29 | Live site on a custom domain, 175K workload units a month, 2 days of logs, basic version control, 1,000 AI credits. |
| Growth | $134 | $119 | 250K workload units, 2 editors, 14 days of logs, premium version control, two-factor login, 2,000 AI credits. |
| Team | $399 | $349 | 500K workload units, 5 editors, 20 days of logs, 25 branches, sub-apps, scheduled deployments, 4,000 AI credits. |
| Enterprise | custom | — | Custom workload units, choice of hosting region, SSO, dedicated support. |
Free lets you build and test with 50K workload units a month, but the app can't go live.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: The visual editor: every change goes through the agent or the code, The plugin marketplace and ready-made API connectors.
About $32 a month on the Starter (web) plan, $384 a year (checked 2026-10-13).
The visual editor: every change goes through the agent or the code; The plugin marketplace and ready-made API connectors; Native iOS and Android builds from the same project; Managed hosting, scaling and restore points; Bubble's AI page generation, templates and community answers. If any of those matter to you, keep paying.
Yes: Saltcorn (open source), Budibase (open source), Appsmith (open source).