Brian Lai
Projects

Things I've built

A selection of work, side projects, and experiments. Each one is a short writeup of what it is and how it came together.

Featured

  • A League of Legends companion that looks up a player and lays out their champion mastery and Hextech chest progress as interactive cards.

    • Next.js
    • SSR
    • React
    • TypeScript
    • Tailwind CSS
    • Riot API
  • Masterball

    Featured

    A fast, fully static Pokedex covering all 1,000+ species along with their moves, abilities, and items, built at compile time from the PokéAPI dataset.

    • Astro
    • SSG
    • TypeScript
    • React
    • Tailwind CSS
    • PokéAPI

More projects

  • A Discord bot written in C# on Discord.Net, covering fun, music, role assignment, and utility commands.

    • C#
    • .NET
    • Discord.Net
  • A desktop widget app for Windows that keeps live CPU and GPU readouts and a clock floating on your screen, built with Avalonia on .NET 10.

    • C#
    • .NET 10
    • Avalonia
  • This site, a statically generated portfolio and blog built with Astro, consuming the Pristine Machine design system.

    • Astro
    • TypeScript
    • Tailwind CSS
    • MDX
  • A plum-blossom take on a draughtsman's blueprint, a master design system and live showcase built on Tailwind and Base UI.

    • React
    • TypeScript
    • Tailwind CSS
    • Base UI
    • Vite
  • A browser-based video editor that imports, trims, and exports clips entirely on the client, with nothing ever uploaded to a server. Powered by WebCodecs and FFmpeg WASM.

    • Astro
    • SSG
    • Preact
    • TypeScript
    • Tailwind CSS
  • A condition-reactive 16:9 weather dashboard whose visuals shift with the current conditions and time of day, fed by the free Open-Meteo API. Intended to be used with the Web Capture Camera project.

    • Vite
    • Preact
    • TypeScript
    • Tailwind CSS
  • A tool that turns any web page into a virtual ONVIF camera by capturing screenshots using Puppeteer, streaming live as an H.264 RTSP feed using FFmpeg that network video recorders can discover and record.

    • Node.js
    • TypeScript
    • Docker

Archived

  • An image posting web app built as a university team project in a team of 7, with a Node and Express backend, and a MySQL database.

  • A four-player Bomberman battle royale written in Java, where players blow up crates, grab powerups, and try to be the last one standing on a grid-based map.

  • A multiplayer first-person shooter built in Unity, networked with Mirror and developed in a team of 8 for a Multiplayer Game Development class in university.

  • An educational RPG combat prototype built in Unity, exploring movement, targeting, and combat systems for a sandbox-style role-playing game.

  • A competitive two-player split screen tank game written in Java for an SFSU CSC 413 course, where players collect powerups from crates and battle to drain each other's lives.

  • A small web app that transforms text in playful ways, from changing letter casing and spelling out numbers to wedging clap emoji between every word.