Services
What we build.
Six areas of work. Most projects touch two or three of them, and the first conversation is about deciding which. Every one of them follows the same process: fixed scope, working software early, and you own the result.
Product work
Apps and products
Mobile app development
Android first, in Kotlin, with cross-platform where it earns its place. The build is the easy half; this also covers the parts that sink first-time publishers: store listing copy and screenshots, the Data Safety declaration, a privacy policy that matches it exactly, release tracks, staged rollouts, and crash reporting. A narrowly scoped app reaches a working first release in a few weeks. Done means it is live on Google Play, in your developer account, with the update process documented. Half-finished apps inherited from someone else are welcome work.
Web app and SaaS development
Multi-tenant products, customer portals, dashboards, and admin tools. Accounts, roles and permissions, subscriptions, and billing get designed at the start rather than bolted on the week your first customer asks for an invoice — retrofitting them is the most expensive rewrite in this category. Expect several months for a product with real users and payments. Done means you can onboard a customer, take their money, and answer a support question without calling us.
Applied AI
AI that survives contact with real work
AI tools and integration
Assistants, document search over your own material, classification, drafting, extraction, and summarization, wired into the systems you already run. The interesting question is rarely which model to use; it is what happens when the model is wrong and how you would find out. Every AI feature ships with a measured accuracy baseline, a per-request cost, a documented failure mode, and a written statement of where your data travels and how long it is kept.
Where AI is the wrong tool, we say so — a rules engine or twenty lines of ordinary code beats a language model more often than the market admits, and costs less to run. Per-request costs, data retention, and where your information travels are settled in writing before anything ships. Not every project needs to be a platform: one screen that does one job perfectly is a legitimate engagement.
Systems
Making existing things work better
Internal tools and automation
The spreadsheet four people edit at once. The report that takes a day to assemble. The process only one person knows how to run, who is about to take two weeks off. These convert unusually well into small, dependable software, and they are the highest-return projects we take on because the time saved is already measurable. Usually the shortest engagements on this list. Done means the manual version is retired, not running in parallel.
Systems integration
APIs, webhooks, scheduled jobs, and data migration between tools that were never designed to talk to each other. Includes the unglamorous data cleanup that decides whether an integration is trustworthy or merely present — mismatched IDs, duplicate records, dates in four formats. Every integration ships with monitoring and a defined behavior for when the other end is down, because the other end will be down.
Technical consulting
A second opinion before you commit. Scoping a project you intend to build elsewhere, reviewing an architecture, making a build-or-buy call, or sanity-checking a quote you have been given. Short engagements, priced plainly, with a written summary you own and can hand to whoever builds it. Frequently ends with a recommendation not to build the thing, which is a legitimate outcome and cheaper than discovering it in month four.
What it costs.
Every engagement starts with a written scope and a fixed number, agreed before any code is written. If the scope changes the number changes, and you hear about it that week rather than at delivery. Describe the project and you will get an estimate range and a recommended first step within two business days. See the FAQ for typical timelines and what drives cost.