Services

Page / 03

What we do, described
in specific terms.

The services below describe the shape of the work the practice takes on. Every engagement is scoped in writing before it begins, and priced on that written scope.

Wide interior view of a data centre corridor with rows of illuminated server racks

Service 01

Custom software development

Bespoke applications, internal tools and product surfaces built from a written specification, and continued from an earlier vendor where the previous engagement did not conclude.

Typical needs

  • Replacing an ageing internal system that no longer matches the way the business runs.
  • Building a first version of a product for a defined set of early customers.
  • Continuing a codebase whose original team has moved on.

Key areas of work

  • Domain modelling and specification.
  • Backend services and data models.
  • Front-end interfaces on the web and in native apps.
  • Long-term maintainability and documentation.

Expected outcomes

  • A working system in production, owned by the client.
  • A test suite and CI pipeline that remain useful after handover.
  • Documentation sufficient for a new engineer to continue the work.

Service 02

Web application development

Server-rendered and client-side web applications, from marketing surfaces to complex operational tools used by internal teams.

Typical needs

  • A public web presence that reflects the seriousness of the organisation.
  • A back-office application that replaces a spreadsheet workflow.
  • A portal used by clients or partners with tight access controls.

Key areas of work

  • Information architecture and accessibility.
  • Server-side rendering, caching and edge delivery.
  • Authentication, authorisation and audit.

Expected outcomes

  • A responsive, accessible web application that loads quickly on slow networks.
  • Deployment pipelines that can be run by an on-call engineer without help.
  • A design system that survives past the launch.

Service 03

Mobile application development

Native and cross-platform mobile applications, designed for the smaller screen rather than resized versions of a web experience.

Typical needs

  • A companion application for an existing web product.
  • A field tool used by staff outside the office.
  • A consumer-facing product with app-store distribution.

Key areas of work

  • Offline behaviour and synchronisation.
  • Push notifications and background work.
  • Store submission, review and privacy disclosures.

Expected outcomes

  • An application accepted into the relevant app stores.
  • A synchronisation model that behaves well on unreliable networks.
  • A release process that respects operating-system update cycles.

Service 04

Cloud solutions

Design, migration and operation of cloud environments across the major public providers and private infrastructure.

Typical needs

  • A first move to the cloud from on-premises infrastructure.
  • Consolidation of an estate that has grown organically.
  • A cost review of an environment where nobody is quite sure what is running.

Key areas of work

  • Environment topology and network design.
  • Identity, access and secrets management.
  • Cost visibility, budgeting and alerts.

Expected outcomes

  • An environment that can be understood from a single diagram.
  • A written record of what runs where, and why.
  • A cost profile that is predictable month to month.

Service 05

IT infrastructure consulting

Independent review of existing infrastructure, with practical recommendations that account for constraints in staffing, budget and timing.

Typical needs

  • A second opinion on an architecture proposed by another party.
  • A written review before a significant investment.
  • A programme of work to bring an estate to a maintainable state.

Key areas of work

  • Architecture review and options analysis.
  • Runbook and procedure quality.
  • Resilience, backup and disaster-recovery posture.

Expected outcomes

  • A written report with prioritised recommendations.
  • A sequenced plan that can be executed by the in-house team.
  • A shared understanding of what is worth doing and what is not.

Service 06

System integration

Bringing separately built systems into a coherent whole through well-defined interfaces, event streams and shared data models.

Typical needs

  • Two products from a merger that need to appear as one.
  • A new tool that needs to sit inside an established set of processes.
  • A vendor system that needs to be extended without breaking upgrade paths.

Key areas of work

  • Interface contracts and versioning.
  • Message-driven and batch integration patterns.
  • Data reconciliation and error handling.

Expected outcomes

  • Integrations that survive vendor updates without manual intervention.
  • Interfaces that are documented from the code that implements them.
  • Clear ownership boundaries between systems.

Service 07

API development & integration

Design, implementation and operation of application programming interfaces, both internal and public-facing.

Typical needs

  • A public API for partners or third-party developers.
  • An internal API to unlock reuse across teams.
  • Bringing an existing collection of endpoints under a coherent design.

Key areas of work

  • Interface design, versioning and deprecation policy.
  • Authentication, quotas and abuse prevention.
  • Reference documentation and client libraries.

Expected outcomes

  • A stable, versioned API with predictable evolution.
  • Documentation that stays in step with the implementation.
  • A published deprecation policy that partners can plan around.

Service 08

Data engineering & analytics

Pipelines, warehouses and reporting layers that make data usable to the people who need to answer questions with it.

Typical needs

  • A first analytics capability beyond the operational database.
  • A rebuild of a pipeline that has become unreliable.
  • A single source of truth for figures that currently disagree between systems.

Key areas of work

  • Ingestion from operational systems and third-party services.
  • Warehouse modelling with versioned, tested SQL.
  • Dashboards and internal reporting.

Expected outcomes

  • A pipeline that runs on a schedule without manual attention.
  • Definitions of key business metrics that are agreed and documented.
  • Reports that answer specific questions rather than displaying every available chart.

Service 09

Cybersecurity consulting

Practical security work embedded in engineering, from threat modelling to incident preparation.

Typical needs

  • A security review ahead of a significant customer or regulator conversation.
  • A tightening of access after a period of rapid team growth.
  • Preparation for an incident that has not happened yet.

Key areas of work

  • Threat modelling and control mapping.
  • Identity, access and secrets review.
  • Detection engineering and incident response procedures.

Expected outcomes

  • A prioritised backlog of security work with owners and dates.
  • Written incident response procedures the team has rehearsed.
  • A supply-chain posture that can be reasoned about.

Service 10

Quality assurance & testing

Testing embedded in the engineering process, not layered on top as a separate phase.

Typical needs

  • A codebase where every change now feels risky.
  • A release process that has become a source of anxiety.
  • A specific compliance requirement that calls for evidence of testing.

Key areas of work

  • Unit, integration and end-to-end test design.
  • Non-functional testing for performance and failure modes.
  • Continuous integration hygiene.

Expected outcomes

  • A test suite that catches regressions before release.
  • Releases that happen on a schedule rather than an event.
  • A shared understanding of which tests matter and why.

Service 11

User experience & interface design

Interface design for operational tools, product surfaces and internal applications, in close partnership with the engineering team.

Typical needs

  • An internal tool whose users have to be trained to use it.
  • A product whose interface no longer matches the maturity of the underlying system.
  • A design language that can be applied consistently across many screens.

Key areas of work

  • Task-based interface design.
  • Accessibility and inclusive design.
  • Design systems, components and tokens.

Expected outcomes

  • Interfaces that reduce the number of steps for common tasks.
  • A component library shared across the product and internal tools.
  • Design decisions recorded next to the code that implements them.

Service 12

Digital transformation consulting

Programme-level work on the seam between technology change and the way people work.

Typical needs

  • A migration from a legacy platform that also changes the way work is done.
  • A merger that requires two organisations to share a way of working.
  • A shift from bespoke tools to a smaller number of shared platforms.

Key areas of work

  • Current-state mapping of processes and systems.
  • Sequenced migration and change-management planning.
  • Measurement of adoption and outcome.

Expected outcomes

  • A programme that finishes on the scope it started with.
  • A change plan that respects the people affected by it.
  • Systems that are actually used, rather than tolerated.

Service 13

Application modernisation

Rewriting, extracting or gradually replacing long-lived applications so that the parts still earning their keep can continue to do so.

Typical needs

  • A system on an unsupported runtime or framework.
  • A monolith that has become difficult to change safely.
  • A collection of scripts that has grown into a critical system.

Key areas of work

  • Strangler-fig extraction and parallel-run strategies.
  • Data migration and reconciliation.
  • Runtime and dependency modernisation.

Expected outcomes

  • A supported runtime and a maintainable dependency tree.
  • A migration plan that leaves the system usable at every step.
  • A codebase that can be worked on by engineers who did not write it.

Service 14

Technical support & maintenance

Ongoing engineering support for systems in production, on an agreed and bounded basis.

Typical needs

  • A period of extended support after a delivery.
  • An arrangement to keep dependencies and runtimes current.
  • A named engineering point of contact for a specific system.

Key areas of work

  • Scheduled patching and dependency updates.
  • Monitoring, alerting and incident response.
  • Small enhancements within an agreed scope.

Expected outcomes

  • A system that stays current with its runtime and its dependencies.
  • Predictable response and resolution timelines.
  • A written record of what was changed and why.