This Website
I’ve had a personal website for a while, but I never gave it much attention. It was always a simple page with my name and some links to my social profiles. After enough job applications without one worth sharing, I decided to start over from scratch. I’ve come across software developers’ profiles that I admired, but none that felt like I could use as precedent for my own. I wanted something that reflected my personality and how I work.
Goal
The goal was to create something that was worth sharing. Here’s what I wanted to achieve:
- static site
- content written in markdown and dynamically generated at build time
- minimal scripting
- design that reflects my aesthetic
Design
I used Gemini to brainstorm the aesthetic and arrived at something that would resemble technical documentation. After setting down the structure, Claude generated some of the css with some heavy editing on my part. Since it still did not feel right, my wife was very helpful by making some amendments that finally made it feel complete.
During my teenage years, a read a lot of content from xkcd. The footer illustration and the favicon is from xkcd 614 which is an image I have been using for a long time as a profile photo when I don’t use my face.
Content was the hardest part. Writing about myself without sounding like a resume or a LinkedIn post is difficult. Most of what’s here went through several drafts that I’m still iterating on.
Stack
A full fledged SPA or a site built with Gatsby or Next.js is overkill for a site with static content. I came across Astro and it seemed like a good fit.
Astro: static site generator (new to me)
Tailwind: styling
Shadcn: component library built on top of TailwindTypeScript: sparingly
It was very straightforward to work with Astro and their documentation was clear and simple to navigate. Long-form content is written in markdown and templated with JSX. Any reference to the projects pages as a whole is dynamically rendered based on the frontmatter metadata.
Upcoming Work
I wanted to get something published quickly, so here are a few things I still want to complete:
contact form- about me page (hardest page)
more project abstracts- experience section on the home page (summary of resume)