Uses — the gear behind the missions
Developers publish a /uses page listing what they actually build with. This is ours: no aspirational logos, just the tools running in production for us and our clients — including the exact stack serving the page you are reading.
Four slots, nothing decorative
What the apps are made of
One stack, chosen so a small senior team can go from idea to production fast — and so clients inherit code that any developer can pick up.
- Next.js + TypeScript — every app, this site included — typed end to end
- Payload CMS — the admin panel clients get; lives inside the same app
- PostgreSQL / SQLite — right-sized per project; we keep migrations for both
- Stripe — payments and subscriptions when a product charges money
AI and automation
AI-assisted development is how fixed prices stay fixed, and agents plus automations are most of what we sell.
- Claude + Claude Code — pair programmer on every build — including this page
- OpenAI — where a different model fits the job better
- n8n — self-hosted automations that glue client systems together
- RPA — for the systems that never got an API
How it reaches production
No hand deploys, ever. A push to the main branch is the only road to production, and old releases stay warm for one-command rollbacks.
- GitHub + GitHub Actions — lint, typecheck, build — fail any step, ship nothing
- PM2 + nginx — process manager and reverse proxy on our own VPS
- Cloudflare — DNS and the edge in front of everything
- Our own uptime monitor — a probe every minute; process gaps count as downtime
- webaudit — our audit engine, open-sourced — the same checks as /scan
Running the day to day
The unglamorous layer we also take off clients’ plates: the email, the desktops and the comms that keep a business moving.
- Microsoft 365 — business email and docs, set up and managed
- Windows 365 — cloud PCs for teams that outgrew the office tower
- WhatsApp — where most of our clients actually answer
- VS Code — the editor everything above gets built in
The site you’re on is the demo
studiotoronto.ca is built exactly the way we build for clients: one Next.js app with the Payload admin inside it, deployed only by the pipeline, monitored by its own uptime probe. The terminal on the right is its real loadout, not a brochure.
Want the receipts in motion — the pipeline replayed, the admin collections, the live monitor? That’s the process page.
$ cat /srv/studiotoronto/loadoutapp next.js + payload cms, one processdb sqlite file · survives every deploydeploys github actions → ssh · zero by handruntime pm2 + nginx on our own vpsedge cloudflare dns + proxymonitor self-probe, 60s · see the home page▲ rollback: previous release kept warm
Point this loadout at your problem
/uses pages are a developer tradition — hundreds more at uses.tech.