Skip to main content

Internal Tools & Business Systems

Custom Software Development

Some requirements have no product behind them. Where a process is particular to your business, and the spreadsheet holding it together is starting to creak, building around that process usually costs less across a few years. We build those \u2014 and say so plainly when you would be better off not.

Deciding factors

Build, or Wait

Commissioning software commits you to maintaining it, not just to building it. That is a good trade when the alternatives cost more, and a bad one when they do not.

Building your own is usually justified when

  • The real system is a spreadsheet, several people edit it, and the current copy is whichever one was emailed most recently.
  • One figure gets entered into three places, and when they disagree there is no rule for which one wins.
  • Every product you trialled needed a workaround, and those workarounds have since acquired workarounds.
  • Somebody spends two days a month assembling the same report by hand because nothing available produces that view.
  • What you have works but cannot be extended, and whoever wrote it has moved on.
  • Per-seat licensing now costs more each year than the value anybody can point to.

Buying or waiting is the better decision when

  • A supported product already covers this and the differences are preferences rather than obstacles.
  • The process is still being rewritten every month. Fixing it in code now only makes the next revision expensive.
  • It is a solved problem. Accounting, payroll and statutory filing are bought, not built, and anyone saying otherwise is selling hours.
  • One person needs it, and a carefully built spreadsheet or a properly configured off-the-shelf tool would genuinely serve.
  • Nobody on your side will own it afterwards and no support is arranged. Software in that position is abandoned inside a year.

Worth saying plainly. We would rather lose the work in the first conversation than accept a build that should not go ahead. A project founded on a false premise is expensive for both parties, and you are the one still paying for it long after the invoice is settled.

Capabilities

The Components

What a build is normally assembled from. Any one project uses several of these and hardly ever all of them.

  • Internal Business Tools

    Software for your own staff rather than your customers. Enquiry registers, stock books, dispatch logs, approval queues — the unremarkable systems a business actually runs on, which no general product ever quite fits. Normally the smallest builds, and normally the quickest to pay for themselves.

  • Workflow & Operations Systems

    Software that carries a job from first entry through to sign-off, recording who moved it and when. Who may approve what lives in the system rather than in one long-serving colleague’s memory, and the status of anything becomes a screen instead of a phone call.

  • Admin & Reporting Panels

    Accounts, roles, permissions, search, bulk operations, exports. Reports read the same tables the working screens write to, so a total always reconciles with the rows under it — obvious until you have met a system where it does not.

  • API & Integration Layers

    The joins that let your systems exchange data with each other and with the outside services you depend on. Versioned endpoints, payloads validated at the boundary, documentation thorough enough that nobody has to deduce the behaviour, and failures logged rather than quietly swallowed.

  • Database Design

    The data model is settled before a screen is drawn, because it is the part that is ruinous to revisit. Tables, relationships, constraints and indexes are shaped around the questions you will really ask. Migrations are written and versioned like any other code.

  • System Modernisation

    Software that exists already and still matters: an ageing application, an inherited codebase, something pinned to a platform version that stopped receiving security updates. We read it before proposing anything and move in stages, because the business has to keep operating throughout.

  • Technical Documentation

    A written account of how it holds together — data model, environment setup, deployment, interface reference, and why the decisions that mattered went the way they did. Written while the work happens, not reconstructed afterwards. Without it, handover is a fiction.

  • Ongoing Enhancement

    Software that gets used is software that needs changing. After launch we can continue with corrections, additions, and the dependency and platform updates that keep it supportable. What that covers is written down rather than assumed.

Before any code

Turning a Requirement Into a Spec

Projects go wrong long before any code exists, normally because both sides agreed to a sentence while picturing different things. This is the work that catches that while it is still cheap.

  1. 01

    Sit with the people doing it

    Not only whoever approves the budget. Whoever does the task daily knows the exceptions, and the exceptions are what break an otherwise reasonable design.

  2. 02

    Record the process as it is

    Including the informal shortcuts nobody mentions in a meeting. Written down, it often changes what people want built — and at this stage changing your mind costs a conversation.

  3. 03

    Settle the data

    What gets stored, how records relate, which fields are genuinely required. Usually the point at which two departments discover they have been using the same word for different things, which is far better found now than later.

  4. 04

    Agree version one

    What the first usable release must do to be worth putting in front of staff. Kept deliberately short, so the system starts being useful early rather than arriving complete, late and unloved.

  5. 05

    Record what is excluded

    What has been left out is written alongside what is in. An unwritten assumption turns into a disagreement; a written exclusion stays a decision, and can be reopened on purpose.

The result is a short written document: what the system does, what it stores, who may do what within it, what it deliberately will not do, and how it will be built. Nothing of consequence is agreed on a call alone.

Technology

What These Use

Decided against what it has to do, where it has to run, and who will be looking after it a year from now.

Backend Development
  • Node.js
  • PHP
  • Laravel
  • REST APIs
Databases
  • MySQL
  • PostgreSQL
  • Firebase
Frontend Development
  • React
  • Next.js
  • TypeScript
  • JavaScript
  • HTML5
  • CSS3
  • Tailwind CSS
Cloud & Infrastructure
  • AWS
  • Google Cloud
  • Firebase
Development Tools
  • Git

How we work

Spec to Daily Use

The same four stages as anything else here, each one closing with something you can open, read or click instead of a progress report.

  1. 01

    Understand

    Time with the people who do the task now, writing down what actually happens rather than what the org chart says happens. The gap between those two is where most of the surprises live.

  2. 02

    Write It Down

    Screens, data and structure settled on paper, then cut into milestones small enough that whether one is finished is a matter of fact rather than opinion.

  3. 03

    Build

    Delivered in pieces you can look at, tested as they go — the ordinary path first, then the awkward inputs, a weak connection and a phone that is several years old.

  4. 04

    Hand Over

    Published, with the repository, the credentials and the notes that explain the decisions. We stay reachable for corrections, releases and whatever the next thing turns out to be.

Next step

Has a Spreadsheet Stopped Coping?

Describe how the work runs now and where it is falling over. You will get a straight answer about whether building is the right move, and what it would take.