Four layers, and what goes in each.
Every engagement assembles the same four layers. The shape is constant so the work is predictable; the contents are different for every business, because a distributor, a clinic, and a studio do not run on the same nouns.
Apps and websites, built to the operation.
The surfaces your customers and your staff touch. A template can host a business that looks like every other business; the ones that do not need software shaped around how they actually work — the odd approval step, the field that matters, the screen a technician uses standing up.
- Typical build
- A customer-facing surface and an internal one, sharing a single backend, so your team and your customers can never see contradictory numbers.
- Accessibility
- Keyboard paths, real focus states, and contrast that survives a warehouse screen. Not a retrofit at the end.
Your logic, made callable.
The layer that turns a business into something other software can act on. Once your rules live behind endpoints, your website, your staff app, your accountant's export, and any AI agent you point at it are all reading one source of truth instead of four drifting copies.
# Example. A pricing rule that used to live in one
# person's head, now callable by everything.
curl -X POST https://api.yourcompany.com/v1/quotes \
-H "Authorization: Bearer $TOKEN" \
-d '{ "account": "AC-88", "sku": "PLT-2", "qty": 400 }'
{
"unit_price": 18.40,
"currency": "USD",
"applied": ["volume_break_250", "account_tier_2"],
"expires_at": "2026-09-14T00:00:00Z"
}
Models grounded in your own records.
A general model knows the world and nothing about your business. The useful version reads your documents, your history, and your live records before it answers — and cites which of them it used, so a wrong answer is traceable instead of mysterious.
- Grounding
- Answers are built from your records and cite them. If the source is not in your data, the system says so rather than inventing one.
- Evaluation
- Every AI feature ships with a set of real cases from your business and a measured pass rate, so "it seems better" is replaced by a number you can argue with.
- Escalation
- Low-confidence outputs route to a person by default. Automation earns its way up as the evaluation numbers hold.
- Model choice
- Selected per workload and swappable. The application talks to an interface, not to one vendor's SDK, so a better or cheaper model is a change rather than a rewrite.
The layer nobody buys and no stack survives without.
Storage, deploys, monitoring, backups, and patching. This is where custom software usually dies: shipped by someone who then leaves, and quietly rotting until it has to be rebuilt. Running it is part of the engagement, not an upsell after the failure.
The layers are the same. What goes in them is the conversation.
Tell us what your business does and we will sketch what each layer would hold for you.