Handdrawn portrait of Ben Holmes

Ben Holmes

  • Web dev
  • UX freak
  • Blogger
  • Charcoal fan
More about me

I first got into software development not through algorithms, not unit testing, not objected-oriented principles... none of the hirable buzzwords. Back in high school, I was wrestling with Java concepts because I love making shiny pixels move around on a screen.

Back then, it was in the pursuit of inefficient, spaghetti-coded video games. Now, I've channeled a love for graphics into web development and design. I spent most of my time at Georgia Tech figuring out the sexiest frameworks to use, the most impactful way to apply my novice knowledge, and how to teach others at a beginner's level. I'm just entering the working world as an adult-in-denial, so I hope my lessons learned along the way end up helping you!

Sorry! I'm currently employed at Peloton, so I'm not looking for a job right now.

Still, here's all my skills / buzzwords you were going to search for: NodeJS, ES6, ReactJS, JAMStack, NextJS, semantic HTML, understanding of a11y, Angular 2+, SvelteJS, SCSS, NoSQL, OOP programming, C Basic, unit testing w/ Jest... Okay I'm getting tired typing.

Just take my resume

I teach.

In brief...

  • Learning web dev is confusing / ever-changing and I want to help
  • Top 500 author on DEV (thx readers!)
  • Built a fullstack bootcamp with online resources + in-person workshops

I blog a lot.

Before building your next static site with React, consider this

Medium coffee cup
8 min
Before building your next static site with React, consider this
Small coffee cup
2 min
Introducing my new personal site, a static SPA built without a framework 🚀
Large coffee cup
10 min
Flexbox diehards: Here's some concrete examples of when CSS grid is just better
Small coffee cup
4 min
How you can (sort of) write SASS @mixins in plain CSS
Large coffee cup
10 min
The power of SvelteJS: building an animated image carousel in <30 lines of code ✨
Find more on my blog

I led a bootcamp.

I asked around the dev community to understand how people learn best, and I found a variety of approaches from written documentation to recorded code-alongs. So, I tried to make a bootcamp that was the best of all worlds, incorporating video activites, written code samples, and in-person workshops to create one mega resource for becoming a MERN stack sorcerer 🔮

We've been teaching this material at the Bits of Good student org for 2 semesters now, so we've had a lot of time to work out the kinks. Click through to find our videos, resources, and project templates 100% free! A huge thanks to Andre Hijouay for creating the incredible v1 of the bootcamp, Max Karpawich for our lovely backend materials, and James Wang for contributing + teaching 😁

I create.

In brief...

  • Full-time frontend dev at Peloton
  • Framework-agnostic web developer, currently hyped for SvelteJS
  • Social good advocate: former Bits of Good Director of Engineering, Impact Labs contributor

Bits of Good Homepage

This was my first experience with rebuilding a brand from the ground up. We spend months in the design and user discovery phase to decide on the best logo, fonts, colors, and general "feel" of the website. A year later, we've built everything from a reimagined splash page to in-depth journey maps for all of our nonprofit projects. Oh, and it's built on the incredible Svelte + Sapper JS framework!

Ongoing works

I've been going all-in on JAMstack apps this past year. My foray into Svelte + Sapper was easily my favorite venture; it's just so much simplier than React in my opinion. Also, my heavy frontend focus gave me some valuable CSS learnings!

Complete works

I've touched a lot of CS corners these past few years. Web tech was definitely a theme, but I never settled on any frontend framework in particular (Angular's the worst one though 😛). I also found some time for games, whether it be a virtual tennis match or real life roomba bowling!

Bits of Good Homepage

May 2019 - present

JAMstack
SvelteJS
Explore the live siteScour the Svelt-ified codebase

This was my first experience with rebuilding a brand from the ground up. We spend months in the design and user discovery phase to decide on the best logo, fonts, colors, and general "feel" of the website. A year later, we've built everything from a reimagined splash page to in-depth journey maps for all of our nonprofit projects. Oh, and it's built on the incredible Svelte + Sapper JS framework!

This very website

Jan 2020 - present

JAMstack
No frameworks
PugJS
Scan my way-too-complex codebase

This was a seriously big undertaking, mostly because of how I approached it. In short, this is a statically generated website with zero JS or CSS frameworks to be found. In fact, everything from client-side routing to the design were built from scratch. More than anything, this was meant as a learning experience in how JAMstack sites really work, but also a testament to how powerful raw CSS and ES6 have become. If you're curious how I approached it, check out the source code + the README

Dolphin field recording visualizer

Oct - Dec 2019

Research
Angular 2+
Play with dolphins... in recording formBrowse our undocumented codebase

This was a research project with interesting goals: a) to understand the language of dolphins, and b) to find a way to communicate with them as humans. This involved countless field recordings that needed to be compiled and analyzed for commonalities. So, I led a small dev team to build an audio visualizer using Angular 2+ to view researcher annotations and AI generated models on an easy-to-understand timeline. With some added WASM magic, it's now the team's go-to resource for compiling and viewing audio files!

Drawchange Volunteer Management System

Jan - May 2019

MERN stack
Social good
ReactJS
Check out how the project has evolvedRead our big takeaway on CSS frameworksCheck out progress updates along the way

This was a major milestone as a developer: my first time taking ownership of a production-ready project. Since this Bits of Good student team was short-staffed, I ended up being the team-lead-SCRUM-master-client-communicator-designer-developer (my longest title so far!). It was also an amazing chance to make full stack architecture choices my team could agree on, and an opportunity to pair up and teach others as we worked towards the deadline. Though our nonprofit partner parted ways with BoG, the codebase has been reimagined as a general solution for volunteer management that all nonprofits can use!

Peloton Careers Page

Jul - Aug 2019

Product MVP
ReactJS
TypeScript
Redux
Check out the production deploymentRead about our team's process and lessons learned

This is the first Peloton project I took full ownership of. I worked as the head engineer on a multi-disciplinary team, getting involved from the ideation phase to MVP deployment. I spent time researching what was technically possible using the Greenhouse job posting API, working with designers to get my breakpoints pixel-perfect, and managing tasks with a product manager. I also wrote a neat blog post explaining the entire process + lessons learned along the way!

32 Bits Rackets - GameBoy

Oct - Nov 2018

Video game
C Basic
Emulator
Play the AAA titlePretend to understand my C Basic

Though I've found my niche in frontend dev and design, my interest in programming started making simple games using Java Swing. I had yet to rekindle this passion until college, when a system fundamentals class tasked us with creating a game in C using a Game Boy emulator. The end result: a tennis simulator against a CPU skilled enough to send shivers down Serena William's spine. I pushed the emulator to its limits calculating arc velocities, jumpshots, angle characteristics, and match-based scoring!

Roombowling

Mar 2019

Hackathon
SvelteJS
Python server
Experience the suck-iest frame of bowlingScour the Sveltastic instructional UI

I attended my fair share of hackathons as a GA Tech student, but BuildGT2 was easily my favorite win. Our team's goal was simple: reserve the Roomba dev kit ASAP and wing it from there. Inspired by the childhood classic Wii Bowling, we created an over-engineered, 1-round game with a Roomba as the ball!
Some serious tech was involved: A Kinect motion camera to detect fallen pins, A webapp using SvelteJS + web sockets for gameplay instructions and scoring, and a Raspberry Pi to communicate with the Room-ball.

Contact Me

{content.artwork.alt}

Let's chat! I'm always available through my Twitter DMs and by email, but you can fill out this shiny form too :)

Thanks for reaching out!

I'll get back to you soon. In the meantime though...

Check out my latest blog posts