Inspiration
We were inspired by the gap between elite athletes and everyday joggers. Professional runners have access to expensive gait-analysis labs and "force-plate" treadmills that cost thousands of dollars, while the rest of us are left guessing why our shins hurt after three miles. We believe everyone deserves a personal coach who can see exactly how they move.
What it does
Stride uses a high-frequency Modulino sensor (accelerometer + gyroscope) strapped to the runner's shoe to capture the micro-mechanics of every stride. The app processes this raw data into four user-friendly insights:
- Step Rhythm (Cadence): Uses peak-detection algorithms to help you maintain an efficient "metronome" rhythm, no matter your pace, reducing stress on your knees.
- Landing Zone (Foot Strike): Uses sensor fusion to detect whether you are a heel, midfoot, or forefoot striker, steering you toward a more efficient, injury-resistant form.
- Ground Spring (Contact Time): Measures the milliseconds your foot spends on the pavement. We help you turn "heavy" steps into light, athletic springs.
- Landing Softness (Impact Shock): Calculates the G-force of every strike using the runner’s body metrics to ensure you aren't absorbing more shock than their joints can handle.
The app features a Live Dashboard with color-coded "Safety Zones," giving runners instant visual and audio feedback so they can correct their form mid-run and prevent injuries before they happen.
How we built it

We strapped the Modulino Movement IMU sensor to the lace area of a running shoe to collect real-time movement data. Using the Arduino Uno Q’s MPU running Linux, we hosted a FastAPI server that pulls data from the MCU via the Bridge. This backend performs personalized heuristic analysis on the raw sensor data and streams the metrics directly to the user’s phone via a WebSocket.
For the frontend, we built a responsive mobile interface featuring an interactive Mapbox GL map to track the runner's route, paired with dynamic charting to visualize the live sensor data. We used the MUI and swiper.js framework for components, and also integrated the ElevenLabs API to provide real-time, audible feedback, mimicking a real personal coach running right beside you.
Challenges we ran into
- Tuning our heuristic algorithms to accurately and consistently classify foot strike types (heel, midfoot, forefoot).
- Calibrating sensors to account for variability in how a user might install or orient the device on their shoe.
- Integrating mobile GPS tracking and route mapping seamlessly within the browser while maintaining websocket connection stability.
- Bridging communication across the entire stack: from the I2C sensors to the MCU, across the Bridge to the Linux MPU, and finally over websockets to the mobile frontend.
Accomplishments that we're proud of
- Successfully translating countless raw data points into reliable, accurate running mechanics using our own tuned heuristic algorithms.
- Designing and 3D printing a custom, comfortable housing to securely mount the Arduino and Modulino sensor to the foot.
- Building an edge-device data pipeline that processes insights locally rather than relying on a cloud backend.
What We Learned
- How to filter out "noise" in raw IMU data and translate complex physical movements into easy-to-understand, actionable metrics for everyday users.
- How to leverage a dual-chip architecture (MCU/MPU) to handle simultaneous hardware polling and web-server hosting.
What’s Next for Stride
- Edge AI Integration: Fully utilizing the Uno Q’s MPU to deploy lightweight, custom machine learning models directly on the board for even deeper biomechanical analysis without cloud latency.
- Multi-Sensor Expansion: Adding a synchronized sensor to the other foot for symmetrical analysis, or to the lower back to track upper body posture and rotation.
- Ease of Use: Incorporating a battery inside the Arduino unit to remove the need for an external battery pack.
Qualcomm Track: Innovating with the Arduino Uno Q
We built Stride specifically to leverage the dual-chip architecture of the Arduino Uno Q Board. By utilizing the Bridge, we successfully decoupled our low-level hardware polling from our high-level data processing. The MCU handles the rapid, real-time polling of the Modulino IMU, piping that data seamlessly to the MPU.
Because the MPU runs a full Debian Linux environment, we didn't have to rely on a tethered laptop or cloud server for computation. We hosted a standalone FastAPI server directly on the Uno Q that dynamically processes the heuristics and streams the filtered metrics to a mobile device via websockets. By establishing this data pipeline directly on a Linux-based edge device, Stride’s architecture is perfectly positioned to seamlessly integrate on-device Machine Learning models for deeper analysis.
Built With
- arduino
- fastapi
- modulino
- mui
- next.js
- python
- react
- tailwindcss
- typescript

Log in or sign up for Devpost to join the conversation.