Skip to main content

Internal Tools & Business Systems

Custom Software Development

Some requirements have no product behind them. Where the process is specific to your business and the spreadsheet holding it together is creaking, building around that process tends to cost less over a few years. We build those, and say so when you would be better off not.

Deciding factors

Signals Either Way

Commissioning software commits you to maintaining it, not only to building it. Good value when the alternatives cost more; a bad idea when they do not.

Building your own is usually justified when

  • The system of record is a spreadsheet, four people edit it, and the live copy is whichever was emailed last.
  • The same number is keyed into three places, with no rule for which one wins when they disagree.
  • Every product trialled so far needed a workaround, and the workarounds have grown workarounds.
  • Two days a month go into assembling one report by hand, because nothing on the market produces that view.
  • It works but cannot be extended, and whoever wrote it is no longer reachable.
  • Per-seat licensing has outgrown anything anyone can point to as value.

Buying or waiting is the better decision when

  • A supported product already does this, and the differences are preferences.
  • The process changes every month. Encoding it now only makes the next revision expensive.
  • It is already solved. Accounting, payroll and statutory filing are bought, not written.
  • One person needs it, and a well-built spreadsheet would genuinely serve.
  • Nobody will own it after launch and no support is arranged. That software is abandoned within the 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

Eight Components

What a build is assembled from. Any one project uses several and rarely all.

  • Internal Business Tools

    Built for your staff, not your customers. Enquiry registers, stock books, dispatch logs, approval queues — the unglamorous systems a business runs on, which no general product quite fits. Usually the smallest builds and the fastest to repay.

  • Workflow & Operations Systems

    Carries a job from entry to sign-off and records who moved it when. Approval rules live in the system rather than in one colleague’s memory, and status 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 reconciles with the rows beneath it.

  • API & Integration Layers

    The joins between your systems and the outside services they depend on. Versioned endpoints, payloads validated at the boundary, documentation that removes the guesswork, and failures logged rather than swallowed.

  • Database Design

    Settled before any screen is drawn, because it is the part that is ruinous to revisit. Tables, relationships, constraints and indexes shaped around the questions you will actually ask. Migrations written and versioned like code.

  • System Modernisation

    Software that already exists and still matters — ageing, inherited, or pinned to a platform version that no longer gets security updates. Read first, then moved in stages, because the business keeps running throughout.

  • Technical Documentation

    Data model, environment setup, deployment procedure, interface reference, and the reasoning behind the decisions that mattered. Written as the work happens. Without it, handover is a word rather than an event.

  • Ongoing Enhancement

    Software in use needs changing. After release: corrections, additions, dependency and platform updates. What is covered gets written down rather than assumed.

Before any code

Requirement to Specification

Projects fail before any code exists, usually because both sides agreed to one sentence while picturing different things. These five steps catch that early.

  1. 01

    Interview the users

    Not only the budget holder. Whoever performs the task knows the exceptions, and exceptions are what break otherwise sensible designs.

  2. 02

    Document the current process

    As it actually runs, informal shortcuts included. Written down, it frequently changes what people want built — and here that costs a conversation.

  3. 03

    Fix the data model

    What is stored, how records relate, which fields are mandatory. Typically where two departments find they have used one word for two things.

  4. 04

    Scope version one

    What the first release must do to be worth putting in front of staff. Kept short, so the system earns its keep early instead of arriving complete and late.

  5. 05

    List the exclusions

    What is deliberately out, written beside what is in. An unwritten assumption becomes an argument; a written exclusion stays a decision.

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 Need

Decided against the requirement, where it runs, and who maintains it a year out.

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

Specification to Daily Use

The same four stages as anything else here, each ending in something you can open, read or click.

  1. 01

    Specify

    Conversations with whoever does the work now, turned into a written description of what gets built and what does not. You approve it before anything else begins.

  2. 02

    Design

    Screens, data model and structure decided before code. Then the whole thing is cut into milestones small enough to be either done or not done.

  3. 03

    Build and Test

    Delivered in reviewable increments. Each one is checked on the normal path, on bad input, on a slow connection and on hardware several years old.

  4. 04

    Ship and Support

    Released, with the repository, the accounts and the notes that explain the decisions. We remain available for fixes, releases and the next piece of work.

Next step

Outgrown Your Spreadsheet?

Describe how the work runs now and where it breaks. You get a straight answer on whether building is right, and what it would take.