Skip to main content

Technology

Technology that fits your organisation.

Your existing software, standards and internal expertise come first. We work with what is already in place where it remains suitable. If there is no suitable technical environment yet, we establish one using relevant standards and recommend technologies that fit the work and its risks.

Security requirements shape architecture and implementation. The safeguards depend on the system and its risks. See our Security & Trust approach

How we choose

A deliberate choice, not a fixed stack.

Technology choices should remain explainable to the people funding, using, evaluating and operating the software.

  1. 01

    Your requirements come first

    Client standards, mandated platforms, data location and contractual constraints establish the available choices.

  2. 02

    Review the existing environment

    We consider existing systems, integrations, internal skills and investments before proposing replacement or migration.

  3. 03

    Establish a sound foundation when needed

    If no suitable environment exists yet, we set it up using relevant industry standards for security, maintainability and operation.

  4. 04

    Fit the technology to the work

    Workflows, users, exceptions, volume, failure handling and continuity needs shape the architecture.

  5. 05

    Consider risk and ownership

    Security, compliance, maintainability and the team that will operate the system affect every technical decision.

  6. 06

    Apply our usual defaults when appropriate

    We generally prefer Azure, .NET, React or Next.js, Terraform, OpenTelemetry and PostgreSQL when no requirement or technical constraint points elsewhere.

From design to production

The technical foundation for building and operating dependable software.

Applications, data, safeguards and infrastructure need to work as one system. The right combination depends on your existing environment and operational needs.

Applications, APIs and business logic

Applications and APIs

We build interfaces, services and business rules that support the work from user interaction through to system integration.

  • .NET for APIs and client-specific business logic
  • React or Next.js for web applications
  • React Native, .NET MAUI or Flutter for mobile applications, selected according to your requirements and application constraints

Data, integration and safeguards

Data and integration

Preserve useful systems and data investments instead of replacing them merely to impose a preferred stack.

  • Existing databases where they remain suitable
  • Cloud-native databases where appropriate
  • PostgreSQL as the preferred general-purpose option

Identity, access and verification

We match identity and access management, automated testing, code analysis and dependency checks to the system's risks.

  • Cloud-native identity services or Auth0 for on-premises solutions
  • Playwright for browser and end-to-end testing
  • SonarQube, Qodo and OWASP Dependency-Track

Platforms and operations

Cloud and on-premises

We deploy software in an environment your organisation can govern, operate and connect to its wider system landscape.

  • Microsoft Azure, AWS and Google Cloud
  • On-premises infrastructure when required
Microsoft Azure
AWS
Google Cloud

Infrastructure and observability

Keep environments reproducible and make production behaviour visible to the people responsible for operating the system.

  • Terraform for infrastructure as code
  • OpenTelemetry for application telemetry
  • Platform-native monitoring, logging and error tracking, such as Azure Monitor

Engineering profiles

The greater the impact, the more thoroughly we engineer and test.

A prototype, an internal tool and a field system whose failure could cause serious harm do not need the same investment. We vary the scope, refinement, testing, resilience and operational controls according to the decision at hand and what would happen if the software failed.

Every profile still needs a clear critical workflow, accessibility and security appropriate to its use, correct handling of expected failures and maintainable code when the software is intended to last.

Lean validation

Validate a planning workflow

Purpose
Clarify requirements and answer one important UI or workflow question through a collaborative prototype cycle.
Verification
Use the prototype with selected Domain Experts or representative users to test the critical journey, core rules and meaningful exceptions.
Operational depth
Representative data and simulated integrations where they answer the question; no production operation by default.

Focused production release

Put one handover into operation

Purpose
Deliver one narrow, valuable end-to-end workflow in production.
Verification
Automated tests around critical rules, integrations and expected failure paths, plus operational review.
Operational depth
Real data and critical integrations, with permissions, logging, monitoring, backups and controlled releases.

Field system requiring extensive controls

Support work where failure could cause serious harm

Purpose
Support critical decisions and continuity under defined operational and failure conditions.
Verification
Risk analysis, traceable requirements and broader automated and manual testing across failure modes.
Operational depth
Stronger access control, auditability, recovery and monitoring; offline operation and safe synchronisation where connectivity risk requires them.

These examples are not fixed packages or price bands. Testing may lead to a focused release and then to stronger controls when real use and the impact of failure justify further investment.

Your environment

Discuss the systems, standards and constraints already in place.

The no-charge 45-minute conversation covers your current environment, the constraints that matter and the software decision you need to make. We clarify what is already known, what still needs examination and which technical question should be tested first. You do not need a complete specification or a predetermined solution.