Skip to content

Work, from products to playable worlds.

Featured projects have their own pages. Early work from 2020 to 2022 sits at the bottom.

  • Tenriva

    Sets up and removes staff accounts in Microsoft 365, automatically

    NestJS · React · PostgreSQL · Redis · Socket.IO · Microsoft Graph · Stripe

  • SikerCV

    A CV builder whose PDFs hiring software can actually read

    Next.js · NestJS · PostgreSQL · Puppeteer · zod · Stripe · Paystack

  • Subecho

    Map subdomains from public records without touching the target

    Next.js · TypeScript · Cloudflare Workers · IndexedDB

  • LaunchPlaces

    Find the right places to promote a new product

    Next.js · TypeScript · Cloudflare Workers · i18n

  • Casino games

    Slot, scratch-card and crash games at a 2D game studioName withheld

    Java · Spring Boot · PostgreSQL · Vue 3 · PixiJS · TypeScript

Products and tools

  • Spine Viewer

    Preview 2D game animations in the browser

    React · PixiJS · Spine · JSZip · Tailwind CSS

  • SnagVid

    Save your own clips from TikTok and X

    Next.js · PWA · Tailwind CSS · Vitest

More work

  • Entarat

    Party games for remote teams, played over voice

    Next.js · NestJS · Socket.io · WebRTC · Redis · PostgreSQL

  • X Image Splitter

    Turn up to ten images into a four-tile X grid

    TypeScript · PixiJS · Tailwind CSS

  • Memory Game

    A tile-matching memory game with a high score

    Svelte · PixiJS · TypeScript

  • Retribution

    Two-player online card game for a client

    React · Firebase · TypeScript

  • Pirate slot

    A pirate-themed slot game with respins and free spins, for a client

    PixiJS · GSAP · Howler

  • Prolysis

    Product team project at Digital Product School

    React · Docker · Jenkins

  • Blackjack

    Blackjack in the browser, with the game rules checked by automated tests

    PixiJS · TypeScript · Jest

  • Jumpy Bird

    A flappy-style game in Cocos Creator

    Cocos Creator · TypeScript

Early work, 2020 – 2022