Four crafts, one studio
We are generalists in the good sense: we have shipped across the web, phones, and the desktop, so we can pick the right tool instead of the only one we know.
Production web apps from first commit to deploy. React, TypeScript, and a sensible backend. Fast, accessible, and built to be maintained.
- Product & MVP builds
- Design systems
- Performance & a11y
Native iOS with SwiftUI, and cross-platform when it earns its keep. We have shipped our own apps to the App Store, so we know the whole road.
- iOS / SwiftUI
- App Store delivery
- Offline-first
Real desktop tools for Mac and Windows when the browser is not enough. Menu bars, file systems, and the native feel people expect.
- macOS & Windows
- Native integrations
- Auto-update
We work with Claude Code and Codex every day. We help teams fold modern AI into real products, and into the way they build them.
- Claude Code & Codex
- Agent workflows
- LLM features
Fifteen years of shipped software
Products we own and client work we were trusted with, newest first. The fastest way to judge a studio is to use what it has built.


Spacelift
Marketing Site · 2026
- 98
- Perf
- 100
- A11y
- 100
- Practices
- 100
- SEO
Lighthouse
Rebuilt a marketing site that took 45 seconds to show its hero on a phone. It now paints in under two, on a tenth of the bytes.
spacelift.online
Merge Conflict
Shop · 2023
Developer t-shirts and merch that actually make people laugh. Designed in Canada, shipped worldwide.
mergeconflict.ca

TiffTodo
iOS App · 2026
- 100
- Perf
- 100
- A11y
- 100
- Practices
- 100
- SEO
Lighthouse
Think it. Say it. Sorted. Hold the mic, say the messy thing once, and it files itself into the right list before you forget. A calm capture app for ADHD and other busy minds.
tifftodo.com

Good Gradients
Web App · 2024
- 98
- Perf
- 100
- A11y
- 100
- Practices
- 100
- SEO
Lighthouse
500+ designer-curated gradients with one-tap export to CSS, Tailwind, SwiftUI and Kotlin. The palette tool we kept wishing existed.
goodgradients.com

Celery
Web App · 2023
- 99
- Perf
- 100
- A11y
- 100
- Practices
- 100
- SEO
Lighthouse
Job hunting means juggling offers that are never quite comparable. Celery lines them up side by side, works out what each is actually worth after tax and contract type, and keeps the whole search in one place.
celery.info
KoNote
Desktop App · 2014-2017
A client-centred instrument of collaborative care, tracking quantitative and qualitative data side by side, with analytical tools to guide ongoing treatment. Built from MVP to production; piloted in mental-health centres.
konote.ca
Brili Analytics
Client Work · Brili Inc. · 2014
A custom analytics module for the Brili routine app, letting parents see how long kids spend on tasks over time. Heavy on data-crunching and mobile charts. Brili has since been funded.
brili.com
Toothfairy Surveyor
Client Work · America's Toothfairy · 2014
An educational quiz app for presentations that measures before/after results and long-term retention. Age-specific question sets and in-app consent forms, tuned so kids of any age can breeze through.

Les Fêtes Gourmandes
Campaign · Master Mobile Marketing · 2014
A full festival campaign for a 3-day food event in LaSalle, QC: signage, SMS, and mobile web that funnelled visitors into deals and giveaways. Real lift in engagement and return visits.
We start with value, not the stack
Most projects pick the technology first and reverse-engineer a reason. We do it the other way around, and we stay on the tools the whole way.
- What actually needs to be true.
Before a single tool is chosen, we get clear on the outcome: for the people using it, and for the business paying for it. Everything downstream serves that.
- Map the journeys, then the screens.
We sketch how people actually move through the product, the happy path and the messy edges alike, so the interface follows the behaviour instead of fighting it.
- Choose tools to fit, not to follow.
Only now do we pick the stack: sized to the problem, boring where it can be, sharp where it counts. The architecture falls out of the flows, not a trend.
- Let the agents do the heavy lifting.
We design the build itself: where Claude Code and Codex carry the load, where automations remove the repetitive, and where a human has to hold the pen.
- And keep it alive.
We ship in tight, reviewed loops, then stay close. Software is a living thing; the studios worth hiring are the ones still around when it needs to grow.
AI-native, senior-led
It is not magic and it is not vibes. It is a tight loop of research, plan, build and review, with a senior engineer reading every line that ships.
- ResearchClaude reads the whole codebase, the docs, the history. Context before code.
- PlanWe turn the goal into a written plan and review it together before a line changes.
- BuildAgents implement in tight loops while we steer, taste-check, and keep the bar high.
- ReviewEvery diff is read by a human. Tests, types, and accessibility before it ships.
Fast is easy. Safe to change is the job
Anyone can get a demo working. Software a team can still move quickly in two years later is a different discipline. Fifteen years of that runs from two-person startups to engineering teams inside Fortune 500 companies, and both leave a mark on how we build.
Unit tests where the logic lives
The rules that decide money, permissions and state get tested directly rather than through the interface. Not coverage theatre: the cases that would otherwise go wrong quietly.
A regression surfaces in seconds, before anyone reviews it.
End to end on the paths that earn
A real browser signs up, checks out, submits and recovers on every push, against selectors stable enough that the suite never cries wolf.
A broken checkout never reaches a customer.
Analytics and observability
Product analytics on the flows that matter, error tracking and traces underneath, and alerting tuned to fire on real failures rather than noise.
You hear it from a dashboard, not from a customer.
Constraints in the repo
Types, linting, formatting and the security gate run in CI, not in somebody's head. Agents work inside those rails instead of around them.
Handing repetitive work to an agent stops being a risk.
Loops with a person in them
Automation runs as far as a checkpoint and then a senior engineer reads the diff. Every gate has to be green before anything merges.
Nothing ships on an agent's say-so.
Have something you want built properly?
Tell us about the project. We reply to everything, usually within a day, and we will be honest about whether we are the right studio for it.


