Every Monday someone on your team writes the same email to twelve clients. Here is where your project is, here is the file you asked for, we are still waiting on your logo. Half the replies ask for a file that was sent three weeks ago. So you search for client portal software, and you find thirty products that each want you to work their way.

We build client portals for service businesses, and in 2026 we almost never tell a client to buy one. A custom client portal, built around the way you already work, costs less and ships faster than most people expect, because AI-assisted development took a large share of the hand-written code out of the job. Below are the products people usually compare and where each one stops fitting, then the two paths we actually use: a no-code portal on Airtable for a quick start, and a fully custom build.

The short answer: build the portal around your workflow

A portal is a login, a permission rule and a few screens on top of your data. The data is the valuable part: your clients, their projects, the documents and the requests going back and forth. A SaaS portal asks you to move that data into its model and pay for it every month, for as long as you have clients.

Building used to be the expensive option, so the trade made sense. Most of a portal is screens that list, show and edit records, and that part is now generated and reviewed instead of written line by line. What is left is the part that was always the real work: deciding who sees what, and connecting the portal to the systems you already run.

So there are two paths worth comparing:

The client portal software people compare, and where each one stops fitting

If you searched for the best client portal software, these are two of the names that come up. Each one is a reasonable product. Each one also has a point where your business starts bending to fit it.

HubSpot customer portal. Part of Service Hub Professional and Enterprise. Clients log in to view and reply to their support tickets and read your knowledge base. If your portal is a help desk, that fits. If clients need to see project stages, approve deliverables or download a monthly report, you are working against a tool built around tickets, and Service Hub is priced per seat for your team.

SharePoint. Many companies already pay for it, and guests from outside your organisation can be invited to a site without a licence of their own. It is built for documents. Permissions are set per site, library, folder or file, which gets hard to audit with fifty clients, and when you share one folder with several guests they can see each other’s names in its access panel. SharePoint works as a client portal for file exchange. Anything with a workflow needs Power Automate and someone who maintains it.

The pattern is the same for both. The product decides what a client, a project and a request are. When yours are different, you either change your process or keep a spreadsheet next to the portal, and the spreadsheet is where the client emails come from.

What AI changed about building custom software, and what it did not

What got faster is the predictable code. A list of projects filtered to the logged-in client, a project detail page, an upload form, a request form with validation, the screens your own team uses to manage all of it. Login and password reset come from established libraries. In our builds, an engineer describes these screens, an AI model writes them, and the engineer reviews and corrects the result. Those screens are most of what a client portal is.

On the portal we are building now, the login, the screens that list and edit records, the client dashboard and the code that applies the permission rule took about 4 hours of work.

What did not get faster:

AI made the predictable code cheap. The list above still needs a senior engineer, and it is where a cheap portal goes wrong.

When a no-code portal on Airtable wins

Start here when most of these are true:

A no-code portal is also how you find out what the portal should be. Clients use it for a few months, you see which pages they open, and if you later go custom, the base is already the specification.

What a no-code client portal looks like inside

Most of the portals we build on Airtable sit on the same five tables.

Illustration of an Airtable base behind a client portal: a Clients table linked to Contacts, Projects and Requests, with Documents linked to Projects. The Contacts table holds the email each client user logs in with, and Documents carries a Visible to client checkbox.

The permission rule is one sentence: a logged-in contact sees records whose Client is their Client. In Softr that is a filter on each list or detail block, matching the record’s Client to the logged-in user’s. In Airtable Interfaces, you invite clients as interface-only collaborators and filter pages by the current user, or use Airtable Portals, the paid add-on for guests outside your organisation. The guide to Airtable interface examples covers the three ways to share a page with a client and the catch in each. Requests come in through a form, and if you need conditional questions or file uploads that feel finished, Fillout instead of Airtable’s own forms is usually the better fit.

What the client sees is small on purpose:

Illustration of a client portal page for a client called Northwind: their two projects with stage and next delivery, a Waiting on you list with one item, a list of shared documents, and a New request button.

The weak spot is where that rule lives. In a no-code portal it is a filter on each page or block, so a new page added without the filter shows every client’s records. Anyone who adds a page has to know that, and someone should check each new page as a client before it goes live.

When to build a custom client portal

These are the signals that move a project from no-code to custom. One of them can be enough.

Inside a custom client portal we are building

We are building one now, for a client whose permissions and data model did not fit a portal product or an Airtable front end.

Whatever the business, a custom portal’s structure comes down to the same few decisions:

Illustration of the permission model of a custom client portal: client companies own users, each user has a role within their company, every project, document and request row carries the company it belongs to, a share table grants one record to a second company, and staff users sit outside the client scope with their own roles.

On top of that sit the screens the client sees: their projects with stage and next step, what is waiting on them, their documents, their requests, and their invoices.

The app is hosted on Vercel. Supabase holds the database and handles login, and the company rule is enforced with Supabase row level security: a Postgres policy the database applies to every query, whichever screen sends it.

We fix the scope in writing before the build starts. The first version covers what a client needs to log in and see their own work: their projects, their documents, their requests, their invoices and the roles inside their company. Paying inside the portal, e-signature and extra integrations go on a written list for a later version, priced separately, once clients have used the first one and you can see what they actually ask for.

If a portal like this is on your list, book a call. We will scope it with you, and if a no-code portal on your base would do the job, we will tell you to build that first.

What a custom portal costs over three years, compared with a SaaS portal

Over three years, at your real client count, the two costs have different shapes.

Most SaaS portals start cheap and grow in steps. You pay per seat or per plan every month, and you climb a tier when your team or your active client contacts pass the plan’s limit. The total depends on how many clients you add, which is the number you want to go up.

A custom portal costs most at the start, while it is built. After that you pay for hosting and for whoever maintains it, and that does not change much whether you have twenty client users or two thousand. The portal we are building runs on Supabase Pro, listed at $25 a month, and Vercel Pro, listed at $20 a month for one developer seat. That is about $45 a month in hosting at list prices, before any usage past the plans’ included limits.

Illustration of a schematic three-year cost comparison with no figures: a SaaS portal line that starts low and gets steeper each time client users pass a plan limit, and a custom portal line that starts higher with the build and then stays nearly flat.

Where the lines cross depends on your seat count and the size of your build, so it sits at a different point for every business.

How to create a client portal: three ways in

If your data is not in one place yet, start there. A portal can only show what is already organised, and the guide to building a CRM is a good way to get your clients and projects into a shape a portal can sit on.

SaaS portal vs no-code on Airtable vs custom

SaaS portalNo-code on AirtableCustom portal
Cost over 3 yearsMonthly, per seat or per plan, usually rising with client usersAirtable and Softr plans, plus the buildBuild up front, then hosting and maintenance
Time to launchDays, if your process fitsFast, if your data is already in a baseFixed in the scope
BrandingThe vendor’s, with limits by planYour logo and colours, within the tool’s optionsYours entirely
PermissionsThe product’s rolesOne rule per page or blockRoles per client company, enforced in the database
Who owns the dataInside the vendor’s modelYou, in your baseYou, in your own database
Fits whenThe product’s workflow is your workflowYour data is in Airtable and you are still learning what clients needThe portal is part of your service and has outgrown filters

Pick the column that matches where your clients are today, and keep the data in a shape that lets you move to the next one.