SwingStudio

Your swing. Captured. Analyzed. Perfected.

The app for iPhone, iPad, and Mac that turns every practice session into a coaching session — automatically.

Scroll

Always recording.
Never miss a swing.

A dual-file AVAssetWriter system maintains a rolling ~60-second capture buffer. When a swing is detected, the clip is automatically extracted—no need to hit record. Just swing. Clip duration is configurable from 3 to 45 seconds. And if auto-detection isn't what you want, a "Save Last Swing" button lets you manually grab the most recent clip on demand.

iPhone films.
iPad coaches.

Connect your iPhone as a camera and iPad as a studio using peer-to-peer connectivity. Asymmetric discovery means each device knows its role instantly. Video streams in real-time; clips transfer automatically.

Your swing,
found automatically.

Vision pose estimation runs at ~15 frames per second, feeding a heuristic energy detection pipeline. When motion energy crosses the threshold, your swing is detected and a clip is extracted—automatically, every time. Choose from swing alerts—an audible chime or a camera flash—so you know it was captured without ever looking at the screen.

Draw on your swing.
See what matters.

Lines, circles, boxes, angle measurements—all in multiple colors with three line thickness options and full undo/redo. Annotations overlay your video so you can mark positions, trace paths, and measure angles frame by frame. When you export, annotations are burned directly into the video frames—your markup travels with the clip.

Two swings. One screen.
Every difference visible.

Load any two clips into a two-up comparison view with independent playback controls. Swap panels with a tap to flip your perspective. Share annotation mode across both panels to mark up differences in real time.

Study the swings
you admire.

Import professional swing videos from your Photos library or Files. Tag them, favorite them, and study them alongside your own clips in the comparison view.

Every session.
Organized. Searchable.

An Instagram-style feed of your practice sessions with filter chips, grid and feed view toggle, and date-grouped organization. Search by tags or notes to surface exactly what you need. Import sessions from Photos or Files to consolidate your entire swing library in one place. Find any swing from any session instantly.

Share your progress.
Annotations included.

Export any clip as a video with your annotations composited directly into the frames. Lines, circles, angles—all burned in, frame by frame. Then share via Messages, AirDrop, or save to your camera roll. Your markup travels with the video.

Tag it. Find it.
Instantly.

Add notes to any session or clip with inline #hashtag support. Tags are extracted automatically, deduplicated, and searchable. Start typing a tag and autocomplete suggests matches from your history. Filter your entire library by any tag in seconds.

240 frames per second.
Every micro-movement.

Capture at up to 240fps for frame-by-frame slow motion of your fastest moves. Choose from 240, 120, or 60fps. Pair with configurable video quality—from balanced 720p to maximum 4K detail—and optional compression that runs in the background without interrupting capture.

iPhone. iPad. Mac.
Your swing, everywhere.

SwingStudio runs natively on iPhone, iPad, and Mac. Capture at the range on your iPhone, review on your iPad courtside, then take your clips home and analyze every frame on the big screen. On Mac, dive deep into offline analysis — annotations, comparisons, and frame-by-frame review on a display built for detail.

Under the Hood

Capture Buffer
60+ seconds
Continuous rolling buffer
Dual-file AVAssetWriter rotation with ~35-second segments. Gap-free recording with automatic segment handoff. Configurable clip duration from 3 to 45 seconds. Manual "Save Last Swing" fallback always available.
Frame Rate
Up to 240fps
High-speed slow motion
Three capture speeds: 240fps for ultra-slow-motion downswing analysis, 120fps for high detail with broader device support, and 60fps as a reliable fallback. Frame rate is prioritized first; quality is the tiebreaker.
Video Quality
720p to 4K
Configurable resolution
Balanced (720p), High (1080p), or Max Detail (4K) capture. Background compression at low, medium, or high levels runs after save without interrupting the capture buffer.
Pose Estimation
~15 fps
Apple Vision body tracking
Vision framework human body pose detection tracking 11 joint groups: wrists, elbows, shoulders, hips, knees, neck, and root. Runs on a background queue at ~15fps to avoid overwhelming the GPU.
Swing Detection
4 algorithms
Heuristic energy detection
v1 and v1.1 for face-on, v1-dtl and v1.1-dtl for down-the-line. Multi-joint confirmation, configurable energy thresholds, 3-second cooldown. Camera angle automatically adjusts which algorithm runs.
Swing Alerts
Sound or Flash
Instant detection feedback
Choose between an audible chime or a camera torch flash when a swing is detected. Know your swing was captured without checking the screen.
Connectivity
Peer-to-peer
Zero-configuration pairing
Multipeer Connectivity with asymmetric discovery — iPhone advertises as camera, iPad browses as studio. No Wi-Fi needed. Real-time JPEG streaming at configurable 1–30fps. Automatic clip transfers with progress tracking.
Annotations
4 tools
Lines, circles, boxes, angles
Six preset colors, three line thickness options. Normalized coordinate system for screen-size independence. Frame-specific or clip-wide placement. Full undo/redo stack. Session-wide annotations visible across all clips.
Export
Composited
Annotations burned into video
Custom AVVideoCompositing renders every annotation onto every frame during export. Trim range applied. Both clip and session annotations included. Share via the system share sheet — Messages, AirDrop, save to camera roll.
Comparison
Two-up
Independent dual playback
Side-by-side on iPad, stacked on iPhone. Fully independent playback per panel — separate rate, scrub, play/pause. Panel swap. Shared annotation mode draws on both. Pinch-to-zoom up to 5x with double-tap reset.
Notes & Tags
#hashtags
Inline tagging with autocomplete
Add notes to sessions or clips. Hashtags are extracted automatically and deduplicated. Autocomplete suggests from your tag history. Search and filter by any tag across your entire library.
Reference Library
Import
Study professional swings
Import from Photos or Files. Add pro name, title, club, and notes. Tag and favorite. Play in the same detail view as your own clips with full annotation support. Load into comparison view.
Session History
Feed + Grid
Filterable practice log
Instagram-style feed or grid layout with animated toggle. Date-grouped sections. Filter chips: All, Pinned, Annotated, Tagged, Notes. Text search by tags, notes, or club name. Import sessions from Photos or Files.
Platform
iOS 17+ / macOS
iPhone, iPad, and Mac
Native on iPhone, iPad, and Mac. Built with @Observable, AsyncStream, and actors. No Combine. Protocol-based dependency injection. All domain models are pure Swift value types. @MainActor on all ViewModels.