Small studio.
Large solutions.
9two Technologies is an independent software studio in British Columbia, Canada. We build custom platforms, AI automation, and brand-forward websites for operations-first businesses — the companies whose real work happens somewhere other than a laptop.
Most operations software is built for someone else.
Every company has a workflow. Most of them are patched together over years — a shared spreadsheet, a PDF template, a half-used SaaS, a group email, a binder in the manager's drawer. The work gets done, but the friction is everywhere.
Big SaaS platforms solve the average team's average problem. Useful, but rarely what specific teams actually need. When the workflow is specific — a carrier's dispatch board, a fuel dealer's credit application, a dealership's used-vehicle intake — off-the-shelf requires compromises that stack into real money.
9two exists to build the specific tool.Fast, modern, and yours when we're done.
Small team, direct access,
short feedback loops.
No project managers, no account handlers, no layers of translation. You talk directly to the people writing the code. Typical projects run 2–8 weeks with weekly demos on a shared staging environment, and a proposal with a fixed deliverable instead of an open-ended retainer.
You get the codebase in a repository you own. Deployment pipeline documented. Environment variables handed over. A maintenance retainer is available if you want us to keep shipping features — but it's opt-in, not assumed.
Beliefs
Six things we
actually believe.
Everybody has a values page. Most of them read like they were written by committee. These aren't values — they're the operating rules that change how we work day-to-day.
- 01
Boring is a feature
Next.js. Postgres. TypeScript. Tailwind. The tools that'll still be around when your codebase is five years old. We don't chase the library announced on Twitter last week.
- 02
Operations before aesthetics
Beautiful matters. But the form that captures the safety inspection has to submit reliably before it looks lovely. Function sets the envelope, design fills it in.
- 03
Ship the real thing
Prototypes pretending to be products get teams in trouble. Everything we hand over has auth, logging, error boundaries, security headers, and a rollback story. Production means production.
- 04
Own the stack, don't rent it
We lean on platforms where they earn their keep (Vercel, Supabase, Stripe). We write code when off-the-shelf can't stretch. Either way, the codebase transfers to you when we're done.
- 05
Fixed scope, no surprises
Every engagement is scoped to a written deliverable with a written price. If scope changes mid-build, we talk before the meter moves. No retainer creep.
- 06
Say no more than yes
We turn down more projects than we take. Misfit work doesn't serve anyone — not us, not the client, not the outcome. We try to redirect quickly when the fit isn't right.
The tools we reach
for first.
- Next.js 16 · React 19 · TypeScript · Tailwind v4 · Motion
- Supabase (Postgres + Row Level Security) · Next.js route handlers · Edge functions
- Vercel edge network · Supabase infrastructure · Cloudflare where appropriate
- Stripe Subscriptions · Stripe Connect for marketplaces
- Claude (Anthropic) · OpenAI · Custom vision pipelines · Vector search
- Tailwind v4 · Motion · Lenis · View Transitions · Google Maps
- Resend · React Email · transactional + product emails
- Vercel Analytics · Sentry · Logflare for Postgres
This isn't a religion. We reach for different tools when a project genuinely needs them — Rails, Django, Go, Rust all come out when the fit is better. The above is just our default.
We do good work with:
- —Ops-heavy SMBs with a spreadsheet problem
- —Dealerships, fuel distributors, fleet operators
- —Local businesses that deserve a site that isn't a template
- —B2B founders building their first real product
- —Teams migrating off no-code when it stopped fitting
- —Clubs and community orgs that outgrew the website builder
Hello