I tried turning phone videos into a sprint lab.
I wanted useful sprint data without having to buy specialist timing equipment. I already had a camera. Could I turn a running video into something a coach or athlete could actually study?

- Video → data: Sprint analysis from ordinary recordings
- Open source: Code available on GitHub
- Iterated: Failures documented
Photos and actual test resultsSwipe or use the arrows · 8 images
My sprinting videos brought collaborators.I shared my training and the video-analysis idea on a small YouTube channel. People from abroad, including Denmark, reached out to test it with their own clips.Watch Sammy Trains Track
- The problem: Timing my sprint videos by hand was slow, inconsistent and easy to bias.
- The build: I used Python, OpenCV and MediaPipe to extract velocity and stride information from recorded running footage.
- What failed: Automatically finding distance markers broke down under different lighting, reflections and camera angles.
- The workaround: Manually identifying markers gave more useful results than insisting on a fragile automated feature.
- What happened next: Small YouTube training videos brought feedback and test footage from people abroad, including a collaborator in Denmark.
- Why it matters: A project can create opportunities even when its audience is small and the product itself is unfinished.
Read the full build logExpand ↓
Making ordinary video measurable
- I used pose estimation to track points on a runner and image processing to map distances in the frame to real distances. Measured track markers gave the footage a sense of scale.
- I experimented with video recorded at high frame rates, derived velocity from detected positions and tried to extract splits and step-related metrics. The aim was to transform something anybody could record into data that was usually harder to obtain.
Lesson: A familiar input—like a phone video—can be the beginning of a much more capable tool.
Where the promising demo broke down
- Automatic detection of the track markers was fragile when lighting, surface reflections or colors changed. Sometimes manually selecting the markers worked better. Pose detections could also jump between frames, which distorted the very measurements I was trying to compute.
- I compared different tracked body points and tried several ways to clean up noisy information. The system could produce useful outputs in constrained conditions, but a good-looking velocity plot wasn't proof that every measurement would generalize.
Lesson: A clever demo can hide a reliability problem. Test with recordings you didn't carefully stage.
Trying to make it useful for other people
- I explored taking the analysis online and spoke with athletes in different countries about trying it. But getting people to use a tool repeatedly is much harder than getting them interested in the technology.
- The work was valuable even without becoming a successful subscription product: it taught me about computer vision, interfaces, errors in measurement, and the gap between technical output and a genuine user need.
Lesson: Before adding features, ask what decision the user will make differently because the data exists.
The expensive part was often the time, not the camera
- I designed this around video that runners could record with their existing phones. The core software was written in Python with OpenCV and MediaPipe; I later experimented with a JavaScript interface and cloud deployment. Using a phone and open software libraries reduced the barrier to experimenting.
- The trade-off was software time and careful calibration. Track markers could be selected manually when the automatic detector was unreliable; errors in a few landmarks could contaminate the calculated speed and step statistics.
- There is no validated personal spending total in my archived write-up. The honest budget summary is: existing camera/phone, mostly software experiments, physical markers and field tests, with time and iteration as the major investment.
Lesson: Cheap equipment can still demand expensive debugging and validation.
An unexpected international conversation
- Publishing sprint-training and analysis experiments online did not turn my small YouTube channel into the audience I expected. It did, however, help me meet people who were curious about the same measurement problem.
- Athletes and experimenters in countries including Denmark reached out. One person from Denmark discussed methods with me and recorded footage for our experiments. I want to show the actual exchange and frame here once I have identified and approved the original video and image.
- That experience taught me that publicly documenting unfinished work can create surprisingly useful feedback loops, even when the channel does not become a large media business.
Lesson: A small audience can still be the right audience when even one person helps you test an idea.