Skip to content

Software that survives production.

Project C2X designs, builds, and operates software — whatever shape the problem turns out to need, from the first commit to the fourth nine. And when something you shipped in a hurry starts to buckle, we are who you call.

  • New builds
  • Rescues and rebuilds
  • Scale and reliability
  • Long-term operation
The rescue desk

It worked beautifully in the demo.

Something got built fast. It was vibe coded — an AI wrote most of it, it shipped in a fortnight, and for a while it was the best decision anyone made that quarter.

Then real users arrived. Now nobody can safely change it, the person who prompted it into existence has a slightly haunted look, and every estimate starts with “it depends what that function does.”

This is not a character flaw. It is a stage. Vibe coding it into existence was the right call — it is just that the thing that got you here will not get you to the next order of magnitude. That part is our job: taking vibe-coded software to production grade, so it holds up for every user you are about to have and not only the ten who saw the demo.

It runs on exactly one laptop

No reproducible environment, no documented setup, and deploying means one person doing seventeen things in the right order from memory. They are now on holiday.

Nobody can change it safely

No tests, no types, no boundaries. Every fix has a fair chance of breaking something unrelated, so the team quietly stops fixing things.

The data model is a shrug

One wide table, a JSON column called data, and four slightly different ideas about what a user is. Reporting is guesswork and migrations are genuinely frightening.

It fell over on the first busy day

No pooling, no caching, no rate limits, and an n+1 query on the busiest page. It was perfect at ten users. It is not perfect at ten thousand.

What we actually do about it

  1. Audit

    Two to three weeks reading the code and watching it under real traffic. You get a written assessment: what is here, what is load-bearing, what is quietly on fire, and what each fix costs.

  2. Stabilise

    We fix what will hurt you soonest — the outage risk, the data-loss path, the security hole — before touching anything cosmetic.

  3. Make it changeable

    Types, tests, and boundaries around the parts that matter, so shipping stops being an act of faith. Incrementally, behind the running product. No freeze, no big-bang rewrite.

  4. Hand it back

    A codebase a normal engineer can pick up on a Monday, with the documentation and runbooks to match. You should be able to hire against it.

No lectures about how you should have built it. You had a business to start.

What we build

Built, rebuilt, and kept running.

Problems do not arrive labelled as mobile work or backend work. They arrive as something the business needs to exist, usually spanning several layers at once. What changes is where you are when you call — at the start, mid-flight, or long after launch.

From nothing

An idea, a deadline, and no code yet. We design it, build it, and put it in front of real users.

  • Architecture and data model agreed before the first commit
  • Working software in your hands every week
  • Whatever the product needs, across every layer it touches
  • Shipped to production, not to a demo branch

On top of what exists

Very little work is greenfield. We build inside the system you already have, including the parts nobody wants to open.

  • Existing code read and understood before it is changed
  • Migrations and integrations without a feature freeze
  • New capability added without destabilising the old
  • Documented as we go, so your team can carry it

And after it launches

Launch is the start of the expensive part. We stay for the traffic, the incidents, and the second year.

  • Monitoring and alerting that someone can act on
  • Performance work as the numbers actually grow
  • Security patching and dependency hygiene
  • A roadmap that survives contact with users
Selected engagements

Work that made it into production.

A few of the systems we have designed, built, and kept running. Happy to go through any of them on a call.

A Nordic care-technology company

Real-time indoor positioning for care homes, and the app the carers carry

Residents and staff are located in real time through ultra-wideband positioning hardware, so an alarm reaches the right person in the right room rather than the whole building. We built the Android app the carers use — React Native with a good deal of native work, including dialling straight into the speakerphone in a resident's room — and the backend behind it, which ingests tens of thousands of button presses, position updates, and location events in real time. High availability was the first requirement, not a later one.

Scope
Mobile app, backend, hardware integration
Load
Tens of thousands of real-time events

A high-growth SaaS platform

Auditing, hardening, and rehosting a SaaS product to cut its bill by 80%

Their product found an audience faster than they had planned for, and the AWS bill grew with it. AWS was the right way to launch — managed services, nobody on call for hardware, no ops team to hire first — but at steady traffic they were paying for elasticity they no longer used. We audited the codebase before moving anything, because lifting an application that cannot survive losing a node only relocates the problem: connection pooling, cached read paths, sessions out of process, health checks that tell the truth. Then we shipped it onto Hetzner behind load balancers, with more than one of everything. The monthly bill came down by over 80%.

Scope
Code audit, HA rework, migration
Result
80%+ lower hosting bill

A global health insurer

A health and benefits app for corporate employees

Employees could book appointments, read their health records, and reach the wellbeing services their employer was already paying for. React Native on the front, .NET services behind it, delivered by a team of more than ten engineers working to enterprise standards — test-driven development and strict review, because a regulated insurer does not get to skip either.

Scope
Mobile app, .NET services
Delivery
10+ engineers, TDD, strict review

A photography platform

Storage, sales, and a site builder for working photographers

Photographers needed somewhere to keep large libraries of images, sort and sell them, and put a portfolio online without hiring anyone to do it. We built the mobile apps that sync and upload straight from an iOS or Android device, and a React website builder in the shape of Squarespace or Wix — galleries, layouts, and publishing, aimed at people whose expertise is photography rather than HTML.

Scope
iOS and Android apps, web platform
Built
Drag-and-drop gallery and site editor

A global supplements retailer

Rewriting a live storefront from AngularJS to React, without stopping it

Their distributor storefront ran on AngularJS and had become slow and expensive to change. We made the case for React with a working demonstration rather than a deck, then led the rewrite of the whole web app while the existing one carried on taking orders.

Scope
Distributor storefront web app
Migration
AngularJS → React, full rewrite