At the intersection of human motion and artificial intelligence lies a new frontier of understanding. Willow Cortex is a thoughtfully designed system for this deep analysis, built on a foundation of safety, transparency, and unparalleled performance.
How It Works: A Steerable, Developer-First Process
Our process is designed for precision and control. It begins when a partner's application makes a secure request to a serverless function, receiving a temporary signed URL in return. The video file is then transferred directly to a cloud storage bucket, accompanied by a metadata packet. This metadata is key, acting as a clear instruction set that allows you to trigger our full processing pipeline, select individual analysis modules a la carte, or define a custom combination of services. This ensures you have steerable, granular control over the analysis from the very first step. The final output of every service is delivered as a single, validated JSON payload for seamless integration.
The Engine: Unparalleled Performance at Scale
The engine for this analysis is a 100% serverless environment. When your video is received, our asynchronous functions spin up instantly and operate in parallel, creating what is by far the most performant solution in the world for this level of analysis. This architecture ensures massive scalability and efficiency, processing complex tasks with incredible speed. The resulting data - a rich tapestry of biomechanics, kinetics, and contextual metrics - is organized within a sophisticated backend of schemaless NoSQL databases, vector databases for semantic understanding of motion, and knowledge graphs to map complex relationships.
From Analysis to Exploration: Unlocking New Potential
Decoding motion is only the beginning. Our platform allows you to move beyond analysis and into exploration. By applying an ensemble of probabilistic models we can simulate the athletic motions we've decoded. For instance, we can analyze every swing from a batting cage session and simulate thousands of potential outcomes to generate predictive statistics. This same principled approach can be used to model the probability of future injury across different time periods, providing a more holistic understanding of an athlete's physical load and risk. It's about using AI not just to see what happened, but to responsibly explore what could happen. This capability unlocks a vast spectrum of applications, empowering everything from next-generation remote coaching and data-driven broadcast media to immersive fan gamification, objective talent scouting, injury prevention analytics, and metaverse-ready motion capture.
Contact us in the chat or submit a ticket to learn more.
Master Service Catalog for Metadata-Triggered Analysis
I. Foundational Triage & Contextual Analysis
These services provide the initial, high-level understanding of the video content.
video_quality_assessment: Determines if the video is of usable quality (lighting, obstructions, clarity) for analysis.
sport_detection: Identifies the primary sport being played (e.g., "golf", "baseball", "softball", "tennis", etc.).
video_structure_analysis: Classifies the video's format (e.g., "single_rep", "multi_rep_session", "gameplay_footage", "highlight_reel").
action_segmentation: Locates and time-stamps every primary athletic action (swing, pitch, throw) within the video, creating a list of analyzable instances.
camera_angle_detection: Identifies the camera's perspective (e.g., "Down-the-Line", "Face-On", "Side View", "Catcher View") for a given action.
phase_visibility_assessment: Based on the camera angle, determines which specific biomechanical phases (e.g., "Takeaway", "Arm Action") are clearly visible and which are obscured.
environment_detection: Analyzes the scene to identify the setting (e.g., "indoor_tunnel", "outdoor_range", "on_field", "backyard").
equipment_detection_and_branding: Identifies key equipment (bats, clubs, gloves, shoes) and, where possible, their brands.
apparel_detection_and_branding: Identifies apparel (hats, shirts, pants) and their brands.
II. Core Vision & Raw Data Extraction
These services extract the fundamental, frame-by-frame data that powers all subsequent analysis.
dense_pose_estimation_2d: Extracts the (x, y) coordinates for all major body joints for every frame of a segmented action.
dense_pose_estimation_3d_inferred: Infers a z-coordinate for each joint to create a 3D representation of the athlete's pose.
end_effector_tracking: Provides a dedicated time-series of coordinates for the primary implement's point of interest (club head, bat barrel, throwing hand).
ball_flight_tracking_2d: Tracks the ball's trajectory from impact or release until it leaves the frame.
video_fps_estimation: Provides an estimated frames-per-second count for the source video.
audio_event_detection: Pinpoints timestamps of key audio events, such as bat-on-ball or club-on-ball impact.
speech_to_text_transcription: Transcribes any spoken words from the audio track.
optical_character_recognition_ocr: Detects and transcribes any text or numbers visible in the video, such as from on-screen graphics or launch monitors.
event_counting: Counts the total number of occurrences of a specified event (e.g., "number of pitches thrown").
III. Biomechanical & Physics Engine
This is the core scientific analysis layer, turning raw coordinates into actionable biomechanical insights.
A. Path & Trajectory Analysis (Topology)
path_smoothness_analysis_jerk: Calculates the "jerk" (rate of change of acceleration) of the end-effector to quantify motion smoothness.
trajectory_efficiency_analysis_curvature: Calculates the curvature of the end-effector's path to identify inefficient loops or movements.
path_planarity_analysis_torsion: Uses torsion calculations to determine how well a swing or throw stays on a single plane. (from DaVinci engine)
B. Body Segment Dynamics (Kinematics)
kinematic_sequencing_analysis: Measures the peak angular velocity of each body segment (pelvis, torso, arm, etc.) and their timing to verify an efficient proximal-to-distal "whip" effect.
segmental_angular_velocity_measurement: Provides the peak rotational speed (in deg/s) for individual body segments.
rotational_separation_analysis_x_factor: Calculates the maximum angle of separation between the hips and shoulders, a key source of power.
C. Forces & Power (Kinetics)
estimated_power_output_kw: Synthesizes kinematic data to estimate the peak power output (in kilowatts) of the motion.
ground_reaction_force_estimation_grf: Analyzes vertical movement to estimate the peak force the athlete is generating from the ground.
D. Computational Engine Analysis
motion_rhythm_and_tempo_analysis: Uses Fast Fourier Transform (FFT) on motion data to analyze the dominant tempo and rhythmic consistency of a movement. (from DaVinci engine)
motion_compactness_analysis: Calculates the 3D convex hull volume of the entire motion to quantify its spatial efficiency and compactness. (from DaVinci engine)
inter_rep_stability_analysis: Compares the motion paths of multiple repetitions to generate a "repeatability score," quantifying the athlete's consistency. (from DaVinci engine)
E. Corrective Analysis
inverse_kinematics_corrective_delta: "Works backward" from a theoretically perfect impact/release point to calculate the specific, quantitative changes in joint angles (e.g., "+10 deg hip rotation") needed to achieve it.
IV. Performance Metrics & Outcome Analysis
These services provide the high-level, sport-specific Key Performance Indicators.
action_outcome_analysis: Determines the result of the action (e.g., "ball in play", "fair ball", "swing and miss", "shot shape: draw").
hitting_metrics_estimation: Provides estimated values for metrics like Exit Velocity, Launch Angle, Bat Speed, Attack Angle, etc.
pitching_metrics_estimation: Provides estimated values for metrics like Pitch Velocity, Spin Rate, Release Height, Extension, Arm Slot, etc.
golf_swing_metrics_estimation: Provides estimated values for metrics like Club Head Speed, Ball Speed, Smash Factor, Spin Rate, Carry Distance, etc.
sport_specific_kpi_suite: A trigger to run the full, relevant list of metrics for the detected sport (combines the three services above).
V. Predictive & Simulation Engine
These advanced services use the analyzed data to forecast future outcomes and risks.
statistical_outcome_simulation: Takes the data from a single session (e.g., batting practice) and uses an ensemble of probabilistic models to simulate a full season of statistics (e.g., batting average, on-base percentage).
injury_risk_modeling: Analyzes kinetic and kinematic data to calculate joint load and stress, modeling the cumulative risk of injury over a session, week, or season.
fatigue_detection_analysis: Monitors biomechanical markers over a session to detect degradation in mechanics, indicating the onset of fatigue.
performance_forecasting: Uses time-series analysis on an athlete's historical data to forecast potential improvements or regressions in key performance metrics.
VI. Content & Report Generation
These services package the analytical data into user-facing products.
generative_coaching_report: Synthesizes all data into a complete, AI-written coaching report with ratings, explanations, and advice.
pro_player_comparison: Compares the user's key biomechanical signatures to those of a professional athlete.
corrective_drill_recommendation: Suggests specific training drills based on the identified mechanical flaws.
automated_video_clipping_service: Generates a JSON map of start/end times for every biomechanical phase (Takeaway, Downswing, etc.) for use in a video editor.
automated_highlight_reel_generation: Identifies the reps with the highest performance metrics (e.g., top exit velocity) and generates clips.
avatar_motion_mapping_3d: Exports the dense 3D pose data in a format (e.g., FBX, BVH) suitable for animating a 3D character or avatar in a game engine.
virtual_shot_overlay: Creates a data overlay for the video, showing the ball's flight path, key metrics, and other graphics.
grounded_analysis_chat_session: (New) Enables an interactive chat experience where a user can ask natural language questions about their results. The AI is grounded exclusively in the data from the specific analysisId, allowing it to provide contextually-aware answers (e.g., "Explain my kinematic sequence in more detail" or "Why was my power score lower on the third rep?").
VII. Longitudinal & Profile Management
(These services enable the tracking of performance and biomechanics over time for a specific individual or cohort.)
progress_tracking_suite: A comprehensive service for managing and analyzing an athlete's journey.
Action: create_progress_tracking_profile: Initializes a new longitudinal profile for an athlete or group. This service takes a profileName (e.g., "John Doe - 2025 Season") and returns a unique profileId.
Action: add_analysis_to_progress_profile: Appends a completed analysisId to a specified profileId, linking that session's data to the athlete or cohort's historical record.
Action: retrieve_progress_profile_data: Retrieves the complete, time-series dataset for a given profileId. This returns all associated analyses, allowing partners to plot key biomechanical signatures and performance metrics over time to visualize trends, improvements, or regressions.