APIs and custom management systems

Your operation already has rules. The software should follow them.

We design APIs and management systems for companies whose way of working does not fit an off-the-shelf product: a data contract written before the code, integration with the systems you already run, and prior history migrated with its context.

None of these three problems is fixed by buying another license.

The spreadsheet stopped scaling.

It worked until four people were filling in the same one. Now there are three versions of the file, someone overwrote a row without noticing, and nobody remembers which one was current.

Two systems that never talk.

The same record is typed twice: once into billing, once into the operations system. When they disagree, whoever checked last wins.

The off-the-shelf tool decides.

It works, but it imposes its own way of working. Every exception your business has ends up in a side spreadsheet, which takes you back to problem one.

Four separate jobs. It is unusual to need all four.

Your own API, with an explicit contract

Every field has a name, a type and a defined response for when something fails. The contract is written before the code: that is what lets you connect a new system next year without reopening the first one.

Integration between existing systems

Billing, the warehouse, the spreadsheet your sales rep keeps. Instead of replacing them, we connect them so a record is entered once and travels.

Data migration that keeps the history

Previous years come across with their context: who, when, and against which document. A new system that starts empty forces you to keep the old one running just to look things up, and then it replaced nothing.

An operation you can measure

Logs of what happens, usage metrics, alerts and backups. It is the difference between “the system feels slow” and knowing which query slowed down, since when, and for whom.

First we understand the operation. Then we write code.

  1. 01

    We map the operation as it runs.

    Not the org chart: what happens on a Tuesday. Who enters what, at which point, and which spreadsheet appears when the system falls short.

  2. 02

    We define the data contract.

    Which entities exist, which fields are mandatory, and what happens when an incomplete record arrives. Written and agreed before the first screen.

  3. 03

    We build and integrate in stages.

    One module goes into use while the rest stays as it is. If a stage does not work, it is corrected with the operation running, not during a single-night migration.

  4. 04

    We measure and keep it moving.

    Once the system is in use, the cases nobody mentioned in the meeting show up. It is adjusted with that information, not with the original assumption.

Evidence, not a promise

Control Romeva was designed exclusively for Transporte Romeva’s operation. It connects quotations, route sheets, delivery notes, invoices, collections, purchases, inventory, fleet, personnel and financial control: quoting and collecting happen inside the same system, each role sees what it needs, and every movement retains its operational context. That is what we can publish — the scope, not the screens — and it is enough to show how far a custom system can go when a whole operation fits inside it.

See the Control Romeva case

Frequently asked questions

What is an API, and why would I want one?

It is the door two programs use to hand each other data without a person copying it by hand. If your billing software holds the customer list and your dispatch system holds another one, the API is what makes them the same list instead of two that drift apart. You do not always need one: if a single system covers the whole process, an API only adds a piece to maintain.

Does it replace my current system or integrate with it?

It depends on where the problem sits. If the system does its job and is merely isolated, we integrate: it costs less and nobody has to be retrained. We replace it when the tool imposes a process the operation cannot follow, and that is decided after the mapping, not before.

What happens to my historical data?

It migrates with its context: who, when, and against which document. It is the slowest part of the project and the one with the most surprises, because old data is rarely as tidy as people remember. A new system that starts empty forces you to keep the old one running to look things up, and that is not a migration: it is one more system.

What does the cost depend on?

Three things you can count: how many processes are included (quoting, invoicing, collecting, purchasing, stock control), how many systems have to talk to each other, and the state of the data being migrated. The mapping exists precisely to put a number on those three before anyone commits to a budget.

Who maintains it?

Maintenance is agreed at the start. One thing is not up for discussion: the code and the data are yours from day one. A custom system you cannot take to another provider is not custom: it is a lease with a different name. You can agree on ongoing monthly support or handle it change by change; either way, maintenance means the system keeps running when something around it changes — a version, a supplier, a tax rule — and that there is someone to call when it does not respond.

How do I know it is working well day to day?

Because the system tells you before a user does. Every operation is logged, response times are measured, and alerts fire when something stops responding. Without that, the first person to learn the system is down is whoever was about to invoice. What gets measured and what triggers an alert is decided with you: an alert that fires at anything ends up ignored, and then it protects nothing.

How many times does the same record get typed in your company?

Tell us how you work today and where it breaks. We start by mapping the operation; only with that on the table can anyone say whether you need a system of your own, an integration between the ones you already have, or two steps of the current process corrected. All three answers are possible, and they cost very differently.

Request an operations review