Portfolio

Client sites designed and built end to end, team builds shipped with 4–5 other developers, and side projects built to keep learning.

Designed & Built

4 client sites

Team Builds

5 production sites

Side Projects

4 shipped

Leading
a frontend
team

Most of what I build now lives on a secure network, so there isn't much to link to. At Booz Allen Hamilton I lead a frontend team of four on a mission critical government application serving over a thousand users, built with Vue, TypeScript, Pinia, and Vite, tested with Jest and Cypress, documented in Storybook, and shipped through GitHub Actions. I've also been the sole frontend developer on a greenfield application, contributed to a component library shared across multiple government applications, and built the whole thing to WCAG and Section 508 accessibility standards.

Designed
and built
by me

These websites were fully designed and built by me oldest to newest. I am definitely no designer but I am learning and can see progress. All these websites are powered by either Next or Gatsby and use the CMS Sanity to source content from the clients into their websites. My websites are listed from oldest to newest.

Shipped
with a
team

These websites were designed by a design team and built by a team I was included on among 4-5 other developers at Reynolds and Reynolds. I was responsible for building out the front end of these content rich, responsive sites, keeping their Lighthouse and SEO scores healthy, and integrating the Google Tag Manager tracking the marketing team relied on.

01 · Next.js · Sanity

Learn Nepali

A Nepali language learning platform I built with Next.js and Sanity. It pairs a word of the day with lesson, quiz, and review sections so vocabulary keeps coming back around instead of being seen once and forgotten, and it installs as a progressive web app so it is there on a phone home screen without an app store. Sanity handles the content side, which makes adding new words and lessons a matter of writing them rather than shipping a deploy.

Learn Nepali logo
Race Stopwatch screenshot

02 · React

Race Stopwatch

A React web app I built for my hometown's cross country team. This tool gives them the ability to time multiple people at once and give estimates based on splits to give the user timing an idea how the runner is doing and what they are on track for. It heavily uses a Reducer hook to build out and update a dynamic object. Let's the user easily undo actions and add people while still timing so if a mistake is made all isn't lost since there is only one start to a race!

03 · Node

Project Euler

A website I came across that has a bunch of math problems that can be solved with code. I have been working through them in my free time to keep my problem solving skills sharp and learn new things. I have been using JavaScript to solve them and have been learning a lot about the language and how to use it efficiently to solve heavy looping problems.

Project Euler screenshot
Snake Game screenshot

04 · React

Snake Game

A React take on building the snake game I built over a weekend. An old co worker told me how he was building the snake game for his new job and I thought it would be fun to build it myself. I used React to build it and it was a fun challenge to figure out how to track the snake's location, move, and grow.