Maintenance & support
Monthly retainers covering dependency updates, security patching, uptime monitoring, and a named engineer who already knows your codebase.
Three core services. Each one is scoped in writing, priced before it starts, and handed over with the source code and documentation you need to run it without us.
Most of our work starts here. You have a process that lives in spreadsheets, a product idea that needs to exist, or an internal tool that everyone complains about. We turn it into software your team actually wants to open.
We build with a boring, proven stack on purpose: TypeScript, React, Node, Postgres, and a cloud you already pay for. No exotic dependencies you will be stuck maintaining after we hand over the keys.
We ship apps that get through App Store and Play review the first time. That means real attention to the parts teams usually discover too late: permissions copy, offline behaviour, push notification consent, account deletion flows, and store listing requirements.
For most products we use React Native or Flutter so one codebase serves both platforms. When a product genuinely needs native performance — heavy graphics, deep hardware access, background processing — we build it in Swift or Kotlin and say so up front.
AI is only useful when it is attached to your data and your workflow. We build retrieval systems over your own documents, assistants that can safely call your internal APIs, and automations that remove the copy-paste work between the tools your team already uses.
We are candid about what these systems can and cannot do. Every engagement includes evaluation criteria agreed in advance, guardrails against unsafe output, and a cost model so you know what inference will run you at your real volume — before it is in production.
Monthly retainers covering dependency updates, security patching, uptime monitoring, and a named engineer who already knows your codebase.
Connecting CRMs, payment processors, ERPs, and legacy systems that were never designed to talk to each other.
Independent review of an existing codebase, architecture, or vendor proposal — delivered as a written report with prioritised findings.
Being clear about this saves everybody a discovery call.

Describe the problem rather than the solution. We will tell you what it would take to solve it — including if the answer is that you do not need custom software at all.