How I identified a structural onboarding overhead costing payroll teams hours every week, built a self-serve solution that navigated real HMRC submission constraints, and iterated it into a full employee self-service platform.
.timeline
8 months
.year
2025
.tools
Figma, Figma Make, Claude Code, Miro, Intercom, Jira, Confluence, Atlassian Projects
.role
Product Lead
The temporary staffing sector runs on around 20% employee churn — it's not a bug, it's the model. Every new placement triggers a fresh round of data collection: bank details, a National Insurance number, a starter declaration, right-to-work documents. Before we changed it, this was done by phone and email, with payroll administrators chasing employees on building sites, manually keying in what they eventually got back, and hoping for no transcription errors. For businesses processing hundreds of new employees a month, 40–60% of a payroll administrator's week was consumed by this single task. It never stops, because the workforce never stops rotating. What looked like a workflow inefficiency was actually a structural cost baked into the operating model.
I replaced the collect-on-behalf-of model with employee-led self-onboarding — employees receive a magic link, complete their own registration on their phone, and move into an approval queue before being committed to payroll. To make this viable, I introduced a holding area concept: a pre-employment record state that prevents incomplete submissions reaching HMRC's RTI feed while still allowing hours to be logged from day one. I also expanded the onboarding scope beyond payroll data to capture contractual, identity, and right-to-work information — replacing the third-party tools customers previously relied on. The feature launched as an MVP, iterated through beta feedback to cover subcontractors and configurable form fields, and evolved into a full self-service platform for employee-initiated updates and compliance re-submissions. 73% of eligible employees self-onboarded within the first three months of launch.
I identified this problem through structured customer discovery — not "what features do you think we need?" but "what tasks cost your business the most time and risk, week on week?" That framing matters. It surfaces pain rather than opinions, and it's how I found this: every payroll administrator I spoke to described the same invisible grind of chasing employees to collect data that, in theory, only took minutes per person but in practice consumed nearly half their week. With 20% employee turnover, it compounded constantly. Nobody had named it as a product problem because they'd accepted it as a cost of doing business in the industry.
The insight that shaped the direction wasn't about the data — it was about the channel. Employees weren't difficult to onboard; the method was wrong. Calling someone on a building site or emailing someone managing three placements at once isn't a workflow, it's friction. If we shifted the model so employees completed their own registration, at their own pace, on their own device, we'd remove the bottleneck at source. But getting there required solving a harder architectural problem first.
In Finity's data model, adding an employee record meant marking them as employed — which triggered inclusion in the next HMRC RTI submission. An incomplete record would fail that submission. The existing workaround was to onboard employees entirely outside the system, then add them once complete, meaning Finity didn't touch the process at all. I pushed to fix this properly. We developed a holding area concept: a pre-employment record state that keeps employees out of the FPS feed while still allowing hours to be logged against them. This mattered because in temporary staffing, employees often start shifts before their paperwork is finished. The hold state meant they could be active in the system from day one without creating payroll risk. It also gave administrators a dedicated workspace — a clear view of who was pending, what was outstanding, and one-click actions to chase, review, or resend. No new infrastructure. No payroll risk. The constraint became a feature.
I also made a deliberate call to go beyond payroll data scope. During discovery, I realised Finity was only collecting what it needed for its own payroll engine — which meant customers were still relying on third-party tools to gather contractual information, employment status reviews, and right-to-work documents. By extending the onboarding form to cover these, we gave customers a reason to retire those tools entirely. Had we built a narrowly scoped payroll form, adoption would have been limited. Expanding the brief made the feature genuinely useful across the full onboarding lifecycle. We validated the scope, approval flow, and field structure with customers in Miro workshops before a line of code was written.
The MVP launched through our beta programme and was adopted immediately. That cohort shaped two further iterations: first, extending scope to cover subcontractors — a major employment type for our customers — and introducing configurable form fields so businesses could show or hide what they wanted to collect. The third iteration reached what I'd originally scoped as the feature's full potential. Employees can now update their own details at any point through the same mechanism, not just during onboarding. If a subcontractor needs to complete a fresh employment status review for a new engagement, the user sends them the relevant section of the form. If an employee updates their name, a conflict flag surfaces for the administrator to approve before the change is committed. The same tool now powers initial onboarding, compliance re-submissions, re-registration for returning employees, and self-service updates — for both employees and subcontractors.
73% of eligible employees self-onboarded within three months of launch. Average time per employee record dropped from 45 minutes to 34 minutes — and as client volumes grow, the saving compounds. The qualitative feedback was equally direct: one administrator called it "hella useful." For payroll businesses running on thin margins with constantly rotating workforces, that's not a small thing.
Every problem worth solving has a human at the centre of it.