Anyone can list technologies. This page is the things you can actually click —
a multiplayer game running in production, interactive pieces built for real businesses, and
sales-showroom software from 2007 that I've brought back to life in the browser.
Everything on this page runs on your device. Nothing here is a mockup — if something breaks, it is breaking for real.
Playable right now
Fifteen Two
2026 · live in production
A full cribbage game for the web — no app, no install, phone or TV. It plays single
player against an AI opponent that computes exact expected value over all forty-six possible
starters, head-to-head against another human, or as a two-to-eight player party round where
everyone gets the identical deal and races to count it correctly.
The rules engine was verified against independent reference scorers across 300,000 hands
and 884,000 pegging positions with zero mismatches, then fifty-six complete games were
auto-played through the real interface. Multiplayer runs over WebSockets with
server-authoritative scoring, and a dropped phone reattaches to the same seat holding the
same cards instead of killing the table for everyone else.
Fifteen Two — head-to-head against the Captain, or a table of up to eight.
An elimination wheel for a moving company's crew draw, shown here under my own
demonstration branding. Staff earn tickets, and the wheel spins people out until
one survivor is left — so tickets have to buy safety, weighting the odds by the inverse of
the ticket count rather than by the count itself.
The reason it isn't simply one wedge per ticket: a crew member with three hundred tickets
would turn the wheel into confetti. Small piece, one real design problem, and it runs on the
warehouse TV on draw day. Add a few names and spin it.
Waiting for entrants — add names and ticket counts on the left and the wheel builds itself.
Three complete booking sites for small coastal accommodation — a pair of
cottages, an island guest house, and a harbourfront inn. Each one is a working front end:
pick dates, see what is free, get a price, and book, on a phone, without a phone call.
These began as speculative builds — made to show an owner what their site
could be, rather than commissioned. So the businesses they were built for are not named here.
Every name, photograph caption, phone number, address and place has been replaced with a
placeholder, and each page carries a banner saying it is a demonstration. The design and the
engineering are mine to show; the identities are not.
Two cottages on a beach
2026 · booking front end
The problem in one line: the real site had no way to see whether a date was free, so
every enquiry became an email. This turns that into a calendar — availability, a nightly
rate that changes by season, minimum stays, and a total before you commit.
Dates and guests up front, because that is the only question a guest has.
Same booking core, different job around it. A guest house on an island sells the island
as much as the room, so this one carries a what-to-do section alongside the calendar —
charters, kayaks, trails, the ferry.
The operators listed in that section are real businesses in the original. They are
genericised here, because a third party's name and phone number should not appear on my
portfolio to make my layout look populated.
Booking and a local guide in one page — the thing an island guest actually needs.
Multi-tenant SaaS taking a private mortgage from lead intake to discharge — B-20
qualification, lender offer comparison, a no-login client portal, and e-signature with a
document fingerprint trail.
Pipeline, compliance, syndication and calculators, behind one sign-in.
A Montessori school's curriculum, staff biographies and registration material existed as
a folder of Word documents. This is that folder turned into eight pages a parent can read on
a phone while deciding where to send their child.
Statically exported, so there is no server to patch and nothing to fall over on a
Sunday, and deployed onto S3 behind CloudFront on Route 53 — the school owns the
infrastructure rather than renting another monthly subscription.
railandsailmh.ca — eight pages, no server, served from the edge.
Company site sitting on top of the ERP, CRM, and Twilio telephony behind it.
The storefront; the ERP, CRM and Twilio telephony sit behind it.A drone fly-over of the yard, shot and cut by me — drone and edit both.
Parked plates blurred; loads only when you press play.
A junior exploration company's public site — management, properties, corporate filings,
and the NI 43-101 technical reports an investor actually turns up to read. Built alongside
the investor CRM, tax issuance, and shareholder communication system behind it.
Its two sister companies are gone: Metal Mountain stopped answering, and Eagle Peak's
domain lapsed to a broker. This one has been serving continuously for the better part of
two decades without me touching it.
Still live — property overview, and the 43-101 reports down the side.
Between 2007 and 2008 I built "Experience Engines" for luxury property
sales showrooms: floor-to-ceiling touchscreens a buyer walked up to and used unaided. Three
of them survive — Horizon in Vancouver, Koloa Landing on Kauai, Indigo in Osoyoos — and
together they run to about 758 MB, most of it video and panoramic walkthroughs that mean
nothing outside the original kiosk. What follows are the modules that still stand on their
own, running off the untouched original files.
Adobe killed Flash in 2020, which should have made nineteen years of this
work unshowable. It plays here through a WebAssembly interpreter I host myself — no
third-party requests, nothing rebuilt, nothing re-authored. Each one loads only when you ask
for it; the stills below are what you get.
Horizon — interactive site plan
2007 · B3 Communications · still works
A buyer walked up, explored the development, opened a lot and saw whether it was still
available. Pick one of the nine home designs down the left and the plan repaints every lot
by whether that design fits it — compatible, compatible with modifications, or not at all.
That is a real constraint solver behind a sales tool, in 2007, on a touchscreen.
Seventy-four lots, nine home designs, filtered live against each other.
Exhibit — Horizon site plan10 MB — loads only when you press this
Original 2007 file. Give it a few seconds to load and paint.
The question every buyer in a tower actually asks: what will I see out of my
window? Choose a floor, then rotate through the compass, and the screen shows the real
photographed view from that height and bearing over Osoyoos Lake. Shot floor by floor and
stitched so the answer is evidence rather than a sales promise.
Floor 7, looking west — change the floor or swing the bearing and the view follows.
Exhibit — Indigo view study11 MB — loads only when you press this
Original 2008 file. Give it a few seconds to load and paint.
The opening module of the Kauai resort engine: the illustrated master rendering, with the
copy panel over it and a toggle between the mountain and ocean aspects. This is the screen
the buyer met first, so it had to load instantly and look like the brochure they were
holding.
"Paradise by design" — the first screen, with mountain and ocean view toggles.
Exhibit — Koloa Landing, the vision5 MB — loads only when you press this
Original 2008 file. Give it a few seconds to load and paint.
The whole resort from above, hand-illustrated, with the eleven numbered amenities keyed
down the side — the lagoon pool, the grotto waterslide, the day spa, the ocean access. The
lightest module of the three engines and, eighteen years on, the one that has aged best.
Eleven keyed amenities over the illustrated aerial plan.
Exhibit — Koloa Landing master plan2 MB — loads only when you press this
Original 2008 file. Give it a few seconds to load and paint.
The neighbourhood context screen that sat behind the site plan — the development drawn in
its surroundings, with magnifier hotspots opening the amenities around it. Same engine,
different job: the site plan sold the lot, this sold the address.
The development in context, with hotspots for the surrounding amenities.
Exhibit — Horizon, your community2 MB — loads only when you press this
Original 2007 file. Give it a few seconds to load and paint.
Not everything from those years was a property kiosk. This one is a
product, and it runs the same way — off the original file, through the same interpreter.
The pen — a product configurator
2006–2007 · banker's promotional gift · still works
Not a property this one. A bank was choosing an engraved pen to give clients, and
needed to see it before ordering thousands. So: drag the slider and the pen turns through a
full rendered rotation, press engrave to put the marking on the barrel, press
zoom to get close enough to judge it.
This is the sort of thing the CV means by "3D product turnarounds" — rendered frame by
frame, then wired to a scrubber so a buyer could inspect the object from any angle without
a physical sample. Two decades before every retailer had a 3D viewer.
Drag to rotate, then engrave and zoom — the whole tool is that control bar.
Shown rather than run. This one
carries its own 2007 preloader, written when a 2 MB download was a long wait, and it paces
itself frame by frame rather than by how fast the bytes actually arrive. Under the modern
interpreter that works out at roughly twenty minutes to reach the pen — so pressing a
button here would only buy you a progress counter.
Two pieces built for CKNW in 2008. Both still render, but neither can be
played: each pulled its questions and scores from a server that has been gone for years, so
what survives is the shell. They are here as stills rather than buttons, because a "Run it"
that leads to a broken screen is worse than a photograph.
Clicks for Kids — the CKNW Orphans' Fund poll
2008 · CKNW · charity
A weekly real estate poll where answering was the donation. One response per person per
week, each one adding to the CKNW Orphans' Fund, with a thermometer tracking the total
against a $20,000 target. Sponsored by PilotHouse, run on the radio station's audience.
The mechanism is the whole idea: make giving take one click, attach it to something
people already wanted to do, and show them the total moving.
The question text reads "undefined" — that content came from a feed that no
longer exists. The frame, the charity mechanism and the thermometer are intact.
A two-week quiz round with a live leaderboard — rank, name, location, score — and a $50
restaurant gift certificate drawn from the top scorers, ties broken by random draw. The last
winner it ever recorded was Barbara Clendenning from Squamish.
The leaderboard is empty because its scores lived on the server. Everything
else is as it shipped.
The work has never been only screens. Long before a job meant a React
Native app, it meant whatever the message needed — a kiosk, a website, or ink on paper.
Print, web, native: one person who takes the whole thing from idea to the thing in someone’s
hands, rather than three vendors and the gaps between them.
Cummins Western Canada — Dealer Support Manual
A dealer support manual for Cummins Western Canada, produced in five languages and
delivered two ways from one source: a print-ready file for press, and an interactive version
built to be navigated on screen. Cover, layout, and the five-language production, start to
finish.
2014 Dealer Support Manual — print and interactive, five languages.
Thirty years means a
lot of work outlives its domain. These are documented in the resumes of the era; the sites
themselves are off the air.
Ritz-Carlton Kapalua
livingkapalua.com
Showroom "Experience Engine" for the Maui resort residences — galleries and site
dynamics. The domain now belongs to an unrelated Maui brokerage; whatever is there
today is not mine.
Kulalani
kulalaniliving.com
Site plan and the admin interface letting sales staff change unit availability live.
Chateau Heavenly Village
chateauheavenlyvillage.com
Development site and media gallery for the Lake Tahoe property.
Two of the three mining company sites, plus the investor CRM, tax issuance, and
shareholder communication system behind them. Metal Mountain no longer answers and Eagle
Peak's domain has lapsed to a broker. The third,
Rich Rock, is still up.
Frederick Pewter Design
frederick-design-pewter.com
Online gallery, customer administration, and ordering system for a pewter studio.
BC Native Masks
bcnativemasks.com
Gallery and catalogue — one of several hundred sites delivered on contract.
Want something people actually enjoy using?
Games, kiosks, draws, product demos, or the operations system underneath your business —
I've been building all of it for thirty years. Tell me what you have in mind.