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
- Tagging system
- Relatedness measures between tagged items
- List of projects
- Comments on blog and project pages
- Pie chart of open source licenses
- A resume
Tech stack summary
- Frontend - statically generated, optimized SPA
- Backend - API-only backend (except for the admin panel)
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
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
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.
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:
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.