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.
TypeScript · Node · vanilla web · whatever the job needs
Focus
Web apps · interfaces · tooling
Working style
Remote · async-friendly · direct
TypeScript✦Node✦Full-stack web apps✦UI design✦Internal tools✦Accessibility✦Design systems✦Prototyping✦TypeScript✦Node✦Full-stack web apps✦UI design✦Internal tools✦Accessibility✦Design systems✦Prototyping✦
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.
Runs entirely in the browser — nothing leaves the page
json · formatter
Paste JSON above to format it.
Demo 04 · Zebbly · kids + parents
Zebbly — a kids' learning dashboard
A real product I built and shipped as Zebbly: a math-practice app a
child actually wants to open, with a private grown-ups side for monitoring and control.
Each day lights up one subject; ten-question sets and a 60-second Speed Game earn stars.
The parent view turns all of that into a report card — no spreadsheets, no nagging.
Kid view — five subjects, four question styles, instant feedback, stars & confetti
Parent view — report-card grades, per-subject accuracy, streaks, and a private activity feed
Controls — unlock subjects, set a daily star goal, reset progress, export a printable report
Open full screen↗Flip the 👧 Kid / 👪 Parent switch · runs entirely in your browser
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.