The agency needed client decisions—not another database view
The campaign data already existed. What was missing was a client experience around it. Clients needed to understand what was planned and take the next action without learning the structure of the agency's database.
That distinction shaped the project. A shared table exposes rows, fields, and the operating model behind them. A purpose-built portal exposes the few decisions a client actually needs to make.
- 01See the plan
View campaigns in monthly, weekly, or daily calendars scoped to the client.
- 02Review the details
Open a campaign, understand what is scheduled, and see its current status.
- 03Make a decision
Approve the work, request a change, or leave a comment in the same experience.
- 04Keep the team moving
Return each decision to the agency's existing campaign workflow and data.
Client growth did not need to mean another software seat
Airtable is a useful option when a team wants to configure a workflow quickly. For this agency, the question was how to give 32 client companies an ongoing review experience without making paid user access part of every growth decision.
The owned platform changes the shape of that recurring cost. One hosted application and database serve the workflow without purchasing another application seat for each client user.
About $676 a month in modeled running-cost savings
The ~$49 monthly estimate assigns a full $24 server and Supabase's $25 Pro starting price to the portal, even though these resources also support other agency work. This is a public-price planning baseline, not an invoice total.
At the stated budgets, the difference is ~$676/month, or ~$8.1K/year. This is a planning comparison for the access model the agency was considering, not a claim that it previously paid that Airtable bill. Discounts, the actual paid-user count, and a different plan would change the savings.
Custom software also has build and maintenance costs. The value is a focused client experience, a small recurring infrastructure baseline, and no application-seat charge for each additional client. Hosting and maintenance can still increase with usage.
One place to review, approve, and keep campaigns moving
The access model is narrower than a shared database. Internal administration requires an employee session. Client links are scoped to one client, can expire or be revoked, and expose only the actions permitted for that link.
Shared requests return campaigns belonging to the client attached to that link.
Clients can review, approve, request changes, and comment without browsing the underlying system.
A shared client cannot reassign a campaign to another client or delete campaigns.
The team can expire or revoke a client link when access is no longer needed.
The platform's cost model matches the agency's operating model
The agency can add clients to the workflow without adding an application seat for every person. Clients receive a focused calendar and review experience. The internal team keeps campaign data and automation in the systems already running the business.
The strongest result is not that I reproduced Airtable. I did not. I removed the pieces the agency did not need and built around the work it did need: campaign visibility, review, approval, changes, comments, and controlled access.
