Representative engagements — anonymised

Work & Capabilities

We don't have named case studies to publish yet, and we're not going to invent ones that sound better. What follows is the honest pattern of the work we do — four representative engagements, anonymised and clearly labelled as such — plus the practices behind all of them.

Abstract structural composition representing a representative, anonymised engineering engagement
Abstract layered composition representing a representative, anonymised engineering engagement
Abstract modular composition representing a representative, anonymised engineering engagement
Abstract stabilising composition representing a representative, anonymised engineering engagement
Abstract structural composition representing a representative, anonymised engineering engagement
Representative engagement — anonymised

Operations platform for a logistics and distribution business

Problem
The business was running purchase orders, stock counts and supplier communication across three spreadsheets and a shared inbox. Nobody fully trusted the numbers, and onboarding a new team member took weeks of tribal knowledge.
Approach
We spent the first two weeks mapping the actual workflow — not the org chart's version of it — before writing a line of code, then replaced the spreadsheets with a single internal tool that mirrored how the warehouse and the office actually worked, exceptions included.
Stack
Node.js, PostgreSQL, TypeScript, React, AWS
Outcome
Stock counts and supplier orders now live in one system the whole team can see and trust, and the business no longer needs a specific person in the room to know what’s in stock.
Custom Software Development →
Abstract layered composition representing a representative, anonymised engineering engagement
Representative engagement — anonymised

Subscription management portal for a media business

Problem
A subscription-based media company needed a self-service portal so subscribers could manage billing, pause, and update details — work that was previously handled manually by a small support team, one email at a time.
Approach
We built the portal as a standalone web application integrated with the client's existing billing provider, prioritising the handful of flows generating the most support tickets first, so the impact was visible before the whole roadmap was built.
Stack
TypeScript, Next.js, Node.js, Stripe, PostgreSQL
Outcome
Subscribers manage their own accounts without emailing support, and the support team spends its time on the tickets that actually need a person.
Web Application Development →
Abstract modular composition representing a representative, anonymised engineering engagement
Representative engagement — anonymised

Field-service app for a facilities-management company

Problem
Field technicians were logging completed jobs on paper and photos sent over WhatsApp, which meant the office was always a day behind on what had actually been done.
Approach
We scoped a cross-platform mobile app around the technicians' actual working conditions — offline-first, because signal on-site was unreliable — with a lightweight web dashboard for the office. Platform strategy and offline behaviour were agreed with the client before any UI work started.
Stack
React Native, Firebase, REST APIs
Outcome
Job status is visible to the office in real time once a technician is back in signal range, and paper job sheets are gone.
Mobile App Development →
Abstract stabilising composition representing a representative, anonymised engineering engagement
Representative engagement — anonymised

Stabilising and modernising a legacy retail management system

Problem
A retail business was running a customer and inventory system built by a freelancer who was no longer reachable. It worked, mostly, but nobody knew why certain things broke, and the client was afraid to touch it.
Approach
We started with a full code and dependency audit rather than a rebuild — the client needed to know what they actually had before spending money changing it. From there we stabilised the highest-risk parts, added test coverage, and modernised the dependencies that were creating real security exposure.
Stack
PHP, MySQL, Docker, CI pipeline
Outcome
The system now runs on supported dependencies with a documented codebase, and the client has a written record of what the system does and doesn’t do, instead of institutional guesswork.
Software Maintenance, Support & Modernization →

Capability areas

Engineering

Backend, frontend and mobile development in the languages and frameworks each project actually calls for, not a house stack we bend everything toward.

Product & Design

UX research, interface design and prototyping, done by people who also know what’s feasible to build.

Delivery practice

Written estimates, staged builds, weekly demos, and a documented handover — the process is part of the deliverable.

Platform & DevOps

CI/CD, staging environments, monitoring and cloud infrastructure, set up so the system keeps running after we leave.

Engineering practices

01
Testing
Core logic and critical flows are covered by automated tests before anything reaches staging.
02
Continuous integration
Every change runs through an automated build and test pipeline before it merges.
03
Code review
No code reaches production without a second senior engineer reviewing it first.
04
Documentation
Architecture decisions and environment setup are written down as we go, not reconstructed at the end.
05
Handover
Every engagement ends with a documented handover: access, architecture notes and a maintenance guide.
06
Security
Dependencies are kept current, and access follows least-privilege by default.

Technologies we actually use

Discuss a similar project.

If one of these looks like your situation, tell us about yours — we'll be straight about whether it's a fit.

Choose what you're comfortable with. You can change this at any time from the 'Cookie preferences' link in the footer.

Essential

Required for the site to work — stores your cookie choice only (cbl_consent). Can't be switched off, and doesn't track you.

Analytics

Google Analytics 4 (GA4) — helps us understand how the site is used, in aggregate. Doesn't load until you switch this on.