This very website

NOTE: This section is under construction!

A 90s-looking "under construction" banner

The contents of this page are incomplete and subject to change. Check back later for a more complete version!

After having made a lot of personal projects, I realized that I had forgotten a ton of them, and there wasn’t really a place to show them off. This website was made to solve that issue.

This website used to be written in Gatsby, but I decided to move it to Next.js

Feature List

  • Tagging system
    • Relatedness measures between tagged items
  • List of projects
  • Blog
  • Comments on blog and project pages
  • Pie chart of open source licenses
  • A resume

Tech stack summary


I use Next.js to statically generate the website.

The static site is hosted via Github Pages to statically host the website.

There is a Github Actions workflow that automatically builds on every push to verify that my code compiles. Additionally, if there was a push to the main branch, it will publish the build output to the repo.

UX design methodology

I’ve tried to make the browsing experience as user-friendly and inclusive as possible by:

  • Adopting a mobile-first methodology for designing views, and responsively sizing elements in CSS
  • Statically generating the site to reduce bandwidth consumption for users
  • Utilizing semantic tags and designing the site to be accessible for screen readers


Currently, the backend’s only functionality is to serve and receive possibly anonymous comments.

I have pointed Docker Hub at my repo to build, test, and release a new :latest image on every push to main. It is manually deployed as a Docker container on a free Oracle Cloud Infrastructure VPS.


The content is in its own Git submodule as a set of raw files that get aggregated and compiled on each frontend build. It is written in the following file formats:

  • Markdown
  • YAML

There used to be (relatively buggy) Jupyter notebook support for a few blog posts during v1, but that has been suspended. Instead, I used Pandoc to convert those notebooks into Markdown and raw images.


Markdown formatting is supported.