Selected work

29 finished apps. Here is what they actually do.

Everything below is a real screen from a shipped product, not a mockup. They are grouped by the four kinds of work available to commission. Each one says what it does and what the hard part was, because that is the part worth paying for.

The products themselves are sold as digital downloads, so they are not playable here. The three demos were written for this site instead, and those are fully playable.

Short clips

The Vanishing at Marlowe House — ten seconds: type an answer, the room responds.
The Wedding Planning Suite — eight seconds: seating a guest, and the warning that follows.
Budget & Money Tracker — nine seconds: one entry, and every total moves.

Service line 01

Custom interactive tools

Apps that hold data, do arithmetic and tell you something you did not already know. This is the closest work to a commissioned business tool: the same problems, the same file, a different subject.

Seating chart screen: round tables arranged on a grid with seat counts, one table ringed in red, and a side panel headed Seating Warnings listing a keep-apart clash between two named guests.

Planning app · 6 modules

The Wedding Planning Suite

Guest list with RSVP states, a drag-and-drop seating chart, a budget with estimates against actuals, a task checklist, a day-of schedule and a vendor tracker — all in one file, all sharing one set of guest records.

The hard part: the seating chart. Tables are dragged around a floor plan, and every move re-runs capacity and "keep apart" checks so a conflict surfaces the instant it is created rather than the night before. The printable floor plan and printable seating list are generated from the same data, so they cannot drift apart from the screen.

Dark money dashboard: a large monthly spending figure, a set of category budget bars, and a bar chart of spending by month.

Finance dashboard

Budget & Money Tracker

Fast transaction entry, category budgets that fill up as you spend, savings goals, a subscriptions register, and a dashboard that adds it up. Nothing is uploaded anywhere; the whole ledger lives on the device that typed it.

The hard part: the debt payoff planner. It builds a month-by-month schedule for both avalanche and snowball order from the balances, interest rates and minimum payments you enter — including rolling a cleared debt's payment into the next one — and shows you the difference in months and in interest.

Pack weight screen showing a base weight total in grams and ounces, with gear items listed and categorized.

Trip planner

Backpacker's Trip Planner

A multi-leg route builder, a hostel and transport bookings log, a per-country daily budget that tracks burn against plan, and a packing list that knows what everything weighs.

The hard part: weight accounting that matches how hikers actually think. Base weight, worn weight and consumables are three different totals, they move between categories when you change one checkbox, and everything has to display in grams or ounces without rounding drift. The route builder also flags any leg with no booking against it, which is the mistake that actually ruins trips.

Printable appointment summary page condensing months of symptom entries into a single sheet with frequency counts and a treatments list.

Health journal · clinic-facing output

Perimenopause Symptom & Treatment Journal

A daily log of symptoms, cycles, treatments and their effects, plus a running list of questions to raise. Private by construction: no account, no sync, nothing transmitted.

The hard part: the output, not the input. Months of daily entries have to collapse onto one printable page a clinician will actually read inside a ten-minute appointment — what happens, how often, what has been tried, what changed. And daily entry had to stay under about twenty seconds, because a journal that takes five minutes is a journal nobody fills in twice.

Also in this line

Student planner grades screen with course rows, letter grades and a calculated GPA.
Student PlannerAssignments, timetable, exams, and a GPA that recalculates as grades land.
Debt payoff screen comparing avalanche and snowball schedules with payoff dates and interest totals.
Debt payoff plannerAvalanche against snowball, month by month, with the interest difference in cash.
A year-long habit heatmap grid, each day a colored square by completion.
Habit TrackerOne tap a day, a streak count, and a full-year heatmap built from local storage.
A no-buy tracker screen showing money not spent, with a running total and a list of resisted purchases.
The No-Buy YearYour own rules, a waiting list for wants, and a total of what you didn't spend.
Reading journal statistics dashboard with books read, pages, ratings distribution and genre breakdown.
Interactive Reading JournalA library, a to-be-read pile, progress tracking and a statistics page.
Travel planner day-by-day itinerary with timed entries across several days.
Travel PlannerCountdown, day-by-day itinerary, bookings log, trip budget and packing list.
A deliberately sparse focus-mode screen showing a single task and a timer.
ADHD-Friendly PlannerBrain dump, a focus mode that hides everything else, and streaks that forgive a miss.
Guest list screen with households, RSVP status chips and counts of accepted and pending replies.
Guest list & RSVP trackingHouseholds, plus-ones, dietary notes, and totals that feed the seating chart.

Service line 02

Party games & event experiences

Escape rooms, murder mysteries, case files and party games. Three separate engines already exist and are proven, which is why a custom commission is mostly writing and puzzle design rather than building the machinery again.

Escape room screens showing an answer box, a wrong-answer response in red, a near-miss response, and the countdown with a solved-puzzle count. Typed answers are blurred.

Play-at-home escape room · 8 puzzles

The Vanishing at Marlowe House

A 1926 country-house escape room for two to six players. Eight interlocking puzzles, a countdown you can set or switch off, a hint ladder that costs you time, a findings tray, a printable pack for people who want paper on the table, and a facilitator screen for whoever is running it.

The hard part: checking answers without shipping the answers. A printed escape room puts its answer key in the same PDF and somebody always reads it. Here every accepted answer is stored as a salted hash, with a second set of hashes for common near misses — so the room can say "right shape, wrong letters" instead of a flat no, and View Source shows nothing but tokens. On top of that, what a player types is normalized before comparison, so capitals, spacing, punctuation, curly quotes, accents and a stray leading "the" never cost anybody the game.

Evidence room grid of twelve document cards — coroner's report, lab report, survey, Polaroid, phone log, receipts, bank records and more — several marked read and two flagged.

Interactive case file · 1974

The Glass House Case

A cold case worked from twelve primary documents: coroner's report, crime lab, engineer's survey, a Polaroid and its shot log, phone logs, receipts, bank records, a partnership agreement, an interview tape. Read them, flag them, build a timeline, keep a notebook, then make an accusation the game grades.

The hard part: making twelve documents disagree with each other on purpose and still be solvable. The true answer has to be reachable from the evidence alone, every false lead needs an innocent explanation that survives a second reading, and the alibi timings have to hold up when a player lays them on one timeline — which is exactly what the timeline screen invites them to do.

Murder mystery party kit screen showing printable character packets for named guests, each with a role and secret brief.

Host-a-murder-mystery kit · 6–10 guests

Murder at the Harvest Ball

A complete dinner-party murder mystery: character packets for each guest, clue cards dealt across the evening, a host's running order, and a print checklist so nothing is missed at eleven at night the day before.

The hard part: the guest count. The same cast has to work with six people and with ten, so changing the number rewrites which characters are in play, which secrets get redistributed, and which clue cards are dealt — without ever orphaning the clue that identifies the killer.

Also in this line

Escape room screen with a child's name and age woven into the puzzle text.
The Case of the Missing BirthdayA six-puzzle room for mixed ages; the birthday child's name is written into the story.
Escape room screen built for two players sharing one device, showing a puzzle that requires information held by each of them.
Someone Left a Light OnA seven-puzzle room for exactly two players, two of which cannot be solved by one person alone.
Hint panel showing three progressively more explicit hints, with a time cost shown for taking one.
The hint ladderThree graded hints per puzzle. Each costs clock time, so nobody hits a wall and nobody cheats by accident.
Suspect dossiers screen with portraits, alibis and motive notes for five suspects.
The Ashcroft Manor CaseA second case file on the same engine — different period, different evidence, same rigor.
Party game screen designed for passing one phone between players, showing a fill-in-the-blank prompt.
Punchline PartyA fill-in-the-blank game for 3–10 players on one phone, with a privacy screen between turns.
Gamebook combat screen with dice rolls, stamina and skill values and a combat log.
The Ashfall RoadA solo fantasy gamebook: rolled characters, dice combat, inventory, save slots, multiple endings.
Bundle cover image for a detective case file collection.
The Detective's Case File CollectionTwo cases packaged as one product — the same engine, sold as a set.

Service line 03

One-page sites

Seven published event sites run on one shared engine — same code, different theme and copy. It is the same discipline a small business site needs: fast, self-contained, nothing to renew, and editable by the person who owns it.

Setup wizard screen with form fields for event name, date, venue and theme, alongside a live preview of the site being built.

Site engine · 7 published themes

The event-site engine

One codebase behind the wedding, baby shower, bridal shower, birthday, gender reveal, graduation and Halloween sites. Countdown, schedule, venue and directions, RSVP, registry links, FAQ, photo sections, four themes each, and a share screen. All the decorative work is per-theme; the machinery underneath is identical.

The hard part: the setup wizard, which had to be usable by someone who has never opened a text editor. They fill in a form, press download, and the app clones its own document, strips the wizard out of the copy, writes their answers into a config block and hands back a brand-new standalone HTML file. That means every value a guest might type has to be escaped on the way in — including the angle brackets that would otherwise let a name close the script tag it is being written into.

Wedding site front end showing a countdown to the day and a schedule of the day's events with times and locations.

Front end

What the visitor sees

The published side is one page, loads in one request, and works on a five-year-old phone with two bars of signal — which is the actual condition your customers are in when they look you up.

Why it matters commercially: there is no builder subscription behind it and no platform that can change its terms. The owner has the file. They can host it free, move it to another host in ten minutes, hand it to a different developer, or open it in a text editor and change the phone number themselves.

Seven themes, one engine

Four theme variations of the same wedding site shown side by side in different palettes.
ThemingFour palettes per site, each with its own illustration set — not just a hue shift.
RSVP and registry section of a bridal shower site with a reply form and registry links.
RSVP & registryReplies and gift links in the same page, no third-party RSVP service in the middle.
Halloween party site section describing a costume contest with categories and prizes.
Per-occasion sectionsA costume contest here, old wives' tales there — each theme gets sections that only make sense for it.
Share panel for a graduation party site showing one short web address, a QR code printed on an announcement, and a preview of the site on a phone.
One link, every guestGroup chat, email, or a QR printed on the mailed announcement. Edit the site later; the address never changes.
Gender reveal site with two large team voting buttons and a running tally.
Interactive extrasGuest voting, guess tallies and countdowns that keep people coming back to the page.

Service line 04

Digital products for other sellers

Products built to be sold under someone else's shop name. The evidence that this works is the catalog itself, which is largely built this way already.

A what-you-get summary image listing the files included in a three-app product bundle.

White-label & re-theming

One build, many listings

Seven event sites from one engine. Three escape rooms whose engines are byte-for-byte identical. Three planners, two reading journals, two gamebooks, two case files. Each re-theme is a genuine product with its own copy, palette, illustration set, example data and setup guide — not a color swap.

The hard part, honestly: resisting the color swap. A re-theme that only changes the palette reads as lazy within about four seconds. The wording, the default examples, the icons and the empty-state text all have to belong to the new audience, or buyers can tell — and say so in reviews.

Planner shown in several color themes side by side.
Your colors, your namePalette, typography, icon set and the name in the file — all replaceable.
The same reading journal shown on a laptop, a tablet and a phone.
Every size, testedPhone, tablet and desktop layouts are part of the build, not an afterthought.
Chart of most-read romance tropes generated from a reader's logged books.
Re-theme, done properlyThe romance edition of the reading journal added spice ratings and trope tracking — new features, not new colors.
Planner module overview showing today, week, habits, goals, budget and notes sections.
Modular by defaultModules can be removed for a simpler product or kept for a premium one.

Three playable examples: one brand, three tools

These three are branded for Marigold & Slate Events, a wedding planning studio that does not exist — an invented example, labeled as invented on every page, built to show what a real studio's own set would look like. They are the tools a planner hands to their own couples, with the planner's name on them rather than anyone else's. Unlike the products above, these are live: open them and use them.

Branded tool

Guest list & seating

Households, plus-ones, dietary flags, table capacity, and a warning the moment a family gets split across two tables. Every seat is assigned from a dropdown, because dragging tables around a floor plan does not work on the phone this actually gets done on. Prints a table-by-table list, place cards and a catering sheet.

Open the seating chart
Branded tool

Wedding-day timeline

Blocks of time chained together, so changing one duration re-times the whole day — past midnight included. It flags a run of things with no gap between them, and a venue curfew the day now runs past. Prints a one-page run sheet and a separate call sheet per vendor.

Open the timeline
Branded tool

Client style questionnaire

Sixteen questions a planner sends a new couple, scored into a style direction with budget signals, spend priorities, must-haves and hard nos. With no server anywhere, the couple sends it back by downloading one file — and the planner opens that file in the same tool to read the summary.

Take the questionnaire

All three carry their brand in a single fifteen-line block at the top of the file, so the name, monogram, colors and contact line on a real build are one edit — which is what makes a set of three affordable rather than a bespoke project three times over.

Want one of these, with your subject in it?

Say what the tool needs to work out, or what the game needs to be about. A fixed price and a delivery date come back before anything starts.