Engineering
Built for the workflow
you actually run
Most enterprises run happily on packaged software until they reach the part of the business that makes them money: the pricing rules, the approval chains, the exceptions handled in a spreadsheet. That is the part we build, test and hand over.
Overview
Systems built around the processes no packaged product was ever going to cover.
A custom build starts with a question packaged software cannot answer: what does your process do that nobody else's does? We spend the first weeks mapping that, on site, with the people who work around the gaps every day. The output is a domain model your operations team recognises, not a feature list.
From there we build in vertical slices. One real workflow reaches production early, usually inside 11 weeks, with authentication, audit trail and monitoring already wired in. You get to correct our reading of the domain while correcting it is still cheap, rather than discovering the misunderstanding at a demo six months later.
We write the system so your engineers can own it after we leave. Typed interfaces, migrations checked into the repository, a test suite that finishes in under eight minutes, and architecture decision records explaining why each awkward choice was made and which alternatives were rejected at the time.
- 11 weeks
- median time from kick-off to first production release
- 0.6%
- change failure rate across delivered services in year one
- 7m 40s
- typical full CI run, commit to deployable artefact
Capabilities
What this covers
Six areas we staff properly. If your problem sits outside them, the honest note at the foot of this page says so.
Domain discovery and modelling
Two to four weeks with the people who operate the process, producing an entity and event model, a catalogue of the exceptions that break naive designs, and a build sequence costed slice by slice.
Greenfield product build
New systems built as vertical slices, each one a workflow that reaches production with its own tests, telemetry and rollback path, rather than a technical layer that only works once every other layer lands.
Spreadsheet and Access replacement
Migrating the shadow systems finance and operations built for themselves. We keep the logic, drop the copy-paste, and reconcile the new figures against the old workbook for a full period before cutover.
Integration with what you already run
Adapters for SAP, Dynamics, Salesforce and the in-house systems nobody documented, with contract tests so an upstream schema change fails our pipeline instead of your month-end close.
Data migration and reconciliation
Repeatable migration runs against production copies, row-count and checksum reconciliation, and a documented rollback that has been rehearsed under time pressure rather than written down and hoped for.
Handover and team enablement
Pairing with your engineers through the final two increments, plus runbooks, architecture decision records, and a local environment that boots from a single command on a new laptop.
Deliverables
What you get
- Domain model and event map, reviewed with your operations team
- Working software in production from the first increment onward
- Automated tests covering business rules rather than trivial accessors
- Migration scripts, reconciliation reports and a rehearsed rollback
- Runbooks, architecture decision records and escalation paths
- Source, infrastructure code and CI pipelines inside your own accounts
Stack
What we build it with
- TypeScript
- Node.js
- .NET 8
- Python
- PostgreSQL
- React
- Temporal
- Docker
- GitHub Actions
- Playwright
- OpenTelemetry
- Terraform
Process
How the engagement runs
Two-week increments against a written definition of done. You can stop at any increment boundary and keep everything built so far.
Discovery
Two to four weeks on site. We watch the process run, collect the exception cases, and produce a costed build sequence you can halve without losing coherence.
First slice to production
The opening workflow ships behind a feature flag with auth, audit and monitoring attached. Real users, real data, small blast radius, and our reading of the domain corrected early.
Iterative build
Two-week increments, each ending with something demonstrable running in your environment. Scope moves between increments; the release cadence does not.
Migration and cutover
Parallel running against the legacy system for at least one full reporting period, with reconciliation reports signed off before anything is switched off.
Handover
Your engineers pair with ours on the final increments, then run a release themselves while we watch. Support tapers over weeks instead of stopping on a date.
When this is the wrong engagement
If a configurable SaaS product already covers ninety per cent of your process and the remaining ten per cent is genuinely negotiable, buy the product, because custom development only repays its maintenance burden when the difference is where your margin lives.
FAQ
Questions we get asked
- How do you price work when the scope is not fully known?
Discovery is fixed price. After that we work in two-week increments at a fixed monthly rate against a costed backlog you can reorder or stop at any increment boundary. Fixed-price quotes for a whole project tend to buy you a padded number and an argument about change requests.
- Who owns the code and the infrastructure?
You do, from the first day. Repositories live in your GitHub or Azure DevOps organisation, infrastructure is provisioned into your cloud accounts with Terraform, and no part of the system depends on anything Atmora hosts. If the engagement ends, nothing has to be extracted.
- What happens if our requirements change mid-build?
They will, and the slice model assumes it. Because each increment ends with working software rather than a document, changing direction costs you the increment you are in, not the ones behind it. We only ask that changes land at increment boundaries so estimates stay meaningful.
- Can you work alongside our internal engineering team?
That is the usual arrangement. We run a mixed team with your engineers holding at least a third of the seats and reviewing our pull requests under the same standards we apply to theirs. Teams set up this way take over support in months rather than needing a second engagement.
Related
More in Engineering
Engineering
Blockchain Solutions
Permissioned ledgers, tokenised assets and independently audited smart contracts.
Engineering
IoT Development
Firmware, connectivity and telemetry pipelines for devices you cannot easily reach.
Engineering
Legacy Modernisation
COBOL, Delphi, WebForms and Oracle Forms moved off, without a big-bang cutover.

