Industry

Public Sector

Public sector software has a user base it cannot choose and cannot ask to upgrade a browser. That single fact rules out a lot of otherwise reasonable engineering decisions.

You do not get to pick your users

A commercial product can accept that some proportion of visitors will not manage to use it. A statutory service cannot. If someone must renew a licence or claim a benefit, then an interface that fails on an old device, a slow connection, or with a screen reader is not a conversion problem — it is a person unable to access something they are entitled to.

That makes accessibility and progressive enhancement requirements rather than preferences, and it usually means less client-side complexity than a comparable commercial build. Server-rendered pages that work without JavaScript are not a nostalgic choice here; they are the only way to reach everyone who has to be reached.

Where we work

Citizen-facing services

Applications, renewals and payments built to work on old devices, poor connections and assistive technology.

Case management

Caseworker tools with the audit trail, delegation and retention that public accountability requires.

Legacy modernisation

Replacing systems that have run for decades, incrementally, without a cutover weekend that ends up in the press.

Open data and transparency

Publishing datasets with schemas and provenance stable enough that third parties can build on them.

Identity and eligibility

Verification and entitlement checking with a documented path for people whose circumstances the rules did not anticipate.

Internal platforms

Shared infrastructure and standards so individual departments stop solving the same problem separately.

Constraints that shape the work

You do not get to pick your users

Old devices, poor connections, assistive technology, and people using the service once under stress. The service has to work at the bottom of that range.

Procurement shapes the architecture

Contract boundaries become system boundaries. Anything that only works while one supplier is engaged is a lock-in risk with a public cost.

The record is disclosable

Decisions, data and sometimes the code itself can be requested. That is a reason to write things down well, not a reason to write less.

Open standards are not optional

The next supplier has to be able to take over. Proprietary formats and undocumented interfaces transfer cost to the public purse.

Built to be handed over

A procurement cycle will eventually move the work to another supplier, or in-house. Software that only its original vendor can maintain converts that transition into a rebuild, at public expense. This is the strongest argument for boring technology and thorough documentation, and it is why we make handover a deliverable rather than a phase.

In practice that means widely known languages and frameworks over interesting ones, infrastructure defined in code, and architecture decisions recorded with their reasoning. A future team should be able to understand why the system is shaped this way without finding anyone who was there.

  • WCAG 2.2 AA verified with assistive technology, not just automated checks
  • Works without JavaScript for anything statutory
  • Widely known technology chosen deliberately over novel technology
  • Records retention and disposal designed in, per your schedule
  • Architecture decision records, so the next supplier inherits the reasoning
Limits

When not to hire us

If your procurement requires certifications, cleared personnel or a national framework listing, we do not hold them. That is a hard constraint and no relationship changes it.

We also will not take work that depends on a proprietary framework of ours remaining in place after we leave. Public systems should be transferable to the next supplier without a negotiation, and that principle is worth more than the revenue.

FAQ

Common questions

Generally yes, and we would rather understand the constraints early than design something the framework cannot buy. Tell us the route and the evaluation criteria at the outset; they often shape sensible architecture as much as the requirements do.

Scoping call

Bring us the part that is stuck.

Send the constraint you are working around and we will come back with an approach, a rough shape of the work, and what it would take to hand it over.