$ infofetch
Henry Wang
Painting of bird, some fish, and a sunset

About me 👨‍💻

Hey, I’m Henry, a software engineering graduate from the University of Auckland. I'm your go to guy for being hyperfixated on optimising and improving everything (almost negatively so), however this fuels my extraordinary drive for learning and grinding away on delivering the best that I can do.

A bit about my coding endeavours, I was first introduced to programming in 2021 as part of the general first year engineering and it just somehow clicked. By the end of that year, I was already trying to complete Advent of Code using a mishmash of C, MATLAB, and Python.

During that time I also became enamoured with using Vim (and later Neovim), which has (unfortunately) turned me into an overall configuration nerd. This hasn't stopped me learning more about existing frontend technologies. However, I have seemed to become and esoteric programming language polyglot, with an appetite for frankly cursed things such as Rust frontends, and hours upon hours poured into writing bash and lua scripts.

Some fun facts about me:

  • Outside of programming, I enjoy weight training and sports (currently badminton).
  • I attempted to learn Teeline shorthand, and the sturdy keyboard layout (and currently use Dvorak)
  • The painting on the right (also used as the favicon), is a painting I made in year 11 and has served me well as profile picture.

Projects 💼

Blurple Canvas main screen

Blurple Canvas

Next.js, Express, PostgreSQL

  • In a team of six people we built an open-sourced web app for Blurple Canvas and r/place inspired collaborative digital art canvas.
  • Project Blurple is a week-long community run project celebrating the birthday of Discord.
  • The application was soft-launched during the Project Blurple event in 2024, where mainly the discord bot handled the interactions with the canvas. In 2025, we deprecated the discord bot and focused on the web app.
  • During initial development, I was mainly responsible for writing the backend and writing test cases. Later on, I took on adding improvements to the frontend, including making it runnable on Safari. This required a major re-write to our custom built canvas panning and zooming system. This eventually led to me also implementing a mobile interactive and responsive UI which saw major use in the 2025 event.
  • During the 2025 event, I remained active fixing any scalability and browser compatibility issues that arose. Including a weird bug seen only on Android Firefox and very minorly on Safari.

Check out the source code here

Leptos tech demo pokedex page

Leptos Tech Demo

Rust, Leptos, CSS

  • A simple application that demonstrates what the Leptos framework has to offer, including very simple pokedex page using the public PokeAPI.
  • This wasn't my first foray into Rust frontend frameworks (that belongs to my initial portfolio website). However it was my first time learning the ins and outs of a frontend framework in the context of Rust, going Routing with Outlets to Suspense, Await all that jazz.
  • This was originally created as a demo for an assignment + video (I'll have to try find the footage). So it covers the large amount of what a CSR rust framework can do.
  • DISCLAIMER: I would never recommend someone to use any Rust framework, while Rust is a terrific language, in the context of frontend development, its developer experience is painful. Compile times are slow, and error messages remind me of the Java stack traces. So would I keep using Leptos? Yeah probably, I'm a sucker for that stuff, and it does help me learn a lot.

Check out the source code here

Typefaceoff home page

Typefaceoff

Typescript, React, Vite

  • Typefaceoff is a react web app for comparing typefaces (its in the name!). This project is quite unique, as it was a group project structured as an exercise learning the best practices for working in open source space. As such, a lot of my efforts went into learning the best ways to ensure that the code was maintainable.
  • This involved more learning about the overall JavaScript tooling ecosystem, as well as integrating it with CI (GitHub actions) and CD (GitHub pages), which I all setup.
  • This knowledge has carried on into many of my later projects (including many group projects), where I am able to use my prior knowledge to ensure ease-of-use, and high code quality.
  • I do intend on eventually rewriting this project to more suite my own sense.

Check out the source code here

Quick Draw! game mid round

Quick, Draw!

Java, JavaFX, Maven

  • Quick, Draw! was my first major group project during Uni. As a group of three, we were task to create this Java-based desktop game for young adults.
  • The main goal of the game is to have the neural network correctly guess your prompt.
  • The game offers various difficulty levels, three game modes (Classic, Hidden Word, and Zen), and allows users to create custom profiles with profile pictures, player statistics, and badges.
  • I was mainly responsible for implementing the various game modes, profile pictures, and providing feedback on pull requests.

Contact me 👋

My details are in my CV, but you can still reach me from here.