HOW TO FILM
Follow these steps for the most accurate AI analysis
1
Stand at the Boards — Side View
Position yourself at the boards on the side of the rink, at center ice. You want a clear side profile of your player skating directly across your view — left to right or right to left.
🏒 ➡️ 📱
Player skates across — you film from the side
✅ GOOD
Standing at boards, player skating across your view
❌ BAD
Filming from behind or from the stands above
2
Landscape Mode — Phone Horizontal
Rotate your phone to landscape (horizontal) mode before filming. This gives the AI the widest possible view of your player's full stride cycle.
✅ GOOD
Phone horizontal — landscape mode
❌ BAD
Phone vertical — portrait mode
✓ iPhone: just rotate your phone before hitting record
3
Waist Height — Keep Camera Steady
Hold your phone at approximately waist height. Don't pan or follow your player — let them skate through the frame. The AI needs a steady shot to accurately measure angles.
✅ GOOD
Steady camera, player skates through frame
❌ BAD
Panning/following player, shaky camera
⚠ Do not zoom in — full body must be visible
4
Film 3-5 Full Strides
You need at least 3-5 complete stride cycles for the AI to get accurate measurements. Have your player skate at full speed — not slow. The AI measures natural skating mechanics, not practiced slow motion.
✅ GOOD
Full speed, 3-5 complete strides visible
❌ BAD
Too short, player skating slowly or stopping
✓ 5-10 seconds of video is perfect
5
Good Lighting — No Dark Rinks
Make sure the rink is well lit. Dark or poorly lit rinks confuse the AI skeleton tracking. Most NHL-size rinks are fine. Outdoor rinks at dusk may not work well.
✅ GOOD
Well lit arena, player clearly visible
❌ BAD
Dark rink, player blending into background
📋 Pre-Upload Checklist
Phone is in landscape (horizontal) mode
I am standing at the boards — side view
Camera is steady at waist height
Player skates at full speed through frame
Video is 5-10 seconds long
Rink is well lit — player clearly visible
Full body is visible — not zoomed in
I'm Ready — Upload Video →
''' with open('filming_guide.html', 'w') as f: f.write(html) print('Done!') EOF ``` Now add the route to app.py: ``` python3 << 'EOF' with open('app.py', 'r') as f: a = f.read() a = a.replace( '@app.route("/download_pdf", methods=["POST"])', '@app.route("/filming_guide")\ndef filming_guide():\n return send_file("filming_guide.html")\n\n@app.route("/download_pdf", methods=["POST"])' ) with open('app.py', 'w') as f: f.write(a) print('Done!') EOF ``` Now add a "How to Film" link to the main upload page: ``` python3 << 'EOF' with open('index.html', 'r') as f: content = f.read() old = '\n