March was… a month. A few things that happened that happened in March:

Ricky and I are building a new company— more on that soon, but I wanted to share a few small projects I worked on this month and reflect on them a bit!

RunLette: Runner’s Roulette

On Tuesday, March 24th, a silly idea 💡popped into my head 💆: ChatRoulette for runners to be able to chat with another runner running at the same time during shelter-in-place because we all miss being able to run together. Thus, RunLette, or Runner’s Roulette, was born. Caveat: 🙏 BE AWARE OF YOUR SURROUNDINGS.

I had been writing code using the Twilio API for another project that Ricky and I were working on, so I was familiar with how to get started quickly with Twilio for RunLette. Within minutes, I bought a number (706-RUN4RUN) and hooked it up to Twilio Studio to get a working prototype without writing a single line of code. My friends Christine and Shant and I tested this out on our run the next morning:

The first ever RunLette

We were able to run “together”— Christine and I running in different parts of San Francisco and Shant running in Burbank! I hadn’t really tried to talk on the phone with other runners while running before, so I mainly wanted to test:

  1. Call audio quality, including how bad our breathing and the background noise was: We were all using headphones and sometimes muted when the other two people were talking.
  2. How easy it’d be to be able to be on a call while paying attention to our surroundings and practicing social distancing: Being on a call was likely better for this than listening to music and zoning out!
  3. How close it felt to actually running NEXT TO people: Def not quite the same, but was really enjoyable! Both Christine and Shant said it made the run fly by!

From that initial test run (literally), it was actually BETTER than a real group run for me for a few reasons:

  1. Normally you can only run two-wide at most on any path/sidewalk, so if you try to have a 3-way conversation, it is usually really hard for the person behind to hear. Not to mention trying to have a conversation on single-track normally!
  2. For me, I actually liked being able to take in the scenery instead of having a big group of people. While I enjoy group runs, my focus shifts mostly to the people and I usually won’t pay much, if any attention to the scenery. The phone also removes the weird dilemma of trying to look at someone while they’re speaking and trying to kind of sort of make eye contact without either or both of you ending up in the bushes or a ditch.
  3. It allows for interaction that’s not possible if you’re running different paces like we all were, or in different cities even.

The main drawback that I could see was just audio quality, and of course, being able to get people to run at the same time in different places to actually create opportunities for RunLettes!

After posting about RunLette on Strava and Instagram, several running clubs reached out and were interested in potentially using it to keep their members connected and “running together”. Using multiple Twilio call queues and different call-in numbers, we could set up a system where we give preference to connecting members of a run club, and if nobody’s available, connect to them a random runner.

Using the Twilio Flask quickstart project, I was able to get a fully working version that supported this use case in just over 100 lines of python code! Check out the quick landing page for RunLette we whipped up. In terms of what I could have done better, I got busy working on other projects after getting this out there, so I haven’t had a chance to really talk to users and get the word out. Stay tuned for more and text 706-RUN4RUN for more info! This was pretty fun to work on— RunLette is an “app” with no download required, which instantly makes it work on both iOS and Android 🤣 Also note that your number is never shared with the other party!


Like I’m sure many of you’ve been experiencing, I’ve had a few sleepless nights given all the uncertainty and anxiety in the world. For one of these sleepless nights, I couldn’t get this idea out of my head, so I wrote up a suuuuper long Google Doc and shared it with 4 or 5 friends and received the feedback that it was way too long and convoluted. It was fun to see all the Instagram pushup and other fitness challenges being virally passed around like email chain letters or Facebook posts. I wanted a challenge where everyone challenged themselves to something with personal meaning, whether fitness or cooking or performance-related that gave people something to work on and work towards during shelter in place. Moreover, I wanted the challenge to be tied to a cause: donate, support, or raise awareness for a local business or non-profit. For all the runners I know, even though we’re super fortunate in the Bay Area to still be able to run outside solo or while practicing social distancing, I know that not having races on the calendar and not being able to meet up with friends has really affected most people’s motivation to run, so I was looking for some kind of personal record or time trial that was meaningful to me. I chose to donate the money I would have spent on a few upcoming races to Back on My Feet, a non-profit that means a lot to me that combats homelessness through the power of running and community. I then challenged myself to beat my own personal best on a Lake Merced loop, which has been the setting of many fond race memories.

Anyway, I put it out there:

View this post on Instagram

Here goes nothing! Couldn’t sleep a few nights ago & couldn’t get this idea out of my head, so just throwing it out there! #143Challenge 143 = slang for "I love you" 1️⃣ Business/non-profit you 🧡 + 1 personal #SIP appro challenge 4️⃣ Favorite photo memories or stories about the business/non-profit 3️⃣ Nominate 3 friends to spread the love to —— Swipe right for a quick video explanation and my photos/nominees! 1️⃣ 💙@backonmyfeet (see their profile for more info) With the Stow Lake 5k race we were supposed to run this weekend canceled and most races canceled for a while, I challenged myself to set a PR at Lake Merced & am donating the 💵 I would have spent on races that I hadn’t signed up for yet to my friend @sara_broyles’ BoMF campaign 4️⃣ great @backonmyfeet memories 1) 2018 Great Santa🎅🏽 race 2) @sanfranciscohalfmarathon 3) Track workout w/ @impalaracing training for the Stow Lake 5K that would have been this weekend 4) 🎄 party 2019! 3️⃣ I challenge @rickyyean to make beef noodle soup and @jesssicarrr make you tiao (Chinese 🍩) so we all appreciate our favorite restaurants more. @moomonkey800 let’s see that local brewery blind taste test! Spread love 💚 not the virus 🦠 #StayHealthyStayMotivated #supportlocalbusinesses

A post shared by David Tran (@dtran) on

I’m happy to report that I beat my personal best at the lake by 2 seconds! And more importantly, I made an additional donation to Back on My Feet to put my friend Sara’s fundraiser over the $2,000 mark! And a few amazing people took on the challenge. If anyone has any suggestions for how to make this more grok-able, I’d love feedback! In the meantime, I’m finding a few more shelter-in-place appropriate ways to challenge myself while supporting local businesses.

Virtual Bay Area Fitness Directory

It’s been awesome to see so many existing community-based fitness workouts, classes and races go virtual! Not only are these virtual classes and hangouts a great way for us members of the community to stay connected, engaged, and motivated, but for many instructors, studios, and shops, it’s a way to try to keep their business going at least to some degree. I had missed several live events on Zoom, Instagram live, and Facebook Live because I saw the announcement post AFTER the event, so I just started collecting a list of them in a google sheet and decided to share it:

I’ll leave up to others who have created much better-looking sites for supporting local studios and restaurants— especially restaurants. My main takeaway here though was that sometimes the best site you can throw up isn’t a site at all— it might be a google sheet, if that gets the job done!