An agency sits between brands who want a campaign booked and creators whose careers turn on what is agreed for them. Both think they are the customer. Money arrives late and leaves later, and nothing here is a single-owner record.
Preview interactive design
A brand wants a campaign booked. A creator wants a career managed. The agency answers to both, and every screen in this product exists because that job needed it.
01The screens →Three figures over nine creators. Availability counts against today here and against the brand’s own window on a brief — so somebody booked until October is free for a campaign starting in November.
the same word, two clocks02BookA pitched brief becomes a deal, and the deal brings its deliverables, its invoice and its payout with it. The contract walks a declared line, dated at every step.
book the deal, not create deal03Collect$119,000.00 owed by brands against $142,160.00 owed to creators — and the commission banks when the money clears, not when the deal is signed.
$14,900.00 banked, not $45,240.00Twenty-eight registered routes: five destinations in the bar, fourteen off it, nine for auth. There is deliberately no deals list and no brands list — a deal or a brand is only ever reached through the work that names it.
02The status sets →The record opens on the creator’s portrait, because that is what this industry trades on. The 600K audience beneath it is not stored — it is 412K on one platform and 188K on another, added up in front of you, and the panel says so: a follower count changed anywhere moves every figure that mentions her.

A brief wants four TikToks from a million-plus audience in dating and social, organic only, answered by the 26th. Nobody on the book clears all three axes. The screen leads with that — fits the brief, zero — rather than padding the list with the closest thing to a yes.

A fee of $15,000.00 against a rate card that quoted $16,000.00 and a budget that allowed $18,000.00 — the negotiation is on the page, not behind it. Deliverables, invoice and payout all hang off this record because none of the three can be created without it.

What the brands owe us on the left, what we owe the creators on the right. A creator’s $24,800.00 cannot move because a brand is 22 days past due on $31,000.00, and the header says exactly that rather than leaving a payout marked pending with no cause.

Auth is a shell decision before it is a form: no nav owner, one layout variant, one credential strategy. Every route the screens offer exists behind them — five stages of recovery, the expired-link branch, and a sixth screen for the lockout that three failed attempts earns you.

Every value a record can hold is declared once and stored. Overdue is not among them on either side of the money — it is a predicate over a date, computed as the page draws, and it turns true at midnight without anyone touching the record. Rights expiring and rights lapsed work the same way.
03The awkward cases →An industry that runs on remembered numbers hands you records that do not fit the shape a screen wants. These were in the set from the first pass.
04The derivation →The wrap report is the check: 767K reached against 700K promised, 109.6% of it. The two posts beneath the headline carry 412K and 355K, and 56.8K engagements and 7.2K saves split the same way. Every figure on the page is the sum of the rows under it, and each row is the platform’s own number entered when the post went live.
05Back to the top →
Reckon
The distance between the two is the design work. Derive every number, declare how every entity commits, and refuse the creates that do not exist in the business.