<ryan webb />

Back

About

"Stay hungry, stay whimsical" isn't just a tagline I picked because it sounds good, it's roughly how I try to approach everything. The hungry part is obvious: there's always more to understand, and I get genuinely restless when I'm not learning something. The whimsical part is the harder one to explain. It means I'd rather build the chaotic Twitch-integrated collaborative drawing app than the perfectly scoped CRUD dashboard. It means I think the best technical solutions are usually also the most elegant ones, and sometimes elegance is worth chasing even when it's impractical. I fully believe that when we stop being whimsical, we stop discovering life. When we stop being hungry, we stop growing. When we stop being both, we stop doing things that are worth doing while life slips by, and that's not how I want to live.

How I work

My instinct with any codebase is to make the invisible legible. What's the system actually doing? Where does trust break down? What does a new contributor need to understand in the first ten minutes? These questions matter more to me than hitting the sprint deadline with the most lines shipped. I've worked on enough projects (agile product teams, research teams, solo weekend builds) to know that the hard part is rarely the algorithm. It's the fuzzy interfaces between people and components that nobody quite owns. The aggregation of assumptions baked in over weeks and months of development.

That shows up in how I write code: I prefer clarity over cleverness, and I'll take the slightly longer name or the extra abstraction layer if it means the next person (usually future me) can read it without a spelunking expedition. My NSF-funded work on accessibility education pushed this further; when you're building tools for people who rely on assistive technology, "good enough" means something different. The system has to earn trust.

View my projects

Outside the editor

I spent over two years teaching 527 private STEAM lessons to kids ages 7–17 through iD Tech, and that experience shaped how I think about technical communication more than anything else. You can't bluff a ten-year-old. If you don't actually understand why the loop variable resets, they will find out, and they will not be polite about it. I learned that I love the moment when something clicked. watching a kid go from frustrated to quietly proud because they debugged their first program themselves. I wasn't just teaching to fill time. I was good at it, and I cared about doing it well.

That same thread runs through my time as a Bonner Scholar at Earlham College. Over 1,500 hours of community service, co-chairing events for 60 scholars. Not because it looks good on paper (though I'm aware it does), but because it turns out I'm drawn to situations where you're trying to coordinate people toward something that actually matters. Community organizing and software engineering have more in common than they look. Both are fundamentally about building systems that hold up when the original architect isn't in the room.

About This Site

This site is built with Astro, a modern static site generator that ships zero JavaScript by default. The content is managed through type-safe YAML files using Astro's Content Collections feature, with plans for Sanity CMS integration for visual editing.

The design is powered by Tailwind CSS and uses the astro-pure theme as a foundation. Code is formatted with Biome and the entire site is deployed on Vercel.

Tech Stack

  • Astro 5
  • TypeScript
  • Tailwind CSS
  • astro-pure theme (customized)
  • Biome (lint + format)
  • Vercel (SSR)