Some publicly available web applications built for fun and entertainment.- see About for ‘actual’ work

Classic Invaders

Classic Invaders

A Space Invaders-style fixed shooter game built with React, TypeScript, and HTML5 Canvas. Applies a retro CRT aesthetic with scanlines and glow. Emulates original ‘false’ colour with coloured transparent strips over a monochrome display. Touch friendly controls on touch friendly devices. Currently refactoring to improve mobile performance. Closed source.

Link

Leaf Shooter

Leaf Shooter Leaf Shooter

A bubble shooter type game where players aim and fire colored leaves to match 3+ of the same color. Matched leaves pop, and any leaves no longer connected to the ceiling fall. Features continuous level progression, particle effects, sound, watercolor paper texture throughout, and autumnal theme with automatic light/dark support. Think of it as something to do when you’re on a long call. Built with React, TypeScript, and originally with Canvas but now ported to PixiJS (thanks, Safari!). Closed source.

link

Freecell

A React TypeScript implementation of the classic FreeCell solitaire card game with Microsoft’s original RNG algorithm, deployed as a static website on AWS.

link

Freecell

Freecell

A React TypeScript implementation of the classic FreeCell solitaire card game with Microsoft’s original RNG algorithm, deployed as a static website on AWS. Open Source.

link

Klondike-Solitaire

klondike-solitaire

A React TypeScript implementation of the classic Klondike solitaire card game, deployed as a static website on AWS. Options for single or double deck and single or 3-card draw. Open Source.

Link

Wordsearch

wordsearch wordsearch

Full-stack Wordsearch game with React TypeScript frontend and Python Lambda backend. Various player options and content filtering. Dark and light mode responsive theme. Closed Source.

Link

Hangman

Hangman (Dark) Hangman (Light)

Full-stack hangman game with React TypeScript frontend and Python Lambda backend. Various player options and content filtering. Dark and light mode responsive theme. Fun for all the family! Open Source

Link

Towers of Hanoi

Towers of Hanoi (Dark) Towers of Hanoi (Light)

Implementation of the classic Towers of Hanoi puzzle game. Built with React, TypeScript, and Bun. Dark and light mode responsive theme. Open Source.

Link

Historical Day

Historical Day

Explore historical weather data (for major cities) and significant events for any date since 1754. Try your birthday! Built with TypeScript, React and Next.js for

A free and open-source project built with TypeScript, React and Next.js, exported as static assets and integrated with Hugo static site.

  • Weekday calculated using Zeller’s congruence
  • Historical weather provided by Open Meteo
  • Historical events provided by Wikimedia

Link

Tarot Card Shuffle Draw

N.B. Tarot cards were chosen as a more interesting alternative to regular playing cards - there are 2 decks and cards have an ‘up’ and a ‘down’. Designed for demonstration/ entertainment purposes only.

A free and open-source project that shuffles and returns a selection of Tarot cards. Users can choose different decks, specify the number of cards to draw, and include reversed cards in the draw. Public domain illustrations of the cards are presented with the results.

Deployed as a React static website frontend and serverless Go backend using AWS S3, CloudFront, Lambda, and API Gateway. Deployed with Tofu (Terraform).

Link