Available for new work · Burlington, Ontario · --:-- local

Software that ships,
and holds up.

I'm an independent engineer building full-stack web apps, interfaces, and internal tools. No deck-ware, no buzzwords — the demos below run live on this page. Read the code, then judge for yourself.

Stack
TypeScript · Node · vanilla web · whatever the job needs
Focus
Web apps · interfaces · tooling
Working style
Remote · async-friendly · direct

01 — Live work

The proof is running on this page.

Four things I built, embedded and fully interactive — three small tools and one full product. Nothing here is a screenshot. Click around — this is how I'd build the real thing for you.

Demo 01 · decision logic + UX

Support assistant

One small state-machine engine, configured for two very different sample businesses — a café and a SaaS app — each with a customer and an employee flow. Pick a business, pick who's asking, and walk the menus. There's a Back and a Main menu button at every step, so you can never get stuck. No framework, no backend.

support · Brew & Bloom Café · customer

Demo 02 · real-time calc + formatting

Cash drawer counter

A tool for closing out a till. Enter quantities per denomination and totals roll up with eased animation, formatted in CAD, columns aligned with tabular figures. The kind of small, correct utility internal teams actually use.

  • Live totals for bills, coins, and grand total
  • Animated number transitions, accessible labels
  • Keyboard-friendly, zero dependencies

Bills

$0.00

Coins

$0.00

Total

$0.00

Bills

$0.00
$0.00
$0.00
$0.00
$0.00

Coins

$0.00
$0.00
$0.00
$0.00
$0.00

Demo 03 · parsing + state

JSON formatter

Paste raw JSON, get it parsed, validated, and pretty-printed instantly — with a clear error pointer when it's malformed. A throwaway utility that shows how I handle input parsing, error states, and tight feedback loops.

  • Live validation with line-aware error messages
  • Adjustable indentation, key sorting, one-click copy
  • Runs entirely in the browser — nothing leaves the page
json · formatter
Paste JSON above to format it.

              

Try it live

Karbon Radio

A build-your-own web radio. Drop in your own MP3s and they play instantly — full player, visualizer, and EQ — entirely in your browser, nothing uploaded to a server.

Open the radio →

02 — Capabilities

What I actually do.

Plainly stated. If it's not on this list, I'll tell you and point you to someone who's better at it.

01

Engineering

Full-stack web apps and APIs. Readable, tested code and a project structure the next person can pick up without a tour.

  • TypeScript / JS
  • Node
  • REST & data
  • Vanilla web
02

Interface & product

Interfaces that are clear before they're clever. Accessible, responsive, and consistent — design systems that engineering will actually keep using.

  • UI design
  • Design systems
  • Accessibility
  • Prototyping
03

Delivery

Scoping, shipping, and clear communication. I'd rather send you a working build on Friday than a status update.

  • Scoping
  • Iteration
  • Code review
  • Handoff

03 — How I work

Short loops, plain talk.

  1. 01

    Scope

    You send a brief. I come back with a concrete plan, honest trade-offs, and a fixed first milestone — not an open-ended retainer.

  2. 02

    Build in the open

    You see real, working increments early and often. No big-bang reveal at the end, no surprises on either side.

  3. 03

    Ship & hand off

    It goes live, documented, and maintainable. You own the code. If you want me to stick around, that's your call — not a default.

04 — Contact

Have something to build?

A couple of lines about what you're working on is plenty to start. I read every message and reply directly — usually same business day.

Email

mxkxm8hgrc@privaterelay.appleid.com
Email me

Burlington, Ontario · remote · async-friendly