I build systems that go to production and stay there.
Eight years shipping web applications, SaaS platforms and commerce systems for founders and agencies — the unglamorous parts included: migrations, auth, billing, queues, and the 2 a.m. rollback.
- Years active
- 8since 2018
- Core stack
- Next.js · NestJS · PostgreSQL · TypeScript
- Also ships
- WordPress / Elementor · Shopify · Python
- Specialty
- Multi-tenant SaaS & RAG/AI integrations
- Engagement
- Fixed-scope build · Retainer · Fractional lead
- Response
- Within 24 hours, weekdays
- Status
- Available — taking new work
Selected work
Builds that shipped, with the stack each one runs on.
What I take on
Four things, done properly. If a project needs something outside this, I will say so and point you somewhere better.
Web applications & SaaS
Next.js front ends on NestJS or Node services, PostgreSQL schemas designed for the queries you will actually run, background jobs, auth and multi-tenancy from day one rather than bolted on later.
Commerce & CMS
Shopify themes and app logic, WordPress builds with custom Elementor widgets, and migrations off plugin sprawl. Handed over so your team can edit content without calling a developer.
AI integration
Retrieval-augmented chatbots grounded in your own documents, plus tool-using agents wired into real systems. Built with evaluation and cost ceilings in place, not a demo that breaks on the fifth question.
Cloud & automation
Containerised deploys on AWS or Azure, CI/CD that actually gates on tests, and Python automation for the repetitive work someone on your team is currently doing by hand every week.
How a build runs
Four stages, each ending in something you can review. No stage starts before the last one is signed off.
- 01
Scope
We agree what the software must do, what it explicitly will not do in v1, and where the hard constraints sit — budget, deadline, and the existing systems it has to talk to.
Ends with: Written scope + fixed quote - 02
Architecture
Data model, service boundaries and third-party dependencies decided up front, because these are the decisions that are expensive to reverse six weeks in.
Ends with: Schema + technical plan - 03
Build
Weekly deploys to a staging URL you can click through. You see progress as working software rather than a status report, and course-correct while it is still cheap.
Ends with: Staging environment, feature-complete - 04
Ship & hand over
Production deploy with monitoring and backups configured, plus documentation and a walkthrough so your team can operate it without me. A support window follows if you want one.
Ends with: Live system + handover docs
Working together
The commercial terms up front, so you can decide whether to keep reading.
Fixed price per scope, not per hour
You get one number before work starts. If scope changes, we re-quote the delta in writing — no surprise invoices, and no incentive for me to work slowly.
6 to 12 weeks, one project at a time
Most engagements run a quarter or less. I take two concurrent clients at most, so your project is not queued behind five others.
The repository, and the ability to leave
Code in your own Git org from day one, deploy access in your names, and a handover walkthrough. Nothing is hosted on an account only I control.
Crypto, ad-tech, and rescue jobs with no budget
I also turn down work I would be a poor fit for — native mobile, heavy data science, brand identity — rather than learning on your budget.
About

I started in agency work and moved toward the systems nobody wanted to own.
Eight years in, most of my work is the part that shows up after launch: schema changes on live data, auth that has to hold, jobs that retry correctly, and payment flows where a bug is somebody else's money. It is less photogenic than a landing page and it is what clients actually call about.
I work directly with founders and small teams rather than through account managers, which means you talk to the person writing the code. I would rather tell you a feature will take three weeks than agree to one and deliver it broken.
Currently based in Ontario, working with clients across North America and Europe.
Writing
Notes on architecture decisions, migrations that went sideways, and what I would do differently.
Start a project
Tell me what is broken or what you are trying to launch. You get a real reply, not an autoresponder.
- Phone
- +1 (647) 914-5012
- Based in
- Ontario, Canada
- Working with
- Clients worldwide
- Response
- Within 24 hours, weekdays