Service

Software Development

Custom software for the problems off-the-shelf products do not solve: APIs, integrations between systems that were never designed to meet, data pipelines, and internal tools shaped around how your business actually works rather than how a vendor assumed it would.

What this covers

  • REST and GraphQL APIs, documented well enough that another team can build against them without booking a call
  • Integrations between systems that do not speak to each other — your CRM and your accounting package, your warehouse and your storefront
  • Data pipelines that collect, clean, and move information on a schedule, so reporting stops depending on someone remembering to export a file
  • Internal tools that replace the spreadsheet everything currently depends on, with proper validation and an audit trail
  • Command-line tools and scheduled jobs for the work that should never have needed a person in the first place
  • Modernising older systems in stages, so the business keeps running throughout instead of stopping for a rewrite

How we approach it

Integration work fails in predictable ways: the other system goes down, returns something unexpected, or quietly changes its response format. We assume all three will happen. Everything retries sensibly, records what it did, and fails in a way that alerts someone rather than silently dropping your data on the floor.

Every input crossing a boundary is validated where it arrives, and credentials for third-party systems are held server-side in a secrets manager — never embedded in the code, never shipped to a browser, never printed into a log.

We write the tests that earn their keep: the ones covering the logic your business depends on and the edge cases that caused problems before. You get code you can hand to another team, not a black box that only we understand.

Tools we use for this

The platforms we reach for on this kind of work. The right choice depends on what you already run, and we will tell you when your existing tooling is the better answer.

  • Python
  • Go
  • TypeScript
  • Node.js
  • .NET
  • GraphQL
  • Postman
  • Swagger
  • PostgreSQL
  • MySQL
  • Redis
  • Apache Kafka
  • Apache Airflow
  • Elasticsearch
  • Snowflake
  • Docker
  • SonarQube
  • Git
  • Sentry

Common questions

We already have software. Can you just add to it?

Usually. We spend the first short engagement reading the existing system and its infrastructure, then propose changes that fit how it is already built rather than imposing a different style on top of it.

Who owns the code you write?

You do, in full, from the first commit. It lives in your repository under your account. There is no runtime licence, no per-seat fee, and nothing that stops another firm picking it up if you ever want them to.

What if the system we need to integrate with has no API?

That is common and usually still solvable — scheduled file exchanges, database-level integration, or careful automation of the existing interface. We will tell you plainly which option applies and how fragile it is likely to be, because some of these are more fragile than others.

Talk to us about software development

Tell us what you are trying to achieve and we will tell you honestly whether we are the right fit. We reply within 1 - 2 business days.

Start a conversation →
← All services