
Global Mediation
An AI scheduling engine that negotiates SEND mediation dates across five participant types — with policy and local authority rules held as data.
We run every Angular there is — including the one you are stuck on.
Angular is our deepest single stack by volume, and unusually we run the full span of it in production right now: the current release on a platform shipped this year, mid-generation builds on two enterprise systems, an older release on a live clinical portal, and a legacy build still serving a retail storefront that earns its keep.
That range is the point. An Angular application a few generations behind is not a broken application — it is a working one that has stopped being upgradeable by the team that has it. Most agencies quote for a rewrite, because a rewrite is the only thing they know how to price. We have carried Angular applications forward a generation at a time for clients who could not afford to stop, which is a different skill and usually a cheaper answer.
Capabilities
Staged upgrades a generation at a time, with the application deployable and shipping features throughout — not a feature freeze followed by a rewrite nobody signed off.
One codebase serving several separately branded deployments, each with its own configuration, theming and release, rather than a set of forks quietly drifting apart.
Angular Material and CDK back-office applications with role-based access, audit trails and the information density real operators actually want.
Patient and practitioner portals with JWT handling, inactivity timeouts, strict template checking and accessibility held to standard.
Highcharts and Chart.js dashboards, plus force-directed organisational network analysis over live data using sigma.js and graphology.
Quill and markdown editors with in-browser image cropping, and FullCalendar booking surfaces — so editors and schedulers work inside the product.
The Stack
Not a wish list. Every library below is running in a repository we maintain.
Engineering Practice
Choosing the stack is the easy part. These are the decisions that determine whether the codebase is still maintainable after we hand it over — and they are the same on every Angular project we run.
Our certificationsUpgrades run a generation at a time with the application deployable at every step, so the client keeps shipping features while the migration happens underneath them.
Strict templates and strict injection parameters are on, which turns a whole class of Angular runtime failure into a build error before anyone sees it.
The API client is generated from the backend's Swagger document rather than maintained by hand — the single biggest source of drift in a long-lived Angular application.
Karma and Jasmine suites run in CI across every environment branch, so a change is verified against each deployment target rather than only against the main line.
Bugsnag reporting spans the Angular client and its .NET backend, so a failed request is one trace rather than two teams comparing timestamps.
Related Work
Mediation scheduling, renal care, workplace analytics and a decade-old retail storefront — Angular across its whole lifespan.

An AI scheduling engine that negotiates SEND mediation dates across five participant types — with policy and local authority rules held as data.

Mobile app and CMS replacing manual medical systems for one of Africa's largest renal care providers. 5,000+ downloads, 4.5-star rating.

Eight years building and running a multi-tenant analytics platform — Google Workspace, Microsoft 365 and Slack data, now measuring AI adoption.

An embedded Dev/QA/eCommerce team and a bespoke 'Sleep Club' subscription engine for sustainable babywear.
Related
Related Service
Angular is how we build. If you would rather start from what you need delivered, our bespoke software development page covers scope, process and engagement.
Tell us what you are building — or what you have inherited. We will come back with a straight answer on scope and approach.
Get in Touch