Services Hire Developers Pricing About Blog Case Studies Book Free Consultation →
Industry: Recruitment & HR Tech

Software development for recruitment & HR tech

Engineering for staffing agencies, RPOs, ATS vendors, and HR tech startups. We build the job board integrations, candidate matching, onboarding automation, and contractor compliance tooling that the off the shelf systems never quite deliver, with GDPR and IR35 built into the data model rather than glued on at the end.

Industry challenges we solve

Recruitment software is deceptively complex. The data model has to absorb every job board's idea of a "candidate", the workflow has to satisfy GDPR, IR35, and visa rules, and the user experience has to win against a recruiter's habit of falling back to email and spreadsheets.

Manual job board posting. A recruiter copies the same vacancy into Reed, Indeed, Totaljobs, LinkedIn, and the agency website. Two of them go out with typos. Applicants land in different inboxes and de-duplication is done by squinting.
Candidate matching by keyword search. Bullhorn or RecruiterFlow returns 800 candidates for "Senior React Developer" because every CV contains the words React and Developer. The recruiter gives up and emails their personal shortlist.
GDPR exposure on every CV in the database. A subject access request lands and nobody knows where a 2019 application is stored. The retention policy is a Word document. The risk is real.
IR35 status determinations done in spreadsheets. SDS forms live in shared drives. Appeals are tracked in email. HMRC asks for an audit trail and the agency has to manually reconstruct two years of decisions.
Onboarding takes weeks. Right-to-work checks, background checks, e-signatures, and payroll setup happen serially. Time-to-billing for a placed contractor stretches to fortnight and the agency carries the cash flow cost.
Legacy PHP recruitment portals. Page loads in 10 to 15 seconds. Search results paginate at 25. The mobile experience is unusable. Candidates apply via LinkedIn instead and the agency loses control of the data.
Capabilities

Our recruitment & HR tech capabilities

📢

Multi job board distribution

Single source posting to Reed, Indeed, Totaljobs, LinkedIn, CV Library, Adzuna, Broadbean, ZipRecruiter, Monster, Bayt, and Naukrigulf. Status tracking per board, applicant pull-back, candidate de-duplication, and per-board cost-per-applicant reporting.

🤖

AI candidate matching

Transformer-based CV embeddings on pgvector or Pinecone, deterministic hard requirement filtering, and an LLM rationale layer so recruiters see why each match was surfaced. False positives bounded, explainability built in.

🎥

Video interviewing & assessment

Async video interviewing on AWS Chime SDK or LiveKit, structured scorecards, live coding exercises in a sandboxed terminal, AI interview summarisation (opt-in), and calibration tools for hiring managers.

📝

Contractor & IR35 management

SDS generation, CEST integration, appeals workflow within the 45 day statutory window, audit trails, and the client / agency / contractor tripartite flow for both inside-IR35 PAYE and outside-IR35 limited company engagements.

✍️

E-signature & onboarding automation

DocuSign, HelloSign, and Adobe Sign integration. Right-to-work via Trust ID or Yoti. Background checks via Sterling or Experian. Workflow engine with deadline driven nudges. Time-to-first-day measured in days, not weeks.

📊

ATS & placement reporting

Pipeline visibility from job posting through offer accepted. Per-recruiter, per-client, and per-vertical revenue dashboards. Margin reporting for contractor placements. CSV and API exports for finance systems.

Compliance & regulatory considerations

Candidate data is sensitive, contractor compliance is heavily regulated, and the cost of getting either wrong is reputational damage that does not heal quickly.

UK GDPR + DPA 2018 EU GDPR IR35 / Off-Payroll Working aware GLAA Licensing aware REC compliance aware CCPA SOC 2 Type 1 (in progress) Accessibility WCAG 2.2 AA

GDPR is the headline risk. Candidate CVs are special. They contain personal data, sometimes special category data (health, political views, trade union membership), and they are collected from a person who has not yet entered a contractual relationship with you. We treat data subject rights (Articles 15 to 22) as first class endpoints rather than as a customer support workflow: a subject access request returns a downloadable export in 24 hours, a right-to-erasure request flows through a confirmation step into a hard delete plus anonymisation of derived records. Retention is configurable per client and per data category, with automatic deletion after the configured window. ROPA and DPIA documentation is produced as part of the build, not retro-fitted before an audit.

IR35 is engineering, not advice. We do not give tax advice. What we build is the software your tax counsel needs: a Status Determination Statement object with a full version history, a 45 day appeal workflow visible to all three parties, CEST integration where you want a deterministic baseline, and an audit log that survives HMRC questioning. The data model treats inside-IR35 and outside-IR35 engagements as distinct, including downstream effects on payroll, invoicing, and VAT.

Accessibility is non-negotiable in HR tech. If a candidate cannot use your portal because of a screen reader incompatibility, you have an Equality Act 2010 problem. We design to WCAG 2.2 AA and verify with both automated tooling (axe-core, Lighthouse) and manual screen reader testing on NVDA and VoiceOver.

Tech stack we use for recruitment & HR tech

Predictable, search heavy, integration heavy. We bias towards stacks that handle a million candidates and twenty job boards without falling over.

Node.js 20 + TypeScript React 18 + Next.js PostgreSQL 16 + pgvector Elasticsearch / OpenSearch Redis + BullMQ OpenAI embeddings Broadbean / Idibu APIs DocuSign & Adobe Sign APIs AWS Chime SDK / LiveKit Auth0 / WorkOS Stripe / GoCardless Sentry + Datadog
Legacy Redevelopment UK workforce solutions · 8 weeks · 3 engineers

PHP/Laravel recruitment portal rebuilt on Node.js + React with multi-board distribution

A UK workforce solutions company had a PHP/Laravel portal managing contractor placements, compliance documents, and client job submissions. Pages took 10 to 15 seconds to load. Job board distribution was entirely manual. We rebuilt the platform on Node.js + React, with auto-posting to five UK job boards, live candidate search backed by Elasticsearch, auto generated contracts, and a GDPR compliant document management system, in under 10 weeks with a 3 person team using Claude Code and Cursor throughout.

<1sPage load (was 10–15s)
8 wksPhase 1 delivery
5 portalsAuto posting integrations
60%Cost vs UK team

Read full case study →

FAQ

Common questions

For UK recruitment we routinely integrate with Reed, Indeed, Totaljobs, CV Library, LinkedIn Recruiter, Adzuna, and Broadbean as a multi-board distribution layer. For the US we cover Indeed, LinkedIn, ZipRecruiter, and Monster. For UAE we work with Bayt and Naukrigulf. The integration pattern is the same in each case: a single job posting hits an internal API and is fanned out to whichever boards the client has account credentials for, with status tracking, applicant pull-back, and de-duplication of candidates who apply via multiple channels.
Each candidate CV is parsed into a structured profile (skills, years of experience, role history, qualifications, location, salary expectation) and then embedded using a transformer model into a vector representation. New job descriptions are embedded the same way. Cosine similarity gives an initial shortlist; a second pass scores hard requirements (visa status, IR35 status, specific certifications) deterministically; a final LLM pass writes a one paragraph rationale for each match so the recruiter understands why the system surfaced this candidate. False positives are bounded by the deterministic pass, which is the part most teams skip and regret.
Candidate data is treated as Article 6 lawful basis: legitimate interest for sourcing, consent for marketing communications. We build the data subject rights endpoints (access, rectification, erasure, portability) as first class APIs rather than as a customer support workflow. Retention is configurable per client, with automatic anonymisation after the configured window. Cross border transfers use Standard Contractual Clauses, and we host EU candidate data in eu-west-2 (London) or eu-west-1 (Ireland) by default.
Yes. We build the IR35 status determination workflow as a first class object in the platform: SDS (Status Determination Statement) generation, the appeal process within 45 days, audit trails of who determined what and when, and the client/agency/contractor flow for inside-IR35 vs outside-IR35 engagements. We integrate with HMRC's CEST tool where clients want a deterministic baseline. We are not your tax advisor; we deliver the software your tax advisor needs.
Yes. Asynchronous video interviewing on AWS Chime SDK or LiveKit, scheduled interviews with calendar integration (Google, Outlook, Office 365), live coding exercises with a sandboxed terminal, and structured scorecards with hiring manager calibration. AI summarisation of recorded interviews is available but always opt-in per candidate and visible in the candidate's data subject access portal.
E-signature (DocuSign, HelloSign, Adobe Sign), right-to-work verification (Trust ID, Yoti, Onfido), background checks (Sterling, Checkr, Experian), payroll (Sage, Xero, ADP, BambooHR, Deel for contractors), identity provisioning (Okta, Azure AD, Google Workspace SCIM), and a workflow engine that orchestrates the sequence with deadline-driven nudges to candidate and hiring manager. Time-to-productive-first-day usually drops from weeks to days.
Free consultation, no commitment

Ready to ship?

Tell us about your project. Written scope, timeline and cost estimate within 48 hours.

Chat with us on WhatsApp