davemaynard.dev featured image
2022

davemaynard.dev

TypeScript
React JS
TSX
Next.js
Three.js
react-three-fiber
TailwindCSS
CSS
CSS Modules
HTML
Web
Responsive

In 2022, I spent some time building this site with some of the latest development technologies I've been interested in. When I first started, I knew that I needed to come up with a visual design that would be minimal enough for the readers to focus on the content while still keeping things interesting with subtle animations and interactions.

To create the styles for the site, I reached for Tailwind CSS because I've worked with it in the past and I favor it over some of the alternatives. I'll admit that, when I first started working with version 1 of Tailwind a few years ago, I had my doubts about the framework because it seemed to have many drawbacks. However, my feelings about it have changed as later versions of the framework have resolved all of the issues I was initially worried about. Now I reach for it on almost every new project that I start working on. I even gave a tech talk about it, comparing it to the industry-standard CSS libraries and frameworks of the time.

After completing the design system I knew that I needed to pick the front-end technologies. Since this site doesn't involve many complex interactions or global state that could updated by users, I could reach for something that still had the power of a front-end framework but would allow me to generate static webpages to keep things fast. Because of this, it seemed like Next.js was a good choice. I also chose to use Next.js because of its advanced built-in features like file-system routing, static site generation, and TypeScript support.

I also knew that the site would essentially be a blog or portfolio, so it would mostly just serve static content. For this reason, I decided to use MDX for managing the data via enhanced markdown with JSX support. Working with MDX has made it easy to write new content for the site and should hopefully allow me to update my projects, side projects, and talks going into the future.

Related Projects

HackerRank

A series of problems across multiple programming languages used to continue learning and prepare for interviews. I reached rank 1 in Python and RegEx.

paintings.py

A desktop program in Python that would take a source image and, using random brush strokes, output a result resembling an expressionist painting.