HRTech
Retiring a decade-old HR platform one capability at a time
Placeholder case study. A ten-year-old HR platform migrated capability by capability, with infrastructure brought under code before anything moved.
- TypeScript
- Node.js
- Next.js
- PostgreSQL
- Debezium
- Terraform
- Kubernetes
- AWS
Sample case study — illustrative, not a delivered client engagement
Beacon People Systems is an invented company used to demonstrate our case-study format and our approach to this kind of work. The technical detail reflects how we would genuinely deliver it; the client name is fictional and the figures under Results are design targets rather than measured outcomes.
Client
Beacon People Systems
Illustrative HR software vendor — PLACEHOLDER CONTENT
- Industry
- HRTech
- Year
- 2026
The business challenge
PLACEHOLDER — replace with the real engagement narrative. The illustrative situation: a platform serving long-standing enterprise customers ran on an unsupported framework, deployed by hand, with infrastructure that existed only in a cloud console. Contractual uptime commitments meant no maintenance windows were available.
Objectives
- PLACEHOLDER — Bring infrastructure under code before changing behaviour
- PLACEHOLDER — Migrate without maintenance windows
- PLACEHOLDER — Reach a supported runtime and dependency set
- PLACEHOLDER — Leave the in-house team able to continue the programme
Discovery and strategy
What we did before writing code
- PLACEHOLDER — Inventoried infrastructure created by hand over a decade
- PLACEHOLDER — Measured route usage to identify what could simply be retired
- PLACEHOLDER — Catalogued undocumented consumers of the production database
- PLACEHOLDER — Sequenced migration slices by risk and customer impact
Solution
What we built
PLACEHOLDER — Infrastructure as code
Replace with real detail. Existing resources imported into Terraform first, so every later change was reviewable and reversible.
PLACEHOLDER — Delivery pipeline
Replace with real detail. Automated build, test and deploy with preview environments and one-action rollback.
PLACEHOLDER — Characterisation tests
Replace with real detail. Behaviour captured against the running system before any capability was replaced.
PLACEHOLDER — Strangler migration
Replace with real detail. Capabilities moved behind a routing layer with gradual traffic shifting and output comparison.
PLACEHOLDER — Data decoupling
Replace with real detail. Change data capture kept old and new stores consistent while each consumer migrated on its own schedule.
Architecture
How it fits together
PLACEHOLDER — Migration architecture
Replace with the real architecture. The illustrative shape: routing as the control point, so each capability moves, verifies and reverts independently.
- Routing layerPer-capability traffic control
- Legacy platformServing un-migrated capabilities
- Migrated servicesSupported runtime, deployed by pipeline
- Change data captureKeeps both stores consistent
- Infrastructure as codeEvery environment reproducible
- ObservabilityTracing, metrics and rollback triggers
Design approach
Decisions in the interface
- PLACEHOLDER — Held the existing interface steady so customers were not relearning mid-migration
- PLACEHOLDER — Rebuilt only the screens where usage data showed real friction
- PLACEHOLDER — Brought migrated screens up to WCAG 2.2 AA as they moved
Development process
How the work ran
- PLACEHOLDER — Traffic shifted in increments with automated rollback on error thresholds
- PLACEHOLDER — Client engineers paired on every slice and led the final ones
- PLACEHOLDER — Legacy components decommissioned only after a period of zero traffic
Technology stack
What it runs on
- TypeScript
- Node.js
- Next.js
- PostgreSQL
- Debezium
- Terraform
- Kubernetes
- AWS
Challenges resolved
What went wrong, and what we did
Every project has these. A case study that omits them is a brochure.
PLACEHOLDER — Infrastructure existed only in a console
Replace with real detail. Importing it into code without altering behaviour made every subsequent change reviewable, and revealed resources nobody could account for.
PLACEHOLDER — No maintenance windows were available
Replace with real detail. Per-capability traffic shifting removed the need for a cutover event entirely.
Results
Objectives and design targets
Because this is a sample case study, these are the objectives and design targets agreed in scope — not measured business results.
PLACEHOLDER — Maintenance windows
None required
Placeholder. Approach agreed during discovery.
PLACEHOLDER — Deployment
Automated pipeline
Placeholder scope item, not a measured result.
PLACEHOLDER — Surface retired
Target only
Placeholder. Replace with a measured, verifiable outcome or remove.
Client feedback
In their words
Placeholder quote
This quote is sample content shown to demonstrate the layout. It is not attributable to a real person or organisation and will be replaced only with a genuine, approved testimonial.
“PLACEHOLDER — replace with a real, approved client quote. This text exists only to demonstrate the layout.”
Placeholder namePlaceholder role (illustrative)
Related services
The practices behind this work
Modernization & Quality
Legacy modernization, quality engineering, test automation, application security and managed support — delivered incrementally, without a big-bang rewrite.
Explore Modernization & QualityCloud, Data & DevOps
Cloud architecture, delivery pipelines, data platforms and observability — engineered for reliability, cost control and safe, frequent releases.
Explore Cloud, Data & DevOps
More work
Other case studies
- HRTechSample content
An applicant tracking platform with explainable candidate matching
A recruitment platform where structured CV parsing and explainable matching cut screening time without removing recruiter judgement.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- FinTechSample content
Multi-tenant billing and entitlements for a growing SaaS platform
Retrofitting organisations, entitlements and usage-based billing into a product originally built for individual users.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- LogisticsSample content
Modernizing a logistics portal without pausing operations
Incremental migration of a business-critical customer portal and driver workflow using the strangler pattern, with no cutover event.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- HealthcareSample content
A patient portal that clinicians actually adopted
Placeholder case study. Appointments, results and secure messaging delivered against an immovable EHR, designed around clinician workload rather than around the feature list.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- E-commerceSample content
Replatforming a storefront without losing a peak season
Placeholder case study. A headless storefront migrated page type by page type, with checkout instrumented before anything was redesigned.
- Next.js
- TypeScript
- Shopify Hydrogen
- Algolia
- EdTechSample content
An assessment platform that holds up on results day
Placeholder case study. Timed assessment delivery engineered for concentrated load, with integrity controls and accessibility treated as requirements rather than settings.
- Next.js
- TypeScript
- Node.js
- PostgreSQL
- FinTechSample content
Cutting reconciliation break investigation from hours to minutes
Placeholder case study. Model-assisted investigation of reconciliation breaks, with every suggestion evidenced and every decision recorded for audit.
- Python
- TypeScript
- PostgreSQL
- Kafka
- E-commerceSample content
Product content generation across a catalogue nobody could keep current
Placeholder case study. Draft descriptions, attributes and translations generated from supplier data, with merchandiser approval before anything reaches the storefront.
- TypeScript
- Next.js
- Node.js
- PostgreSQL
Similar situation?
Start a project like this one
Tell us where you are. We will tell you how we would approach it and what we would want to understand first.
Prefer email? contact@xalicon.co