Custom software development

Software shaped around the way your company actually works — its rules, its exceptions, its approvals — instead of a product that forces the company to reshape itself around a vendor's assumptions.

Practice 01 · Internal platforms · Automation · Reporting

01 — Why build

When an off-the-shelf product stops paying for itself

Packaged software is usually the right answer. It stops being the right answer at a specific, recognisable point: when the workarounds cost more than the licence, and the spreadsheets holding it together become the real system.

We build the replacement — or, more often, the layer that finally makes the existing pieces behave like one system. That means modelling your data properly, encoding the rules that currently live in people's heads, and giving the result an interface your team can use without a training course.

The point is not novelty. The point is that in three years someone else can open the repository, read the tests, and understand exactly why it does what it does.

Signs this is the work you need

  • Critical processes run on spreadsheets nobody dares to change
  • The same data is re-entered into two or three systems by hand
  • Reporting means exporting to CSV and rebuilding it every month
  • Your licensed product is configured so heavily it is effectively custom
  • A key process depends on one person who knows the exceptions
  • Growth is limited by admin headcount rather than demand

02 — What we build

Systems, not screens

A typical engagement covers several of these at once, because in practice they are the same system viewed from different desks.

Internal operations platforms

The system your team lives in all day: records, states, permissions, audit trail, and the search that makes it usable at scale.

Workflow & approvals

Multi-step processes with real-world branching: escalations, delegated authority, deadlines, and a record of who decided what and when.

Reporting & analytics

A data model designed for questions rather than screens, so a new report is a query rather than a three-week project.

Document pipelines

Generation, versioning, signature routing and archiving of the paperwork your business runs on, with the templates under version control.

Process automation

Scheduled jobs, event-driven rules and reconciliation routines that remove the manual step people currently forget on Fridays.

Access & audit

Roles, permissions and an immutable activity log — the part everyone skips until an auditor or an incident makes it urgent.

03 — How it runs

From your current mess to a system you trust

Custom work fails when it is scoped as one enormous release. We deliver in slices that are individually useful.

Map the real process

Not the documented one. We sit with the people doing the work and record what actually happens, including the exceptions.

  • Interviews
  • Data audit

Model the data

Entities, relationships, states and the rules that govern transitions — agreed on paper before any interface exists.

  • Schema
  • State machine

Ship the first slice

One complete process end to end, in production, used by real people — long before the whole scope is built.

  • Pilot
  • Feedback

Migrate and widen

Historic data imported and reconciled, remaining processes added, the old system retired on a date you choose.

  • Migration
  • Cutover

04 — Delivered

What ends up in your hands

Every item below is contractual. If we cannot hand it over, the engagement is not finished.

  • The application in a repository under your organisation
  • The data model documented, with migrations under version control
  • An automated test suite and a CI pipeline that runs it
  • Deployment runbook covering release, rollback, backup and restore
  • An administrator guide written for your staff, not for engineers
  • Credentials and infrastructure in accounts you own

How we run projects in detail

Typical stack

Backend
TypeScript / Node.js, Python, Go
Database
PostgreSQL, with migrations in the repository
Frontend
React or server-rendered HTML, chosen per project
Background work
Queues and scheduled jobs with retry and dead-letter handling
Auth
Your existing identity provider, or role-based accounts we build
Hosting
Your cloud account, defined as infrastructure code
  • PostgreSQL
  • TypeScript
  • Python
  • React
  • Docker
  • Terraform

05 — Questions

About custom builds

Is custom software not more expensive than buying a product?

Over a short horizon, almost always. Over the life of a system the comparison changes: licence fees compound, and heavily customised products become as expensive to change as bespoke code without any of the ownership.

We will tell you when buying is the better answer. Recommending a product we do not sell costs us a project and keeps the relationship worth having.

Can you work with our existing database?

Yes, and we frequently do. We start by reading the schema and a sample of the real data — which usually reveals more about the business than any specification. Where the model needs to change, we migrate in reversible steps rather than in one irreversible cutover.

What happens if we want to take it in-house later?

That outcome is designed in from the start. The repository, the infrastructure and the credentials are yours throughout, the stack is deliberately conventional, and the documentation is written so a new engineer can deploy it without calling us. See our Terms and Conditions for how intellectual property transfers.

Describe the process that is costing you

Tell us what happens today, who it hurts, and what it would be worth to fix. You will get an engineer's assessment in writing.

HALDIR LTD · HE 459882 · Nicosia, Cyprus