If you have followed the fight over gig work in the last few years, you likely have run into this one. Two drivers, same city, same time of day, same route. The app offers one of them noticeably less than the other. Nothing about the work is different. Something about the driver is.
Drivers proved it themselves by laying two phones side by side with the app open and watching identical rides come in at different fares. Researchers gave it a name. Veena Dubal, writing in the Columbia Law Review in 2023, called it algorithmic wage discrimination: a labour market where workers do the same job, with the same skill, for the same company, and get paid different hourly amounts.
Workers use a blunter phrase. Predatory wage discrimination describes the same practice and is more honest about the intent, because the formula is not searching for a fair price. It is searching for your floor.
The mechanism is not complicated. When the platform sets the price, and the formula is private, the platform’s best move is to offer each worker roughly the least that worker seems likely to accept. Your history, your acceptance rate, how often you turn down low offers, how much you appear to need the money. All of it becomes input. The number you see is not the market rate. It is a guess about you.
Dental temping is gig work
Temping in a dental office looks nothing like driving a rideshare, but structurally it is the same arrangement. Short engagements, no fixed schedule, an app in the middle, and a price attached to each shift.
Which means the same thing is available to anyone building a dental staffing platform. Watch which temps accept low rates. Watch who takes the Friday afternoon shifts nobody wants. Watch who has been quiet for three weeks and probably needs the work. Then quote accordingly, temp by temp, with the formula kept private. That is the predatory version, and nothing about dentistry prevents it.
The older version of this predates any algorithm. A traditional agency quotes the clinic a bill rate and offers the temp a pay rate, and neither party sees both numbers. The difference is the agency’s margin. Two temps sent to the same office on the same Tuesday, billed to the clinic at the same rate, can go home with a $12 an hour gap between them. Nobody compares notes, because there is nowhere to compare them.
Whether the number comes from a formula or from whoever is staffing the phones, the enabling condition is the same. Somebody other than the worker decides what the work is worth, and the worker’s only move is to take it or walk away.
Fairly never sets a temp’s rate
On Fairly, the temp enters the hourly rate they want, and that is the rate the clinic sees on the shift. Clinics book at the posted rate or they don’t book.
We do not quote a rate on a temp’s behalf. We do not cap it, approve it, or ask anyone to justify it. There is no formula that looks at a temp’s history and produces a personalized number, because there is no formula. There is one number and the temp typed it.
That produces three things worth naming.
The rate is the rate. What a temp posts is what they get paid. A temp charging $58 an hour gets $58 an hour, whether they have been on the platform two years or two days, and whether they are comfortable negotiating or not. Willingness to accept less stops being something anyone can price.
Clinics compare honestly. A clinic looking at three available temps at $54, $58, and $64 an hour is looking at real information. They can weigh rate against experience, reviews, and history at that practice, and pay for what they are actually getting. Under a hidden markup, a clinic is only ever comparing an agency’s asking prices.
Differences in pay are decisions, not verdicts. Two temps on Fairly can earn different amounts for comparable shifts. The difference is that each of them picked their own number. Nobody calculated it on their behalf, and nothing about one temp’s history made the platform quote them less.
One counter each, and then it is over
Fairly does have negotiation, and it would be dishonest to leave that out. A clinic that thinks a posted rate is too high can counter it once. The temp can accept and get hired, decline, or counter back once. The clinic can then accept and hire, or let it sit. That is the entire process. One move each, and it closes.
Two things about that cap matter more than they look.
The temp’s number is the anchor. Negotiation on Fairly opens from what the temp decided their day is worth. It does not open from what a system calculated they would tolerate. On a platform that sets pay algorithmically, the worker never gets to place an anchor at all, and every conversation starts from the platform’s guess about them.
It cannot become a war of attrition. This is where gig platforms do their real damage. An offer gets declined, so a slightly different one arrives, then another, and the worker’s resistance is worn down across hundreds of small interactions while the system learns exactly where they break. One counter each makes that impossible. There is no grinding, no re-offering, and nothing for anyone to learn from a decline.
The counter also comes from a named clinic with a visible history on the platform, not from a formula. A temp can see who is asking and decide what that particular relationship is worth.
Declining costs nothing. It has zero effect on a temp’s standing, on where they appear, or on what they see next. Their posted rate stays exactly where they set it. And clinics see nothing about a temp’s counter history, so nobody finds out that a temp took less last month and treats that as a reason to offer less now. The record that would make profiling possible does not exist.
Why we can afford to be indifferent
Fairly charges the clinic a flat $52 CAD per shift. Not a percentage, not a markup, and not a figure that moves when a temp’s rate moves. We collect the same $52 whether a temp charges $45 an hour or $75, and none of it comes out of the temp’s pay.
That is what makes the rest of this durable rather than a policy we could quietly reverse. A platform whose revenue is the spread has a permanent financial reason to push worker pay down and keep the formula private. We do not have that reason, because we do not have a spread.
Getting paid what you set
Setting your own rate does not mean much if the money gets shaved on the way out. This is where a lot of gig arrangements fall apart. A worker agrees to a number, an agency quietly takes its cut of every hour, or nobody thinks about CPP, EI, and income tax until the reckoning arrives at tax time.
Fairly handles this with Fairly Pay, and the rate stays whole on both of its paths. On contractor shifts, Fairly Payments initiates payment the moment the completed shift is approved and the full rate lands by direct deposit, with an invoice generated automatically so the paper trail is clean when the temp handles their own taxes. When the clinic runs the shift through Fairly Payroll instead, the temp is an employee of the clinic for that shift: the rate they set is the gross figure on their paystub, with source deductions, remittances, T4s, and records of employment handled to CRA requirements. Nothing skimmed in between on either path. The clinic gets clean paperwork and, on payroll shifts, none of the compliance exposure that comes with paying a temp as a contractor.
Setting your rate and actually receiving it are two separate features. Both have to be true.
The point
The gig economy’s central trick has been convincing skilled people that their pay is something that happens to them. A number arrives, and you take it or you don’t.
Temps are professionals selling a skilled service. Professionals name their own price and negotiate from there. That should not be a differentiator. In this market, it still is.
Temps: download Fairly Staffing - For Staff, set your rate, and start offering on shifts. Not sure what to charge? See what Ontario hygienists actually earn.
Clinics: post a shift and see every available temp’s actual rate before you book.
