StreetRunner: Outside

A location-enabled outdoor action game that turns a real-world run into a 5-lane obstacle course, powered by GPS, accelerometer, and device tilt to get kids moving outside.

Category: Mobile Game

Tech Stack: Expo SDK 54, React Native, TypeScript, React Navigation 7, Reanimated, Zustand, expo-location, expo-sensors, Express, Drizzle ORM

What it is

StreetRunner: Outside is a location-enabled outdoor action game that turns a real-world run into a 5-lane obstacle course. Built with React Native + Expo to get kids moving outside, the game uses GPS to measure how far you've actually run, the accelerometer to detect jumps, and device tilt to switch lanes, with on-screen controls as a fallback for indoor or sensor-restricted play.

Why it exists

StreetRunner started as a test of the system. I wanted to see what it actually felt like to build a native app on Expo + React Native, take it all the way through the Apple App Store pipeline (provisioning, TestFlight, review, live release), and, more interestingly, to find out whether the phone's own sensors could be used to make something genuinely active and engaging for kids instead of yet another screens-down experience. So the GPS measures real distance, the accelerometer catches real jumps, and tilting the phone changes lanes. The phone only rewards motion that actually happens in the real world.

From there it generalized: most "exercise apps" for kids are still screens-down. StreetRunner inverts that: the obstacle course only advances when a kid is actually running, jumping, and leaning outside. It also became the foundation for everything that followed: the lessons learned shipping StreetRunner are what made PaddleVibe and then Freeze Baseball go to the store cleanly with very few bugs.

What I built

Back to Aaron Horne Portfolio