Java
Long-lived backend services where reliability matters more than novelty.
Technology
A working list, not an exhaustive one. Tools are chosen to fit the problem and the people who will maintain the result — if your team already runs something well, that usually counts for more than our preference.
Long-lived backend services where reliability matters more than novelty.
Application and service development, especially on Windows estates.
Web applications and server-rendered sites, with modern frameworks.
The part most people skip. Done properly it saves years of pain.
Browser behaviour, kept to what the page genuinely needs.
Data work, scripting and AI tooling.
Our default database. Free, dependable and genuinely capable.
Common in existing systems we take over.
Embedded storage for single-machine tools.
Constraints, indexing and migrations under version control.
Getting historical data in, validated rather than hoped over.
Models running on your hardware, with no external calls.
Where a hosted model is genuinely the better fit.
Answers grounded in your material, with sources.
Scheduled and event-driven pipelines that recover from failure.
Deployments that behave the same everywhere they run.
Server administration, hardening and maintenance.
Reverse proxy, TLS termination and static delivery.
Version control, with self-hosted options if you want them.
Integration between systems, in both directions.
The list above is where we are fluent, not a boundary. If a project is better served by something not on it, we will either learn it or tell you plainly that another firm is a better fit.
Three things weigh more heavily than novelty when we pick a tool:
This website and the customer portal behind it are built the way we build for clients: containerised services, a PostgreSQL database with versioned migrations, authentication handled by mature framework libraries rather than anything home-made, automated tests, and documentation that covers backup, restore and deployment.
It runs entirely on infrastructure we control, and it would run just as well on yours.
The first conversation is thirty minutes, free, and has no pitch in it. We will tell you whether we can help, roughly what it would cost, and if the honest answer is that you do not need us, we will say that too.