Thanks for checking out my website!
After leaving my job as a Software Engineer at the end of 2024, I took a break. Programming had been a consistent part of my life since I started my computer science degree in 2017, then learned how to build applications in 2018. While I was in college, I worked on side projects, integrated coding into my non-CS classes, worked as a contracted developer, and even did a COVID hackathon from quarantine. When I graduated, I jumped into the tech workforce as a software engineer at a startup for 3.5 years, and contributing to an open-source repository on the side. Then, in 2025, I decided I wanted a change. If I stopped coding, what would fill the space?
I entered 2025 with a clean slate. At times, I felt unmoored without the routine of a full-time job and the psychological security it granted me. But this discomfort forced me to create meaningful work and activities for myself. I occupied my time with learning new skills and studying new ideas, becoming involved in my community, playing outside, cooking good food, and deepening my relationships. This chapter felt challenging, exciting, and nourishing.
In July, I picked up a programming project for my tenant union, pulling some open data files into a database and running SQL queries. After the project, I realized those were the first lines of code I had written in 6 months. I also realized the project had energized me, reawakening the technical side of my brain in a way that felt really good.
I had created a personal website in December of 2020, as I was finishing college and applying for jobs. I LOVE this site, and all the care and creativity I put into it. It struck me that the site is now 5 years old, and lots of life has happened since it was developed. I decided to update my web presence, not by changing or adding to the original site (I like the idea of an archive), but by making a new one, as a way to stick my toes back into the software development world.
After shaking off the rust, and deciding on a fun theme for the side, I was off to the races. I am happy to share my freshly-deployed 2025 website to the world, and to be reconnecting to the creative technologist side of myself, who is back from a well-deserved and -enjoyed break!
tree-content. The generateStaticParams recursively traverses this tree to create the statically generated pages based on the content. A catch-all page in [[...slug]]/page.tsx renders the requested tree node from the URL. This allows me the flexibility to add new branches and leaves, or modify the tree structure, with no need to change any boilerplate.GridNodes, which are represent either branches or leaves in the tree, are rendered in a square grid, and are clickable. GridLeafs are full-grid, scrollable containers that render the full content of a leaf. To keep my tree neat, I store the leaf contents in their own files.