Integrations & automation

Connecting the systems you already run, and deleting the manual work that currently sits between them.

Most companies do not have a software problem so much as a gap problem. The accounting system is fine. The logistics platform is fine. The supplier sends their data on time. The problem is the person who exports from one, reformats it in Excel and pastes it into the next — every morning, accurately on most days.

That gap is where errors, delays and key-person risk live. I connect the systems you already run — accounting, logistics, suppliers, CRM, internal tools — and automate the work between them, whether that means a proper API integration, a file pipeline that ingests whatever format a partner insists on sending, or a scheduled job that reconciles two sources and flags only the differences.

The largest of these runs unattended every minute of every day, moving card-administration tasks between a fuel company's CRM and its provider's portal and writing back a result the CRM can act on. The principle at any scale is identical: make the data move itself, and make it loud when it cannot.

What you get

Systems that talk to each other

API integrations where an API exists, and robust file or scraping pipelines where it does not — because partners rarely modernise on your schedule.

Automation of the daily manual step

The export-reformat-import ritual replaced by something scheduled, logged and repeatable. Fewer spreadsheets, fewer copy-paste mistakes, faster operations.

Failure that announces itself

Retries, dead-letter handling and alerts. A silent integration that stopped working three weeks ago is more expensive than no integration at all.

An auditable trail

What moved, when, and what happened to it. When finance asks why a number disagrees, the answer should take minutes, not a day.

How it works

  1. 01

    Map what actually moves

    Which data, from where, to where, how often, and who fixes it when it is wrong. This step routinely uncovers steps nobody remembered existed.

  2. 02

    Start with the most painful hop

    One integration that removes a daily manual task pays for itself and proves the approach before scope grows.

  3. 03

    Build for the partner you actually have

    Not the one with clean documentation. Malformed XML, silent schema changes and 3am rate limits are the normal case and get designed for.

  4. 04

    Monitor, then extend

    Once it runs unattended and tells you when it cannot, the next connection is straightforward.

Typically built with

GoTypeScriptKafkaPostgreSQLREST & XMLScheduled workersDocker

Where I have done this

Common questions

Our supplier has no API. Can this still work?

Usually yes. A great deal of real-world integration is files — XML, CSV, fixed-width exports, sometimes email attachments — and that is entirely workable as long as the format is consistent enough to validate. I have built pipelines around partners who send hundreds of thousands of files a day in a format nobody would design today.

What if the partner changes their format without telling us?

Assume they will. Pipelines I build validate incoming data against an expected shape and stop loudly rather than importing nonsense. Discovering a schema change through an alert is a minor annoyance; discovering it through a wrong invoice three weeks later is not.

Can you automate something inside our existing software?

Often, yes — through its API, its database, its export formats, or as a service that sits alongside it. Rewriting the system you already paid for is rarely the right answer, and I will look for the route that leaves it in place first.

How long does a typical integration take?

A single well-documented connection is often a matter of days to a couple of weeks. Complexity almost never comes from the code — it comes from access, credentials, undocumented behaviour and waiting on the other side's IT department, which is worth planning for honestly.

Have a project like this?

Tell me what the system has to do and what it has to talk to. You get a straight answer about scope, sequence and what I would build first — before any commitment.

Start a conversation