Client portal
Build a client portal that shows each client only their own data
A client portal is a permission problem first and a design problem second. Each client must see only their own projects, files and invoices, your team must see everything, and nobody should have to manage that by hand.
Emberblocks handles it with roles and per-user record filters over your existing data, and prices the result by app users rather than seats, so fifty client logins fit in one plan. Agencies can build in their workspace and transfer the app to the client's.
Builders are always free. Facts about other products on this page were last checked on . Tell us if something is out of date: hello@emberblocks.com.
What a portal needs and how Emberblocks does it
One login per client
App users with a client role. Users can be loaded from a clients table in your data, so adding a client adds a login.
Only their rows
Views and blocks filter by the signed-in user with RECORD and user expressions. A client never sees another client's project, even by URL.
Files and approvals
File fields for deliverables, a status select with an approve button, and a workflow that emails your team when a client approves.
Comments
Threaded comments on any record with mentions that notify the right person in the app.
Public pages
Some pages need no login at all: a public link shows a view to anyone with the URL.
Your brand
Theme colours and logo per app; the Emberblocks badge can be removed on paid plans. Custom domains are not available yet.
Agency handover
Build the portal in your workspace, then transfer the app to the client's workspace by email invite when the engagement ends, or keep hosting it.
Airtable or Postgres underneath
Keep the data where your team already works. Airtable bases are mirrored with two-way sync.
How it works
- 1
Connect or import the data
Start on a built-in database, your own Postgres (Supabase, Neon, RDS, anything that speaks Postgres) or an Airtable base, or upload a CSV. Tables and columns are detected.
- 2
Describe the app, or start from a template
Ember drafts tables, views and workflows from a sentence or two. Or open one of ten working templates in the editor without an account.
- 3
Arrange the blocks
Drag tables, cards, record pages, kanban boards, calendars, maps, timelines, charts, stats, forms, buttons, comments, activity feeds, file viewers, signatures, barcodes and embeds onto a grid. Each block reads a table; filters, sorts, groups and formulas are configured in the inspector.
- 4
Set roles and publish
Roles decide which views a user sees and which fields they can read or edit; app users can be loaded from a table in your own data. Every publish is a versioned snapshot you can inspect and roll back, with a stable and a latest channel.
What you get in Emberblocks
Your data, live
Start on a built-in database, your own Postgres (Supabase, Neon, RDS, anything that speaks Postgres) or an Airtable base. Apps read and write live rows, so there are no exports to keep in sync.
Blocks on a grid
Drag tables, cards, record pages, kanban boards, calendars, maps, timelines, charts, stats, forms, buttons, comments, activity feeds, file viewers, signatures, barcodes and embeds onto a grid and wire them to tables. What you arrange is exactly what your team gets.
Real field types
Fields include text, email, phone, URL, number, boolean, date, date-time, time, duration, select, multi-select, reference, multi-reference, image, file, signature, address and JSON. Barcode scanning and signatures work in the browser without a native app.
Workflows
Workflows run when a row is created, updated or deleted, on a schedule, or from a button; steps update records, send email, call webhooks, branch on conditions and run code.
Roles and permissions
Roles decide which views a user sees and which fields they can read or edit; app users can be loaded from a table in your own data.
Publishing like software
Every publish is a versioned snapshot you can inspect and roll back, with a stable and a latest channel.
Phones and offline
Published apps are responsive, install on a phone's home screen, and queue edits made offline until the connection is back.
AI where it helps
Ember drafts a first version of an app from a plain-language description, and end users can ask questions of the data in plain language when you turn it on.
Questions
- How is a client portal priced?
- By app users, the people who sign in to the published portal. Builders and your own team members who build are free. The pricing page lists app users per plan and the cost of extra blocks on Pro and Business.
- Can clients upload files?
- Yes. File and image fields accept uploads from a form or a record page, with per-plan storage allowances.
- Can I white-label it?
- You can set the theme and logo and remove the badge. Custom domains are not available yet.
- Where does my data live?
- Wherever you want it. Use the built-in database, connect your own Postgres so rows never leave your server, or point an app at an Airtable base. Airtable bases are mirrored into Postgres and kept in sync both ways.
- How is Emberblocks priced?
- Builders are always free. Paid plans are priced by the number of people who sign in to your published apps: Starter $29, Pro $79 and Business $199 a month billed yearly. Every new workspace starts with a 14-day Pro trial, no card needed, and there is a free plan after that. Full details on the pricing page.
- What does Emberblocks not do yet?
- Custom domains, SSO and an Enterprise plan are not available yet. There is no live Google Sheets connector (import the sheet as CSV instead). Apps run in the browser and install to the home screen; there are no App Store or Play Store builds.
Try it on your own data.
Every workspace starts with a 14-day Pro trial without a card. You can also open a template in the editor first and sign up only when you want to keep it.