Skip to content
Private beta · three agencies/Berlin, Germany

The agency and the client in one place.

One board for the work, one timer for the hours, one portal your clients actually log into. They request, you estimate, they approve, you track — and nobody writes another status email.

07
Fixed stages

Your columns can be named anything. Underneath they all map to one of seven.

05
Things a client never gets

Each one checked automatically, before anything we ship goes live.

01
Timer per person

Server-side, and one per person by design. A reload, a crash or a second device can't lose it.

€0
Per client seat

Charging for client logins would defeat the product. You pay for your own team.

Fig. 1All work · every customer, grouped by stage
All work
By stageBy customerBy assignee
Backlog
PORTAL-151PDF invoice export
NW-08Cookie banner rewrite
PORTAL-150Newsletter opt-in
Planned
PORTAL-148Role-based accessawaiting approval
NW-06Q4 analytics setup
In progress
PORTAL-142SEPA direct debit6.5 / 8 h
PORTAL-139Contract detail page9.0 / 7 h
Review
PORTAL-136Invoice list filters
OPS-22Deploy pipelineinternal
Done
PORTAL-131Checkout A/B test5.5 h
NW-04Domain migration

Columns differ per project — “Requested”, “Ideas”, “Inbox” all sit under Backlog. The stage is what they have in common, and what lets one board hold three customers at once.

§ 01

Two views of one truth

Not two tools bolted together. Your team sees internal estimates, time notes and internal tickets. Your client sees their own request in their own words — same item, same hour, same moment.

JBYour team
PORTAL-142In progress
SEPA direct debit in checkout
Internal
6.0 h
Quoted
8.0 h
Tracked
6.5 h
Time noteinternal

Sandbox keys took 3 h — worth quoting higher next time.

OPS-22Staging deploy pipelineinternal only
AMTheir side
PORTAL-142We’re on it
SEPA direct debit in checkout
Of the 8 h you approved6.5 h

Jonas is on it. You’ll get it for review before it ships.

Internal estimates, time notes, internal tickets and your margins are absent from what their browser receives — not hidden in the interface.

How it's enforced →
§ 02

Six things, each one finished

Not a suite. The handful of jobs an agency does every day, and nothing else competing for the screen.

All six →
01 / Board & stages

Name your columns. Keep one language underneath.

Seven fixed stages beneath whatever you call things — which is how one board pulls work across every customer, and how each client reads your board in their own words.

BacklogIn progress+5
02 / Client requests

Four fields instead of an email you re-type.

Your client raises the work. It lands in the column you nominated, carrying who asked, when they need it and any file they attached.

New requestPDF invoice export
30.09.·This sprint
03 / Approvals

Estimates they approve in one click.

You quote hours; they see what it does to their month and press approve. Nothing starts before that, and the approval carries a name and a timestamp — so scope arguments end.

Needs approval12 hApprove
04 / Time

A timer that can't lose an hour.

One per person, running server-side. Or type 1.5, 90m, 9–11:30. Raw minutes stored; rounding happens on the invoice, never on the record.

01:24:07
PORTAL-142 · SEPA direct debit
Stop
05 / The month

Nobody learns their hours from an invoice.

They watch the month accumulate as it happens. Internal work on their project is excluded on purpose — the number they see is the number they’re billed for.

September27.5 h
Hatched is a pending estimate
06 / Feed

One thread per customer, not forty.

Summaries, decisions and questions next to the work they’re about. Turn a summary into work items in one step. Everything else batches into one daily email — no notification per card.

JBKickoff — 4 Sepsummary

Checkout first. Anna sends the mandate wording by Friday.

§ 03

Letting a client in is the whole product

So it’s the part we built first. Isolation is a rule in the database itself, on every record, deny-by-default — and nothing new goes live without one.

The access model →
No client ever receivesWhy it stays inside
Your time notesWhy an hour took as long as it did
Your internal estimateWhat you thought it would take
Your rates and your marginWhat the work costs you, and what you make on it
Internal work itemsNot merely hidden — nothing confirms they exist at all
Anything of another customer’sEvery list they open contains none of it
§ 04

What changes in week one

You don’t roll this out. You put one customer in it on a Monday, and by Friday the three habits that cost you most have quietly stopped.

The status email

Nobody writes one, because it’s already written.

The board is the status. What’s in progress, what’s waiting on them, how many hours it has taken — visible without anyone composing a summary on a Friday afternoon.

The scope argument

“We never agreed to that” has a date on it now.

Every estimate was approved by a named person at a known time, and every hour sits on the item it was spent on. The conversation gets shorter and less expensive.

The month-end scramble

Invoicing becomes reading, not reconstructing.

Hours were logged against items as the work happened, so the total is already right. Nobody reconstructs a week from calendar entries and memory.

Stop reporting on the work. Just share it.

Put one real client in AgencyOS this month and see whether the status emails stop. Free through the billing release for the first ten agencies, migration done by us.