All Startup Ideas

Highlight Reel Generator for High School Athletes

Turn a high-school game film into a 90-second recruiting reel. Jersey-locked, parent-owned, cheaper than a $2k editor.

Recruiting still runs on a two-minute tape. Parents pay $500–$2,000 for a local editor to hand-cut a season. community research's community pull: about 500,000 families in that spend band, and 74% of parents in the Reddit sample said they would use a cheaper automatic reel. r/YouthSports (50k) is full of "does anyone know an editor who won't take six weeks." r/VideoEditing (248k) is the supply side — freelancers who do not want another $150 soccer job.

Built for Small Business Owners, Side Hustlers.

Video-editor software: $1,009.66 million in 2026 to $1,449.55 million by 2035 (4.1% CAGR).

AI video editing: $0.9 billion in 2023 to $4.4 billion by 2033 (17.2%).

Suggested stack: App:, Auth / billing:, Storage:, DB:, Models:, Share:. Weekend scope: about 8 hours.

The Problem

Recruiting still runs on a two-minute tape. Parents pay $500–$2,000 for a local editor to hand-cut a season. community research's community pull: about 500,000 families in that…

The Solution

Upload the game. Get a 90-second reel with the touches that look like recruiting film — not a random "best moments" montage with stock music. $29 a reel or $149 a season in the…

Market Research

Video-editor software: $1,009.66 million in 2026 to $1,449.55 million by 2035 (4.1% CAGR). That is the mature NLE market. AI video editing: $0.9 billion in 2023 to $4.4 billion by…

Competitive Landscape

Magisto (Vimeo) — from $4.99/month. Generic auto-edit. No jersey lock.

Business Model

GPU / API per 90-minute 1080p ingest: budget $1–$3; price the per-game SKU at $9 to stay 3x

Recommended Tech Stack

App: Next.js 15 + a Python worker (Modal or Fly) for the model

AI Prompts to Build This

Copy these build prompts into Claude, Cursor, or your AI coding tool. Create a free account to unlock the full research behind them.

  1. 1. Project Setup

    Build the weekend MVP of "Highlight Reel": a parent uploads a game film, marks the plays that matter and shares a short reel page that plays them in order, with a clean end card. Marking is manual this weekend. This handles a minor's video, so the parent owns everything and links are private.
    
    Stack: Next.js (App Router, TypeScript), Tailwind, Supabase (Postgres, Row Level Security, Auth with email magic link for the parent), Mux for upload and playback. The reel is an ordered playlist of clips that plays back to back. Deploy on Vercel.
    
    Tables (Row Level Security on, a parent reads only their own rows; the share page reads through a server route that checks the token):
    - athletes(id, user_id, display_name, jersey, team_color, grad_year, position, contact_email)
    - games(id, athlete_id, opponent, played_on, mux_asset_id, mux_playback_id, duration_sec)
    - clips(id, game_id, start_sec, end_sec, label, note, selected boolean, position)
    - reels(id, athlete_id, title, share_token, expires_at, clip_order jsonb, created_at)
    
    Screens: /login, /athletes, /games/[id] (the player and the marking tools), /reels/[id] (order and preview), /r/[token] (the public reel).
    Env vars (names only): NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY (server only), MUX_TOKEN_ID, MUX_TOKEN_SECRET.
    
    Do not build: billing, per-game or season pricing, player or ball tracking, automatic clip ranking, a stitched MP4 download, a social feed, other users' accounts.
    Done when: npm run dev starts, you can sign in, and the four tables exist with Row Level Security on.
  2. 2. Core Feature

    Build the one feature that proves Highlight Reel: a parent turns 90 minutes of film into a 90-second reel without an editor.
    1. A parent creates an athlete with a jersey number, team color, graduation year, position and an optional contact email. Collect nothing else about the child.
    2. Upload a game file through Mux direct upload, with a progress bar and a note that large files take a while. Save the asset and playback ids.
    3. The game page plays the film with keyboard marking: press one key to mark the start of a play and another to mark its end. Each mark saves a clip with a label and a note and shows it in a list that jumps to that moment when clicked.
    4. The parent picks the clips to keep and drags them into order. The reel page shows the total length and warns when it is over 120 seconds.
    5. The public reel at /r/[token] plays the selected clips back to back with a short pause between them, using each clip's start and end, then shows an end card with the athlete's name, position, graduation year and contact email if the parent added one.
    6. Make the token unguessable, set the page to noindex, expire the link after 90 days by default and let the parent turn it off at any time.
    7. Add a Delete athlete button that removes the games, clips, reels and the Mux assets.
    Rules: only the parent can see the game film. The public page shows only the selected clips. Never show a child's full name unless the parent typed it for the end card.
    Empty state: with no games, show the upload box and the keys for marking plays.
    Done when: a sample game uploads and plays, marking three plays creates three clips, the public link plays them in order with the end card and works without a login, an expired or disabled link shows a clear message and Delete removes the Mux assets.
  3. 3. Landing Page

    Build a one-page landing site for Highlight Reel, a way for parents to make a recruiting reel from game film.
    Hero: "Turn the whole game into the 90 seconds a coach will watch." Sub: "Mark the plays, put them in order and share a private reel page with a clean end card." One button: Join the waitlist.
    Sections: a sample reel page with its end card, how it works in four steps (add your athlete, upload the game, mark the plays, share the reel), a privacy block (parents own everything, links are private and expire, one tap deletes it all) and an FAQ on file sizes, what is coming next (automatic play finding) and who can see a reel.
    Waitlist: store the email in a waitlist table in Supabase. No other service.
    Style: Geist, a near-black background, one electric blue accent, real game stills and no stock athletes.
    Done when: the page renders on a phone and a submitted email appears in the waitlist table.
  4. 4. Branding Package

    Use a design or image tool for this one. A coding agent cannot draw a logo.
    Brand for Highlight Reel: pick a short working name, then design a wordmark and an icon that suggest a play button cut like a jersey number.
    Colors: near-black, off-white and one electric blue. Type: Geist, with tabular numbers for jersey numbers and years.
    Deliverables: wordmark, icon, an end card layout (name, position, graduation year, contact), a clip chip style, and one launch graphic.
    Done when: each deliverable is saved in one folder and the end card is readable in black and white.