Independent design & development

Burlington, ON --:--

DIGITAL EXPERIENCES / BUILT WITH INTENT

Make animpression.Build what’s next.

Distinctive websites. Thoughtful software.
I turn ambitious ideas into things people love to use.

Scroll to discover

Design. Code. Every detail.
One person, from first idea to launch.

SELECTED WORK — 2026

Exhibit A

Built to be experienced.

Every detail has a purpose. Explore the interactions, switch the atmosphere, and see how thoughtful design feels in your hands.

  • Drag the window narrowerIt was built for the phone first, not squeezed onto one

01 — Websites

Different worlds.
Same attention to detail.

Three original concept websites. Three distinct points of view. Step inside, explore every detail, and imagine what we could make for your business.

Site 01 · Restaurant · concept build

Fern & Ash

A seasonal, wood-fired kitchen with seven tables. Dark, editorial and unhurried — the kind of site that makes someone decide where they're eating on Friday before they've finished scrolling.

  • Original imagery, expressive typography, and a firelit atmosphere
  • Menu, hours, and a reservation request that answers you in place
  • Cinematic image movement, drifting embers, and an editorial menu
Open the site Live below — click in and scroll it
fernandash.example open ↗

Site 02 · Roofing & siding · concept build

Northgate Exteriors

Architectural confidence for a local exterior specialist. A striking first impression leads directly to the practical details: services, workmanship, and a clear path to a quote.

  • Quote form above the fold, and a call bar pinned to the bottom on phones
  • Drag the before/after handle — built with a clip path and a real range input, so it works by keyboard too
  • Trust signals sequenced the way people actually check them
Open the site Try the before/after slider
northgate-ext.example open ↗

Site 03 · Online shop · concept build

Wilder Goods

A pottery studio selling what comes out of the kiln. Warm, slow and tactile — with a real storefront underneath: filter the collection, add to the basket, watch the shipping threshold update.

  • Working product grid, category filters and a sliding basket drawer
  • Twelve illustrated products, tactile surfaces, and considered details
  • A responsive collection with a basket that keeps everything in sync
Open the site Add something to the basket
wildergoods.example open ↗

Straight answer: these three are concept builds, not past clients — invented businesses, written and designed from scratch so I could show the range without asking anyone's permission. Everything you can click is real and running. Your site would be built exactly this way.

02 — Apps & tools

Looks good.
Works beautifully.

Beyond the website: products that solve real problems. These are working apps, ready for you to try. Pick a path, change a number, or explore something new.

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 →

03 — 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

Websites

The site itself — designed, written and built. Marketing sites, landing pages and small storefronts that look like nobody else's and load before your visitor gives up.

  • Art direction
  • Landing pages
  • Online stores
  • Motion
  • SEO & speed
02

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
03

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
04

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
3
complete sites you can open
4
live apps on this page
0
plugins, builders or dependencies
1
person, design through launch

04 — How I work

Short loops, plain talk.

Three steps, start to finish, written the way I'd explain it over coffee — no jargon, no acronyms. If you'd rather read it in engineering terms, flip the switch.

  1. 01

    You say what you need

    A call or a couple of emails, in your own words. You don't need the right vocabulary — describing the problem is enough. What comes back is a one-page plan, one price, and a start date.

    Your part — one 30-minute conversation.

  2. 02

    You watch it get built

    Every week you get a link to the real thing, working, on your own phone. You poke at it and tell me what feels wrong. No months of silence, no status reports you need translated.

    Your part — ten minutes a week, clicking around.

  3. 03

    It goes live, and it's yours

    It launches, with instructions written in normal language. The code, the accounts and the domain all end up in your name. Keeping me on afterwards is a choice you make, not a default you're stuck with.

    Your part — say go.

05 — Ways to engage

Three shapes, one standard.

Whether it's a five-page site or a year of product work, it runs the same way: fixed quotes, something real to look at early, and short feedback loops. Only the wrapper changes.

01 · Smallest risk

Pilot milestone

A tightly-scoped first slice, quoted fixed and shipped fast — so you can judge the work, not the pitch, before committing to anything bigger.

Best for — first projects together, scopes that are still fuzzy.

  • Fixed quote
  • Small scope
  • Zero lock-in

02 · Most common

Site build or rebuild

Your whole web presence, designed and built end to end — usually two to four weeks from first call to live. One price, agreed before I start.

Best for — a first real site, or replacing one that's aged badly.

  • Design included
  • Copy help
  • Live in weeks

03 · Defined thing

Fixed-scope build

You bring a brief; I come back with a plan, a number, and milestones that each end in something you can click. A big-bang reveal is not a milestone.

Best for — v1s, MVPs, internal tools with a clear shape.

  • Milestones
  • Demos, not decks
  • Docs & handoff

04 · Ongoing

Weekly cadence

Product work in weekly slices, with something real to look at every Friday. Pause or stop whenever — momentum should be earned, not contracted.

Best for — evolving products, small teams that want pace.

  • Weekly demo
  • Async updates
  • Pause anytime

Not sure which fits? Say so in the email — recommending the right shape, including "you don't need me for this," is part of the job.

06 — FAQ

Fair questions.

The things people ask before the first email — answered here so the first email can be about your project instead.

What does an engagement cost?

Every project gets a fixed quote after a short scoping conversation — before any code is written. No hourly meter, no retainer. If the scope changes mid-flight, the quote changes in the open, never as a surprise line item.

How fast can we start?

If the status badge at the top of this page says available, the scoping conversation can usually happen this week — and a pilot milestone can often start within days of agreeing on it.

Who owns the code?

You do, completely. Everything lands in your repositories with documentation and handoff notes. No lock-in by design: if I'm doing my job, you stay because the work is good — not because leaving is hard.

What if it's not working out?

That's exactly what the fixed first milestone is for. It's small, quoted up front, and ends with working software. If we're not a fit, you walk away with something that runs, and we part on good terms.

Do you design it too, or do I need to hire a designer?

I design it. That's the whole point of the three sites above — the look, the typography, the motion and the code are all one job, done by one person. You don't need to hire a designer, brief them, and then hire someone else to build what they drew. If you already have a brand or a designer you like, I'll work to what they've made instead.

Will I be able to update it myself?

Yes, and we decide how before I build anything. If you'll change prices and photos weekly you get a proper editor to log into. If it's a couple of edits a year, a page you can edit yourself beats paying for a system you'll forget how to use. I'll tell you honestly which one you are — and either way you get a short video of me doing the edit, not a manual.

Will it be fast, and will it show up on Google?

Fast is a build decision, not a plugin you add later — no bloated themes, no twelve tracking scripts, images sized properly. Test this page and the three sites on your own phone; that's the standard yours gets.

On search: I'll set up the structure, the page titles, the metadata and the local business listing properly, which is most of what a small business actually needs. Anyone promising you a number-one ranking is guessing, and I won't.

Do you work with existing teams and codebases?

Yes — happily. Feature work, refactoring, code review, or unblocking a stuck project. I match the conventions already in your codebase rather than imposing my own.

Why live demos instead of screenshots?

Because screenshots can't crash. Every site and app on this page runs in your browser right now — resize it, poke at it, read the code. A portfolio image only proves someone can make a picture; this proves the thing works. It's the same bar your project gets.

07 — Contact

Need a site, or something behind it?

Pick two chips below and hit send — that's genuinely enough for a first email. I read every message and reply directly, usually same business day.

Start with a 20-second brief

Send this brief
mxkxm8hgrc@privaterelay.appleid.com

Burlington, Ontario · remote · async-friendly

esc
↑↓ navigate↵ selectesc close