Worked productMedia · talent representation

A desk that answers to both sides of the deal.

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
OperatorTalent managerfive of the nine on the roster
One deal bindsFive recordsany one of them can be the late one
FiguresAll derivednothing on screen is a stored total
CreatesThree refusedeach arrives with the deal that owes it
Five free to pitch · counted against today, and against the brand’s own window once there is a brief9 on the book
The screensScanned across, rarely drilled into

Each one answers a question the last one raised.

Twenty-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 →
Screen 01

A face business, led by a face

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.

  • 3.8% and 5.1% weighted into the 4.2% on the header
  • Instagram carries 68.7% of the audience, and that is derived too
  • Nothing has finished running, so there is no promise to judge yet
Creator recordrecord · portrait-led
Screen 02

The honest answer is no

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.

  • Cannot take it and off brief are different groups, and say why
  • “An exclusivity is a contract we signed; a booking is a promise we made”
  • One creator has no rate for the format, so there is nothing to quote
Briefrecord · matched
Screen 03

One deal, and the five records it binds

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.

  • Drafted, out for signature, signed — each with the date it landed
  • Organic only: the brand may not run these as ads
  • The invoice is paid and the payout is due, on two separate clocks
Dealrecord · binds five
Screen 04

Two ledgers facing each other

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.

  • Every held payout names the invoice holding it
  • $41,500.00 uninvoiced, because that contract is not countersigned
  • Commission banked excludes the invoices nobody has paid
Moneyledger · facing
Screen 05

The screen with no navigation at all

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.

  • One line of copy under the card, and nothing else on the page
  • The lockout counts down to “The wait is over” rather than a dead end
  • Nine auth routes, none of them a link into nowhere
Sign inauth · no shell
StatusSix declared fields, twenty-three values

The states that hurt are the ones nobody can set.

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 →
scheduledsubmittedrevisions_requestedapprovedpublished
One field of the six, and the stored word is not the word on screen: submitted reads “With brand”, because the vocabulary is written from the manager’s point of view rather than the record’s. Two values across the sets carry no fixture on purpose — both are reachable only by taking the action that leads there, and a screenshot of a state nobody can arrive at proves nothing.
The dataWhat a client finds in week one

The fixtures are deliberately unkind.

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 →
Case 01A payout waiting on money that never arrived
NaivelyThe row reads “payout pending” with no cause attached, and the manager goes to another screen to find out why.
Here$24,800.00 held because a brand is 22 days past due on $31,000.00 — and the invoice holding it is the row facing it across the page.
Case 02A brief nobody on the book fits
NaivelyThe list is padded with the nearest misses, ranked as though somebody qualified, and the agency pitches a creator it should not have.
HereFits the brief, zero. Two who cannot take it and seven who are off it, each grouped by the reason — and the answer to the brand is no.
Case 03A deal signed at a rate the policy no longer uses
NaivelyThe statement multiplies the book by today’s standard commission and disagrees with every contract underneath it.
HereThat payout reads less 18% while the standard is 20%, because each deal carries the rate it was signed at and the screen reads the deals.
The auditRead after generation, before handoff

Every figure, traced back.

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 →
109.6% of the reach promised · and 148.0% of the engagement rate, against what the pitch said in Maycheckable

Reckon

The rules travel.
The product does not.

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.

Built for Claude Design · plain markdown · nothing to run