Blog Inside Sneeze It · Inside the Hub · Part 1
We rebuilt our client portal around the location, a day after building it
Our first portal was organized around a process. A day later we started again with one page per gym, studio or spa. Here is what that page holds, and why a record beats a workflow.

On September 17, 2026 we built a client portal. On September 18 we threw it away and started again. The first commit of the new one reads "start again, with the location as the unit." The day after that, it was running on real data.
That second version is the Hub, at hub.sneeze.it. It is now the record every other Sneeze It tool reads from. This post is about the decision that came before any of the code: what the portal should be organized around.
A process is not a record
The first portal was built around how requests move. It answered "where is this job?" well. It answered "what is true about this location?" badly, because that answer was scattered across the jobs.
Think about the calls a franchise marketing lead actually takes. The owner of the third location wants to know why their ads stopped. Corporate wants to know which locations are not connected to Google yet. A new manager starts and nobody knows whether they can see the ad account. None of those questions is about a workflow. Every one of them is about a place.
We decided the place should be the unit. Every gym, studio or spa gets one page, and that page carries what you need on a call about it. Requests, reports and creative all hang off the location, not the other way around.
Built around a process
Start from the request. Facts about a location live inside old tickets, emails and spreadsheets, and you rebuild the picture every time someone asks.
Built around the location
Start from the location. One page says who runs it, what it is connected to, what it spent and what is in flight, and every request lands on that page.
None of those questions is about a workflow. Every one of them is about a place.
What one location page holds
A location page answers, in order, the things we kept having to look up.
Who and where. Address, owner and manager, opening date, booking page, and the ids that location has in the club's own systems, all in one place.
What it is connected to. Which Facebook, Google Ads and Google Business Profile accounts belong to it, by exact account. The page tells apart four ways of not being connected: we never asked, we sent a link and are waiting, access lapsed, or access was revoked. Each of those is a different job for someone, so each gets its own state. The owner can grant access from a form on the location's own page, without a separate email chain, and the page records what was actually granted.
Whether tracking works. We separate "we have a tracking id on file" from "we saw the tag fire on the live site, and when." The first is a note in a file. The second is evidence.
Who runs the media and what it spent. The current agency and since when, and this month's spend by platform, with the source of every number. If nothing was read, the spend is blank, not zero.
Status and requests. Where the client stands (one of seven statuses, from proposal to terminated) and every request in flight, opened from a "+ Ticket" button on the page itself.

One page, five views
A franchise has more than one kind of person who needs to see a location, and they should not all see the same thing. The Hub has five roles built in:
| Role | What they see |
|---|---|
| Sneeze It | Everything, including cost |
| Franchisor | Every location in their brand |
| Multi-unit owner | Their locations |
| Location owner | Their one location |
| Outside agency | Only the locations given to them, and never money |
There is also an invited guest, which lets a prospect look at a single page. The rule about outside agencies is deliberate. A franchise often has a second agency running something for some locations, and they need the accounts and the tracking. They do not need what anyone pays.
In practice the Hub is mostly used by our own team today. One franchise brand's corporate team uses the franchisor view; the rest of our clients' pages are staff-only for now. The form for inviting client contacts directly is not built yet.
Every fact can be fixed, and every fix is recorded
A record is only useful if it is right, and it will not be right on day one. So our staff can click any fact on a location page, change it and save. The Hub keeps the old value, the new value, who changed it and when, on a Changes list on the page.
Two rules keep that honest. Location rosters are matched on the club system's own id, never on the name, because towns repeat and spellings drift. And no import ever overwrites a hand edit: if a person corrected something, the next automatic load leaves it alone.
The same thinking runs through client status. Nobody should find out about a change after the fact.
- 1Status chipSomeone moves the client to paused, offboarding or terminated
- 2Team emailThe whole team hears the moment it happens
- 3ServicesEvery stopped or restarted service is announced too
- 4DatesA pause ends on its own date; offboarding terminates the morning after its last day
Source: Sneeze It Hub code history, September 18 to October 9, 2026
What is live and what is not
The location page, the five roles, connections, tracking, spend, status alerts, notes and the request desk are live and change most days. A wallet tile shows whether a location needs a card, has one on file, is on retainer or is billed to corporate; saving a card works, but charging one is built and switched off, and no real charge has run. As of this writing the Hub holds 523 locations across 60 brands, a count that includes past clients, prospects and a franchise roster as well as the locations we serve.
The point of all this is not the software. It is that when you ask us about your fourth location, the answer is on one page, it names its sources, and it is the same page every one of our tools reads. For how those tools use it, read one record, every tool. For the four ways a location can be disconnected, and the different job each creates, read the four states of ad account access.


