
Technical Product Lead
Buddy Payroll
Context & Challenges
Buddy is a cloud payroll platform operating at meaningful scale, supporting over 100,000 employees and processing roughly 15,000 payruns per month.
I joined early as a Junior Full Stack Developer during a major modernisation effort, helping migrate the product from a legacy PHP/SQL codebase to a React/Node.js platform on AWS.
Over time, the challenge shifted from ‘make it work’ to ‘make it reliable, compliant, and easy to use’: handling complex payroll and compliance edge cases, migrating data safely, enforcing multi-tenant permissions, building audit trails, and integrating with third-party systems where documentation was often outdated or incomplete.
“The work sat at the intersection of product design, compliance-heavy logic, and high-scale engineering — correctness and user trust mattered as much as speed of delivery.”
The Approach
I treated large initiatives as product systems, not isolated features: start with the workflow and constraints, define the data model and failure modes, then design the UI and services to keep the experience consistent under real-world edge cases.
On the UK payroll engine work, I helped drive core reporting deliverables (including EPS/NVR/CIS) and designed and implemented the pensions domain end-to-end. That included configuration flows, mapping rules, and integrating pension providers such as Smart Pension and People’s Pension, plus designing the Nest pension flow.
I built Buddy’s first HRIS integration by designing and implementing BambooHR — including an internal employee import/mapping layer that also supported Excel-based imports, enabling faster onboarding and safer migrations from external sources.
For operational efficiency, I delivered integrations spanning accounting (QuickBooks) and time & attendance hardware (TimeMoto and ZKTeco), including the configuration screens required to make these devices usable by non-technical customers.
To improve reliability without a risky rewrite, I introduced TypeScript selectively to type-sensitive parts of the product while maintaining backwards compatibility with existing JavaScript modules, which reduced type-related production issues by 75%+ based on internal tracking.
As Product Lead, I owned roadmap shaping, QA and release quality, and led major UX and workflow reworks — including a fully customisable leave management system and its payroll integrations — while mentoring engineers and coordinating delivery across engineering and QA.
Tech Stack Used
Not doing anything
interesting right now