Fisher Sun 🎣

My portfolio

Here are some personal/school projects I'm proud of! If you want to see my work experience, check out my resume.


An example album on Beatbuff. There is information about the album and reviews.

In a team of three, I built Beatbuff, a website for music album reviews. Users of the site can rate any album on Spotify, plus follow their friends to see what albums they recommend. There’s also a notification system that allows users to see when they get a new follower and when someone comments on their reviews.

To build Beatbuff, we used Next.js and TypeScript. For our database, we used Prisma and MySQL; for the frontend, we used Chakra UI and Tailwind.

HDN (home.nix utility)

The command-line output of HDN. There is a diff of the home.nix file and the output of a home-manager invocation.

I was using Home Manager to install my packages, but I found its workflow of manually editing the home.nix file (and manually reverting it if something went wrong) tedious. So, I used Rust to create hdn: a tool that takes care of home.nix just like how Cargo takes care of Cargo.toml.

I’ve found HDN very useful for my own use case. I’ve replaced nearly all of my invocations of home-manager with invocations of hdn.

DSC Designathon Website

The homepage of the designathon website. There is a button to register and information about the event. Last year, my club, DSC WashU, hosted a designathon for students to redesign WebSTAC. I developed the website for the event. It shows the event information, lists resources for participants, and dynamically displays submissions.

This was a static website built with Jekyll that used Airtable to store submissions and vanilla JS to query them. This tech stack allowed me to avoid setting up infrastructure for hosting: I could just deploy with GitHub Pages.

CMake Independent Study

When I took CSE 332S at WashU (Object-Oriented Software Development Laboratory), I was frustrated that because I didn’t own a Windows computer, I had to use the sluggish remote desktop to work on the course’s C++ assignments. The next semester, I did an independent study to migrate the course studios and labs to CMake, allowing students to develop on any platform.

Although perhaps not my most eye-catching work, it may be my most appreciated; many students have thanked me because they were glad they didn’t have to use the remote desktop anymore.