ShapeKit
← Back to Blog

Why Every Agency Builds the Same Client Portal from Scratch

Service businesses rebuild the same client tracker for every new client. Here's why that loop happens — and how constrained shaping breaks it.

By ShapeKit Team

It starts with a spreadsheet.

You land your third client. You build a shared Google Sheet with their project tracker. They love it. You think: this is efficient, I'll reuse this.

Then client four wants to track different things. Client five runs a different type of project entirely. Client six asks if you can add an invoicing view. By client eight, you have eight variations of the same spreadsheet — all slightly different, all requiring you to touch them whenever something changes.

You've built a client portal eight times. From scratch. Every time.


The real cost isn't the setup. It's the maintenance.

Every time a client emails you asking for a project status update, they're describing a portal that isn't working for them. Every "can you add a column?" request means a client who can see data but can't find the signal in it. Every "can you send me the latest invoice?" means your portal doesn't surface what they need.

The failure mode isn't that you never built the portal. It's that the portal you built only works for the way you think about the project — not the way they do.

Clients are not wrong to want different views. A web design agency and a bookkeeping firm care about completely different things, even when running similar projects. And within those firms, the decision-maker might care about budget status while the day-to-day contact cares about task completion.

One static view serves none of them perfectly.


Why existing tools don't fix this

The standard agency portal stack — HoneyBook, Dubsado, Copilot, Notion for clients — all share the same design assumption: the agency builds the portal, the client reads it.

That's fine for 3 clients. It breaks for 15.

When your client list grows, the marginal cost of maintaining these portals grows with it. Each new client type requires a new configuration. Each client request requires you to update something on the backend. The admin load that tools promised to eliminate quietly becomes its own job.

The alternative most agencies reach for: build something custom. A simple web app, an Airtable base with a client-facing view, a Notion setup with granular permissions. These work — until they require changes. Then they require a developer, or they require you, or they just rot.

There is no off-the-shelf solution that lets clients customize their own view without giving them access to the whole backend. Until now, that's just been a fact agencies accepted.


The actual problem: clients can see, but they can't interact

Here's the distinction that matters: there's a difference between viewing information and finding information.

A client who can see a project tracker but can't change the sort order, can't collapse the sections they don't care about, can't filter by their priority — that client still emails you. Because the data is there but the view isn't theirs.

The portal should work for how they think, not just how you think.

The problem agencies have always had is that allowing clients to "customize" anything opens the door to clients changing things they shouldn't. They might delete data. They might change a contract status. They might break the view for someone else.

So agencies went with the safe option: lock everything down. Clients can look. They can't touch.

That's why the "any updates?" email still exists. The portal is read-only, so clients who want to understand something have to ask someone to explain it to them.


What changes when clients can reshape their own view

ShapeKit is built on a different model.

You define what's shapeable — which columns clients can show or hide, which fields they can sort by, what views are available. You set the constraints. Within those constraints, each client reshapes their own view to match how they think about their project.

One client sorts by deadline. Another sorts by budget. A third hides everything except active tasks. They all see the same underlying data — they just navigate it differently.

You wrote the rules once. Every client works within them. You don't maintain eight variations of the same tracker. You don't get the "can you add a column?" email — because the client added the column themselves, within the options you allowed.

The "any updates?" email becomes rarer because clients who can find the information they need, in the format they prefer, stop asking someone else to find it for them.


The ops payoff

Five clients with custom portals, each requiring occasional maintenance: low cost. Fifteen clients, each with a slightly different setup, each generating periodic "can you just..." requests: this is now a part-time job.

The growth math is simple. Every client portal that doesn't require you to touch it is an hour per week you keep. At 15 clients, that's 15 hours per week of admin overhead that should be close to zero.

The service businesses that scale without adding ops staff are the ones that built a client experience that runs itself. That means clients who can find their own answers, update their own views, and access their own documents — without routing those requests through you.

The portal is still yours. The constraints are still yours. The clients just don't have to wait for you to make changes you're both fully capable of making.


Where to start

If you manage 5+ clients and you've rebuilt the same tracker more than twice: that's the sign.

The rebuild loop is the tax on not having a client experience that scales. It compounds quietly until it's a real cost.

ShapeKit launches April 15 — full product, no waitlist. Sign up for early access.


ShapeKit lets service businesses build one client portal — and give each client the ability to reshape their own view, within limits you define. No rebuilds. No maintenance overhead. One portal, every client.