In September 2024, I broke 2:30 at the Berlin Marathon — 2:29:50, a goal I'd been chasing for nearly 6 years. That journey started in Napa Valley in 2015, where with no marathon experience, I went out with the leaders, took on zero nutrition, and found myself standing on the side of the road at mile 20 wondering if I could finish. I crossed the line in 3:46.

In the decade between Napa and Berlin, I went from 3:46 to 2:29. Along that path, I had multiple stints of 365+ day running streaks with my longest capping out at 555 days. I built up to 90+ mile training weeks, consistently putting in the type of hard efforts I'd learned from years of running cross country and track competitively. And what I learned along the way is that if you truly want something, you have to go all in.

After Berlin, I didn't know what was next for my running. But I knew exactly what was missing from it. In high school and college, I had real coaches — they knew the sport, the science, and me as a runner. In adult life, that all went away. I tried everything: generic plans, online coaches, DIY programming. Nothing came close.

Then AI started changing the landscape. My close friend Joe Hyland (and Co-Founder of Vici) and I started generating training plans using ChatGPT — the quality and personalization were genuinely impressive. But even these were static the moment they were created. Meanwhile, runners were paying $150+/month for coaching that was often no better.

And that's when it clicked: we're at an inflection point where incredible expertise is now essentially free. So why can't we give every runner — whether they're just getting started or chasing a Boston qualifier — access to the quality of coaching that used to be reserved for the few who could afford it?

There was just one catch. I had no technical background to build it. At all.

Lucky for us, that same technology wasn't just the product opportunity — it was what could make it possible for us to actually build the thing, without raising capital, if we were willing to put in the work.


The starting point.

I'm not exaggerating when I say I had close to zero technical knowledge. I didn't know what a GitHub repository was. I didn't know the difference between a frontend and a backend. The gap between "I have an idea for an app" and "I can actually build this" felt impossibly wide.

But I'd been there before. Training for the Berlin Marathon and realizing that the pace I had just struggled to hit for a 5 mile tempo was what I would have to sustain for 26 miles to reach my goal. And if distance running has taught me anything, it's that the only thing that closes that kind of gap is showing up every day and doing the work. So I did.


The tools that changed everything.

I worked my way through nearly every AI coding tool. I started with V0 and Replit — just trying to see if I could make anything appear on a screen. Then Cursor, where things started to get real. Then Claude Code, where I started making significant progress.

Along the way, new models were being released and I'd feel an immediate jump in productivity — things that previously took weeks suddenly took hours. Only to find myself frustrated days later when the same types of issues emerged. And underneath all of it, a constant stress about how each improvement in model performance left me more vulnerable to someone else deciding to build the same thing, but faster.

While these AI tools wrote the code, I was in the weeds every day demanding perfection in implementing the vision I had for Vici. This was everything — from how we architected our prompts and consolidated critical context for the LLMs, to the specific colors and styles of elements on screen. This approach compressed what might have been years of learning into 11 months, spanning architecture, databases, security, deployment, debugging, and more. And while I wouldn't call myself an expert on any of it, I now know enough to avoid common pitfalls and to ensure Claude is building the experience I believe our users want.


What I learned along the way.

1. There are no shortcuts. While tools like Cursor and Claude Code have lowered the barrier for non-technical people to build, there are no shortcuts to building something meaningful. You still need vision, thorough planning, clear documentation, and maybe more than anything else — incredible persistence.

2. Anything worthwhile is hard and takes time. I've spent well over 2,000 hours across roughly 10 months, with my first child born in the middle of it all. I was intentional about stepping away to spend time with my new family, but that required being even more intentional about getting work done. There were many 4am starts dictated by the baby's sleep schedule, not my alarm. Most days I was building for 10–12 hours, and very few weekends passed where I didn't find another 8–10 hours to continue the work.

3. You have to be in the weeds. Much of the vibe coding conversation focuses on prompt engineering and context management — the perfect Claude markdown file, the comprehensive skills repo. But the real differentiator is your ability to challenge the approach to a code change, to push back when something doesn't feel right, and to go back again and again to deliver a cohesive experience. This requires a thorough understanding of your codebase, even if you don't understand the code itself.

4. Break it down. Just like any big problem, breaking it down to its simplest components and solving piece by piece still gets to the best outcome, and usually most efficiently. With AI coding tools it's easy to get greedy — particularly when you're drained or coming off significant progress. But throwing a whole new feature or a complete design overhaul at your coding agent rarely gets you where you want to go, and usually creates more problems than it solves. A good rule of thumb: "how would a human engineer tackle what I've just asked the LLM to do?" If that question leaves you questioning, you're probably not going to get the outcome you want.


What I built.

Vici is an AI running coach that learns you. Not a training plan generator — a coach.

It connects to Strava, learns your fitness from your history, builds personalized plans grounded in exercise science, gives you daily briefings, adapts your workouts based on how you're recovering, and coaches you through every session. It detects when you're fatigued and scales things back. It notices when your easy-run heart rate is creeping up. It tells you when you've run too far or too fast. And it celebrates you when you nail your paces.

Under the hood, it's a 6-layer AI coaching system with real-time Strava webhook processing, event-driven signal detection, LLM-powered reasoning, and daily workout adaptation. 11 months ago I didn't know what any of those words meant.

We've recently onboarded our first beta users, so there are plenty of bugs and great feedback to work through — alongside continuing to build the core features that bring Vici to its ultimate vision. Elite coaching for every runner. For free.


The parallel.

What struck me most through this process is how much building a product mirrors training to break 2:30 in the marathon.

The daily commitment. The plateaus where nothing seems to be working. The breakthroughs that only come after weeks of grinding. The days where you don't feel like it but show up anyway. Feeling completely spent after a 14-hour day of building, the same way I would after a 24-mile long run.

You don't notice the growth day to day. But one day you look back and realize you're a completely different builder — the same way one day you realize you're a completely different runner.


The barrier to building is dropping fast. The tools that exist today are genuinely transformative. But they're a force multiplier, not a shortcut. You still need domain expertise, taste, and the willingness to grind through the hard parts.

If you're someone with deep knowledge or passion in a domain and an idea for something you wish existed — the tools are here now. You can build it. It will take far more work and persistence than you think, but it will also take far less time than you would have imagined just 6 months ago.


We're continuing to expand the Vici beta. If you're a runner with an iPhone, a Strava account, and something you're training for, I'd love for you to try it.

Drop a comment or DM me, and I'll send you an invite.

Vici / vici.run