The business requirement
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.
- See the planView campaigns in monthly, weekly, or daily calendars scoped to the client.
- Review the detailsOpen a campaign, understand what is scheduled, and see its current status.
- Make a decisionApprove the work, request a change, or leave a comment in the same experience.
- Keep the team movingReturn each decision to the agency’s existing campaign workflow and data.
Why ownership changed the economics
Per-seat pricing made client growth part of the software bill
Airtable can be a sensible choice for a small internal workflow. The economics change when outside users need to comment, edit, create, or work through a portal. Under the planning scenario used here, every expansion of interactive access pulls licensing back into the 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.
What the estimate includes
The comparison is conservative about shared infrastructure
I assigned the full $24 server and Supabase’s public $25 Pro starting price to the campaign portal, even though both resources can support broader operations. That produces the ~$49 monthly working estimate. The portal’s true incremental hosting cost may be lower, but over-assigning shared infrastructure is more responsible than manufacturing a better number.
Against the modeled Airtable scenarios, the difference is $171–$326 per month, or $2,052–$3,912 per year—approximately 78%–87% in this particular model. The agency’s reported $20 database bill would put the hosted estimate at $44, but I use the public $25 baseline for the headline comparison.
This does not mean custom software is automatically cheaper. Design, development, maintenance, backups, and security reviews are real costs. Ownership becomes more attractive when the workflow is stable, the organization expects client access to grow, and the platform avoids repeated licensing instead of simply copying a spreadsheet.
Controlled client access
The design gives clients the actions they need—not the operating system behind them
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.
All 35 active links passed the current client-scoping smoke test.
Production verification
The client experience stayed intact after the access review
A dated production acceptance run verified all 35 active share links and 25 campaign-detail reads while protected routes rejected unauthenticated requests. That is evidence for the tested boundary, not a claim that any application is permanently issue-free.
The result
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.
What this proves—and what it does not
The operating application and dated campaign count show that this is more than a presentation-only prototype. The cost model shows the estimated recurring-cost difference under a stated scenario. It does not prove realized savings, ROI, a permanent campaign count, or total ownership cost.
