What a Softr customer runs is usually one or two portals: a few tables, pages that list and edit records, sign-in, and rules about who sees which rows. An agent can rebuild one such portal on SQLite in a weekend, with magic-link sign-in and row-level permissions. It cannot rebuild the builder: the visual editor, the block library, the connectors to Airtable, Notion, Sheets and SQL, and the workflows that make the next portal an afternoon's work. If you expect to keep making new apps, a self-hosted builder fits better than a one-off.
Before you buildCheck Softr Free first: 5 app users and 5,000 records is enough for a very small portal and costs nothing. It has no custom domain.
Build me a client portal to replace Softr. Requirements: - Next.js 15 (App Router) + TypeScript + Tailwind CSS, with Drizzle ORM on better-sqlite3 in ./data/portal.db. `npm run dev` and `npm start` serve http://localhost:4910. - The data model comes from one file, portal.config.ts, listing tables and fields (text, number, date, select, checkbox, file, relation). Adding a table means editing the config and running `npm run migrate`. Seed two sample tables: Projects and Updates. - Roles: admin (me) and client users. Rows carry a client_id, and a client user sees and edits only rows whose client_id matches their company. Enforce it in one server-side query helper and add tests proving client A cannot read, update or delete client B's rows, including by guessing ids. - Pages generated from the config for each table: a list with search, sort, filters and pagination, a record page, and create and edit forms with validation. File uploads go to ./data/uploads with a 10 MB limit, an extension allowlist and random names. A dashboard shows counts per table. - Sign-in by emailed magic link: nodemailer SMTP settings in .env, a signed 15-minute token (`jose`), then an httpOnly session cookie for 14 days. The admin invites a client by email. No passwords. - Import: `npm run import:csv <table> <file.csv>` and a read-only Airtable import (`airtable` package, token in .env) one table at a time. No live sync. - Notifications: email the client when an Updates row is added for them, and email me when a client submits a form. - Single deployment, no telemetry, local-first. Secrets in .env. Outbound calls: SMTP and the Airtable import only. - Out of scope: a visual page builder, workflows, payments, per-client domains, white-labelling, mobile apps, other data sources. - README: the config format, inviting a client, deploying behind HTTPS (a Caddy example) because magic links need a public URL, and backing up ./data.
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 Softr.
Add comments on records to the client portal in this folder. Requirements: - Each record page gets a thread of comments with author, time and text (max 2,000 characters), stored in a comments table keyed by table name and record id. - Clients can comment only on rows they can see; the admin sees all threads. Escape comment text. - Email the other side when a comment is added, at most one email per record per hour. - Admin can delete a comment; deleted comments show "removed" and keep their timestamps. - Add tests for the permission rule. Update the README.
Add an audit log and CSV export to the client portal in this folder. Requirements: - Record every create, update and delete with user, table, record id, time and a JSON diff of the changed fields. Show the history on each record page for the admin. - A CSV export button on every list page that exports exactly the rows and columns the current user is allowed to see, with the current filters applied. - Escape cells that start with =, +, - or @ so spreadsheets do not run them as formulas. - Add tests for the escaping and for a client trying to export another client's rows. - Update the README.
Add a five-minute Airtable sync to the client portal in this folder. Requirements: - In portal.config.ts a table can name an Airtable base, table and field mapping. - Every 5 minutes, fetch changed records (`filterByFormula` on last modified time) and upsert them by Airtable record id. Records deleted in Airtable are marked removed, not erased. - Edits made in the portal for a synced table are pushed back to Airtable through the API; if the same record changed on both sides, keep Airtable's version and log the conflict. - Respect Airtable's rate limit of 5 requests per second per base with a queue. - Show last sync time and errors on the admin dashboard. Update the README.
Softr lets someone who does not code ship a branded portal over data they already keep in Airtable, Notion or Sheets. Hosting, sign-in, permissions and a mobile layout come with it, so a freelancer can give a client a login without running a server. Pricing follows app users and records, so a small portal stays cheap until it grows.
Estimate · Runs on a $5 VPS with SQLite; email at this volume fits a free SMTP tier. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/workspace | $0/workspace | Up to 3 builders, 5 app users, 5K database records, 500 workflow actions a month, 5 AI credits a month, unlimited apps, databases and forms, the Softr API and MCP. |
| Basic | $25/workspace | $19/workspace | 1 builder included (extra $5 a month), 5 team plus 5 client app users, 50K records, 2.5K workflow actions a month, 10 AI credits, a custom domain, conditional form logic, automated database backup. |
| Pro | $119/workspace | $99/workspace | 2 builders included (extra $10), 10 team plus 50 client app users, 500K records, 10K workflow actions a month, 50 AI credits, Softr branding removed, Google sign-in and one-time codes for app users, granular permissions, comments, custom code and API connectors. |
| Business | $395/workspace | $329/workspace | 3 builders included (extra $20), 30 team plus 100 client app users, 1M records, 25K workflow actions a month, 100 AI credits, two-factor authentication, domain-restricted sign-up, installable mobile app (PWA), push notifications, priority support. |
| Enterprise | custom | — | Custom limits, SSO, SCIM, audit logs, custom agreements and SLAs, a customer success manager. |
Free forever: up to 3 builders, 5 app users and 5,000 database records.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: A visual editor and block library for building the next portal in an afternoon, Live connectors to Airtable, Notion, Google Sheets, HubSpot and SQL databases.
About $25 a month on the Basic plan, $300 a year (checked 2026-10-19).
A visual editor and block library for building the next portal in an afternoon; Live connectors to Airtable, Notion, Google Sheets, HubSpot and SQL databases; Workflows and automations that run on triggers; Custom domains, Google sign-in and white-labelling for client users; The AI co-builder that drafts an app from a description. If any of those matter to you, keep paying.
Yes: Baserow (open source), Budibase (open source), Appsmith (open source).