Back to all projects

Project · Portal and analytics

Your numbers, on your page, without asking.

A private client page that updates as the work happens — and a way of counting that does not sell your visitors to anyone.

In production · client-facing

Book my free 20-minute call

No monthly PDF that arrives late and gets skimmed. Clients open their page and see what actually happened this week. We count the visits ourselves, on our own infrastructure, so nothing about their visitors is handed to a third party in exchange for a dashboard.

What this does

Each client gets a private page showing their own figures: what came in, from where, and what happened next. It updates as the work happens rather than at the end of the month.

The counting is first-party. The site records its own visits on infrastructure we run, and the client's visitors are not handed to an advertising network in exchange for a free dashboard.

See it work

  1. A visit happens The page records it directly. No third-party script, no tracking pixel loaded from someone else's domain.
  2. It lands in the client's own store Their data, in their row, not pooled with anyone else's.
  3. The portal reads it live Open the page and it is current, not current-as-of-the-last-report.
  4. Enquiries are tied to the work So the question ‘is this actually doing anything’ has an answer that does not require a meeting.

Why I built this

Every small business owner I spoke to had the same experience of agencies: a PDF at the start of the month, full of numbers that were true three weeks ago, arranged to make the month look busy. Nobody could answer the only question that mattered — is this working right now — without a call and a delay.

The second problem was quieter. The standard way to get those numbers is to install a free analytics script, which pays for itself by taking data about your customers. A small business signs up for a chart and, without ever being told plainly, enrols its visitors in something else entirely.

Both problems have the same fix: count it yourself, show it live, and keep it in the client's own account.

How it is built

  • Cloudflare at the edge The site and the counting sit behind the same layer, so recording a visit costs nothing noticeable.
  • Supabase for storage and access Each client's data is scoped to their account. Nobody sees anyone else's row.
  • First-party counting No third-party analytics script, so no third party learns who visits your site.
  • Per-client authentication The portal is a private page, not a public URL with a long random string on the end.

Where this breaks

Counting honestly means reporting smaller numbers than the platforms do. That is the trade.

  • Our numbers will not match an ad platform's Ad platforms count generously and attribute optimistically. First-party counting is stricter, so the figure is usually lower — and closer to the truth.
  • No cross-site tracking We cannot tell you what a visitor did on somebody else's website afterwards, because we do not follow them there. That is a feature, and it is also a genuine limit.
  • Small numbers are noisy At low traffic, a single week is not a trend. The portal shows the run of weeks for this reason, and we will say so rather than let a spike be read as progress.
  • It reports; it does not decide The portal tells you what happened. Deciding what to do about it is still a conversation.

Get a portal like this

It comes as part of the work rather than as a separate product — if Modulus is running something for you, this is how you watch it. Start with the call and we will look at what is worth counting in your business.

Book my free 20-minute call

Where it stands. In production with live clients. Counted on our own infrastructure, not an ad network's.

Built with. Cloudflare · Supabase · first-party counting

Back to all projects