How a layer above jobs, with its own budget and targets, replaced monthly job duplication for retainer studios.

Retainers are a staple in the creative world, yet Streamtime offered no built-in way to manage them. Studios copied jobs every month, juggled spreadsheets, and logged hours to the wrong period because every job list blurred together.
Our answer was Groups: a layer above individual jobs that carries its own budget and targets.
Copying jobs every month, and tracking retainer totals in spreadsheets outside Streamtime.


We analysed two years of support tags, sales call notes and feature requests, surveyed over 30 customers, then interviewed four studios running different retainer models. Four problems kept coming up:
The interviews showed setups with almost nothing in common. Some studios ran fixed monthly periods; others ran multi-job projects with no cadence at all. Neither would have worked inside the other’s structure.
So I designed two types. Repeating Groups carry a start date, period length and per-period targets. Job Groups give multi-job projects the same parent view, without the periods.
Grouping couldn’t change existing jobs. Jobs already carried quotes, invoices and logged time, so linking them to a group had to leave all of that alone.


I built it into a demo environment and tested with four customers, each on a copy of their own account: monthly fixed fees, quarterly hour banks, time and materials with rollover, and project-based groups. Everyone responded well once the group page loaded with real data. The problems were all in the setup flow.
Adding jobs set off a loader nobody could read
Every job added triggered a full-screen loader. Participants assumed the page had broken, or clicked out.
The two group types looked the same
Equal visual weight gave no sign that they worked differently.
The donut answered the wrong question
It showed the current period. Participants wanted to know how the retainer was tracking overall.


Retainer studios now track each period inside the product, instead of duplicating jobs every month. Campaign and multi-job work gets the same parent view, without the period structure.
The two-type structure held up in testing. Target setup was harder to learn than I expected: choosing a metric, and telling a cap from a goal, needed the idea explained before anyone was asked to act on it. Tooltips don’t fix a mental model gap. The loading state was a bigger miss. I designed for data that arrived instantly, without checking processing time with the team first. One early conversation would have changed the loading pattern.