Discuss a project

Sport

USA College Sport

Recruiting platform for European athletes aiming at US colleges

Our role
Full-stack development (full rebuild)
Period
2026
Status
Beta
Screens
Website, Player, Coach

Open usacollegesport.com

USA College Sport: Public website: the landing page, in Italian, English and Spanish.

A rebuild of the platform for an agency that has placed European student-athletes in US colleges since 2015. Players build a profile and turn full match videos into a highlight reel. College coaches search players by position, class year, GPA and game film.

Who uses it, and for what

  • A football player in Genoa pastes a YouTube link to a match, tags their best plays and gets the clips back already cut.
  • The player trims, names and orders the clips, and the system renders a highlight reel with a circle on them.
  • A college coach filters players on a clickable pitch by position, class year, height, GPA and level, then adds them to a shortlist.
  • Agency staff follow each athlete through 10 steps: profile, video, contract, English test, ACT/SAT, NCAA eligibility and visa.

How it’s built

  • One Postgres schema serves two apps: the player side and a coach portal on its own domain.
  • Tags go into a queue. A serverless FFmpeg worker cuts the clips, draws the circle marker and joins them into the reel.
  • Each sport has its own profile questions, positions and play types, and coach search filters on them.
  • Firebase session cookies with role checks, signed media streaming from private storage, and a script that keeps the three languages in sync.

Stack

  • Nuxt 4 (Vue 3, TypeScript)
  • Tailwind CSS 4
  • PostgreSQL (Neon) + Drizzle ORM
  • Firebase Auth + App Hosting
  • Google Cloud Storage
  • @nuxtjs/i18n + Nuxt Content
  • Python + FFmpeg video runner (Modal)
  • pnpm monorepo

In numbers

  • 2 Nuxt apps in one pnpm monorepo: the public site with the player portal, and a separate coach portal (Recruit11)
  • 3 user roles: player, coach, admin
  • About 250 Vue components and pages, about 60 server API routes
  • 23 Postgres tables, 15 Drizzle migrations
  • Public site and portal in 3 languages (Italian, English, Spanish), 76 blog posts
  • 10-step player journey from profile to visa, with 131 taggable action types across 19 sports
  • A serverless FFmpeg runner cuts tagged clips, draws the circle on the player and builds the highlight reel

Website

USA College Sport, Website: Public website: the landing page, in Italian, English and Spanish.
Public website: the landing page, in Italian, English and Spanish.
USA College Sport, Website: How it works page: the nine steps from registration to the first season at a US college.
How it works page: the nine steps from registration to the first season at a US college.

Player

USA College Sport, Player: Player portal: trim, name and order the clips cut from your matches.
Player portal: trim, name and order the clips cut from your matches.
USA College Sport, Player: The same clip editor on a phone, with progress through the 10-step journey at the top.
The same clip editor on a phone, with progress through the 10-step journey at the top.

Coach

USA College Sport, Coach: Coach portal: filter players by position on a clickable pitch, then by class, GPA and film.
Coach portal: filter players by position on a clickable pitch, then by class, GPA and film.
USA College Sport, Coach: A player's profile as coaches see it: key stats, game film and clips grouped by action.
A player's profile as coaches see it: key stats, game film and clips grouped by action.

All screens show invented demo data.

Prefer to write freely?

Tell us what you want to build.

We’re taking on new work: MVPs, rebuilds, AI integrations, or a senior engineer to join your team for a while. A few lines about the idea are enough to start.

Write to us