Article summary
Most side projects fizzle out for me before they even start. Between work, family, and other social obligations, the last thing I usually want is another commitment. But this one was different. It combined one of my favorite hobbies with the chance to build something alongside a friend. That was enough to get me on board.
How it Started
I’m a member of one of Ann Arbor’s local cycling clubs. It’s a great community for knowledge sharing, connection, and welcoming newcomers to town. A recurring theme in our conversations is some variation of: “Where should I ride?” or “Does anyone have good routes that head in [X] direction?”
Those questions often get answered by long-time locals, but sometimes someone will bring up a book: Dirt Roads of Washtenaw. The book hasn’t been in print for years and is difficult to track down. My friend and I decided to digitize the spirit of that book, pairing our own knowledge with insights from the cycling community we’re part of.
The Inspiration
We drew inspiration from Rural Recreation Roads, a free resource for gravel cycling routes in the Bentonville, AR area. The site is simple, approachable, and easy to navigate. That was exactly the kind of experience we wanted to create. With the concept clear, we turned to the technical decisions.
Tech Choices for the Build
Side projects are the perfect excuse to try out new tools. My friend suggested Astro, a framework neither of us had worked with before. Astro is designed for building fast, content-focused websites using an “islands architecture.” In short: pages load quickly with minimal JavaScript, but you still get the flexibility of integrating components from frameworks like React, Vue, or Svelte. It felt like a great fit.
We paired Astro with other familiar tools:
-
Tailwind CSS for styling
-
React for interactive components (my comfort zone)
-
TypeScript for type safety and IDE support
Within a short time, we had the skeleton of a site with pages, images, and route embeds, but not much else. To give the project some direction, I suggested we grab coffee and sketch out a plan.
Planning Without the Overhead
Because it was just the two of us, heavy project management tools like Jira felt unnecessary. Notion already had some loose notes related to the site we were building, so we leveled that up into a simple checklist to track progress.
We thought about what we would want as cyclists in Washtenaw County. Our wish list included:
-
A list of routes
-
FAQs
-
Safety and equipment tips
-
A “marauder’s map” with points of interest like bike shops, cafés, and roadside attractions
That gave us enough structure to start building intentionally instead of just tinkering.
Dividing the Work
When it came time to actually code, we split responsibilities. I focused on visual polish and the core pages like routes. My friend, who had experience working with map data, built an unpaved-road overlay using OpenStreetMap data. That overlay became an important feature and also the foundation for adding points of interest.
Together, we added a handful of routes and features, but it quickly became clear that doing everything manually would be slow.
Letting AI Carry Some of the Load
In my day job, AI has already become a core part of how I work as a developer. For this project, I wanted to push that further: How much of the code could I let AI handle?
I started with broad prompts like, “I want to give this site a simple, good-looking UI.” The first attempt wasn’t perfect, but with a couple of re-prompts, I had something usable. AI didn’t just speed up my workflow. It reduced the mental load of side project work. Instead of grinding through details, I could focus on refining ideas and enjoying the process.
In just a few hours, the site evolved from bare bones to well-rounded. It’s far from finished, but the progress was energizing.
Reflections
This project reinforced something I’ve been thinking about a lot: side projects don’t have to be grindy to be valuable. With the right tools and a willingness to let AI do the heavy lifting, you can build something fun, useful, and collaborative without burning out.
For us, the payoff wasn’t just the website. It was the process of combining community knowledge, new technology, and a touch of automation to create something we would genuinely want to use on our bikes.
If you’re interested, you can find our site, Gravel Bike Ann Arbor, here. It’s still a work in progress, but I think it represents our vision well.
Key Takeaways for Developers
If you’re thinking about your own side project, here are a few lessons I’d highlight.
Keep scope simple. Focus on building something you would actually use instead of trying to anticipate every possible feature.
Experiment with new tools in low-risk environments. Side projects are a great space to test frameworks like Astro or libraries you don’t normally reach for at work.
Don’t over-engineer the process. A simple checklist can often replace heavyweight tools when you’re working in a small team.
Use AI to reduce friction, not just to generate code. AI can lower the barrier to progress, keep momentum high, and make side projects feel less like work and more like play.