- Everything we built assumed you were buying a delivery. A client who wants somebody two days a week for six months was describing a shape the product had no way to hold. Every project until now was priced like a purchase: one total, one delivery date, done. So a client saying "I need a designer two days a week, starting in September, for about half a year" had their answer squeezed into fields that could not carry it. The total became a made-up lump sum, the delivery date became a deadline for work that has no end, and everybody downstream inherited the distortion. A work shape now runs the whole length of the chain: a one-off project, an ongoing engagement, or both at once. It is read on every single turn by the triage step that was already running, so it costs nothing extra to know, and it can only be revised upward turn by turn: the moment where it is allowed to settle down again is brief approval, and exactly one agent holds that authority. From there each part of the system speaks it natively. The client is asked in hours and days, never in employment language. The rate is committed in its own unit, per hour, day, week, month or deliverable, and for one person or several. The estimator prices that rate in that unit rather than multiplying it into a fake total. The brief renders a start date instead of a delivery date, because delivery has no answer for an ongoing role. The talent search stops rewarding one-off volume and starts reading repeat clients and capacity. The talent is told the real shape of the work, and their quote is compared per period against the rate rather than against a total nobody agreed. Fourteen commits, one shape, and the client's screen and the database columns to carry it.
- The fee and the money that merely passes through the talent had been quietly added together, which prices a job wrong in both directions at once. In a handful of categories the number a client says is genuinely ambiguous. Somebody with $5,000 for an ad campaign may mean $5,000 for the person running it, or $5,000 of which most is the ad spend itself and only a slice is the fee. Print, travel, media buying and three other categories have the same fork in them. Treating the whole figure as the fee overpays and searches for the wrong tier of talent; treating it as pure spend underpays and finds nobody. Adding the two together is worse than either. So in exactly those ambiguous categories the price conversation now carries one splitting question, or, when the answer is obvious enough not to bother the client with, says the assumption out loud so it can be corrected. The fee goes to the budget and the rate; the pass-through money goes to its own field; the two are never summed. The threshold that decides whether a client is handled personally reads the fee alone, because a big ad budget is not a big engagement.
- A client who says "$500" was being read as refusing anything cheaper, so the talent who quoted less was deleted before anybody saw them. A single stated figure was filling in both ends of the price band, floor and ceiling. Setting the floor to the ask states that the client will not look at anything below it, which is essentially never what anyone means by naming a number. It quietly removed the good, affordable options from a search whose entire purpose was to find them. A single figure is now a ceiling with nothing under it; a floor is set only when the client actually names one ("between $800 and $1,500"); and when no budget is stated at all the search says so rather than inventing a plausible band. The reviewing step got the matching correction: it had been blaming the price band for nearly every empty pool and raising the ceiling round after round, which does not find a better version of the same work, it finds a different and more expensive kind of work. It now separates a real price problem, where people were found and lost to the band, from an upstream gap where the marketplace returned people with no price data at all, which no band can recover and which calls for wider searches instead. Alongside it: deal breakers and nice-to-haves became separate things rather than one undifferentiated list of requirements, the quality tier is derived rather than asserted, a level the talent declares counts as evidence, and a search thread now survives a page refresh so a one-round result still reaches its reviewer.
- "The client picked a talent" was being recorded at the moment we showed them the options, before they had pressed anything at all. Three separate admin surfaces were reading a column whose name promised the client's choice and whose value was stamped when the shortlist went up, carrying whatever the ranking put first. So the carousel appearing counted as a hire, and a client who found somebody through their own search results and contacted them could not be seen to have picked anybody at all. Picking is now its own rung, fed by the record of the client actually engaging a talent, and it covers both routes. The rest of the day's admin work is about being able to ask "when": a date range on every tab where the question is real, a median standing beside the average because one very slow case drags a mean and the median tells you what the typical client saw, and release-over-release comparison that now judges a version on the quality of what the search found rather than only its fit, counts how many talents turned us down against the outreach that actually reached them, and reads supply shortage three ways, because a single average hides the worst case, which is the one worth knowing about.
- The high-value handoff stopped asking for an email address and started booking a meeting. When a large or complex project is routed to a person, the client now gets that desk's real calendar embedded directly in the popup and books a time, rather than leaving an address and waiting to hear back. Around it, a run of things that were simply wrong on screen: the budget card puts the currency next to the amount and the frequency next to the fixed-or-range choice, the comparison toggle and the rails now end where the cards end instead of overhanging them, editing the brief on a phone stops taking over the entire screen, three talent cards fit across where two and a bit did, the "In" badge on a website card stops being squashed flat, a long budget stops printing over the figure beside it in the downloaded document, the row meant to carry Mira's own read on a talent stops repeating that talent's answer back, a talent's quoted range keeps both of its ends instead of showing the client only the top, and work that has to happen on site now asks where, as a required question rather than an afterthought.
- The test suite was the slowest thing in the pipeline, and nearly two thirds of it was spent waiting on a machine it was never going to reach. The backend suite ran for thirteen and a half minutes and everything else in the build queued behind it. Twenty-three of those tests called out to an internal host that the build machines cannot see, and because that call is designed to shrug and carry on when it fails, each one simply sat there for the full twenty-second timeout, logged a warning nobody read, and passed. Measured on three of them: sixty-seven seconds of wall clock for six seconds of actual work. Five hundred and one of the suite's seven hundred and ninety-nine seconds were an idle connection attempt. Nothing was ever red, which is exactly why it survived so long. Those calls are now stubbed, and a guard was added that fails any test which reaches for an outside machine without saying so, because this same drift had happened three times before and no assertion can catch a fail-open call getting slower. Also in the plumbing: the upload timeouts turned out to be a network device silently reaping idle connections rather than genuinely slow uploads, five message counters the metrics exporter had been inventing on the fly are now properly declared, and the funnel's vocabulary and the code that emits it can no longer drift apart.
A very large Sunday, 72 commits, and the through-line is that the product learned to hire somebody rather than only to buy a delivery. A work shape now runs the whole chain, read free on every turn and settled once at brief approval: the client is asked in hours and days rather than employment terms, the rate is committed and priced in its own unit instead of being multiplied into a lump sum, the brief closes on a start date rather than a delivery date that has no answer, the search rewards repeat clients and capacity over one-off volume, and the talent hears the real shape and quotes against it. Beside it the fee and the money that merely passes through a talent stopped being added together, which had been pricing ambiguous jobs wrong in both directions. The search got a sharp correction too: a client naming a single figure was being read as refusing anything cheaper, deleting the affordable talent the search existed to find, and the reviewer that had been blaming the price band for every empty pool now tells a real price problem from a marketplace that returned no prices at all. Admin stopped counting the shortlist going up as the client picking somebody. And the test suite, the slowest stage in the pipeline, turned out to be spending five hundred of its eight hundred seconds waiting on a machine it could never reach, with nothing ever going red to say so.