Custom software is worth building when the process it supports is genuinely specific to your business. When it is not, configuring an existing product is cheaper and we will say so.
What we actually do
Internal systems that encode how your business actually works, rather than forcing the business to work the way a generic tool expects.
Integration between systems that were never designed to talk to each other. This is unglamorous and frequently the highest-value work available, because the cost of manual data movement between systems is usually invisible until someone measures it.
Legacy modernisation, incrementally. Replacing a working system in one release is how modernisation projects fail; strangling it gradually is how they succeed.
When the problem is better solved with a language model — drafting, classification, extraction — that work lives under AI integration and automation.
Cloud and operations
Software that cannot be deployed reliably is not finished. Infrastructure, CI/CD and observability are part of the build: AWS or Azure, automated deployment, and enough monitoring to know something broke before a customer tells you.