April 29 2025 AD
How this website was made
This website is by no means anything exemplary or well made. I made it in about 3 days if not evident in its quality. I am using Vercel and Next.js, certainly overkill for just a personal website, but it's what im familiar with.
Probably not the most user friendly way to write long things. Font is JetBrains Mono & theme is IBM Carbon.
All posts are written in a giant JSON object (this is probably a bad idea for scaling, but whatever). Each post is an object with title, description, date, and content properties. The content property is an array of objects, each with a contentType property (either text or image), and other properties depending on the type. For text, there is a content property with the text content (in HTML format), and an optional header property for section headers. This all probably means this is plagued with speling erors. For images, there is a source property with the image URL, an optional caption property, and an optional alt property for alt text. The main page maps over the items array and creates a card for each post. Each card links to a dynamic route based on the postId, which is generated from the title by converting it to lowercase, replacing spaces with hyphens, and removing non-alphanumeric characters. The dynamic route page fetches the post data based on the postId and renders the content accordingly.
I figure two things: a) I should probably have a website should I ever want to show off the things I've done, and b) I will probably be the only one will ever look at this website, and thus, am the only person who will care about what I've done. But I'm fine with that.
I use vim because it's really nerdy and cool. The hosting only costs about $10/year. If not apparent, Helvetica is my favourite font and is the greatest font ever made.