Inspiration

I grew up in Spain. I later played here in the States at a level that could have been Division I, and I never knew that path existed. Nobody told me. I also knew players who were not as good as I was, but who had a contact inside an academy from a young age. That one introduction took them to places I never got a look at.

Talent was not the difference. Access was. A kid with no scout, no agent, and no money never even learns who to write to.

What it does

SecondLook is that missing introduction.

A player uploads up to six clips from a phone and clicks themselves once in each clip. The app tracks them, counts what the footage actually shows, and gives a straight read of how that film looks: the actions, how strong the evidence is, and an honest estimate of level. If the clip is too thin to support the estimate, it stays off the email.

They enter a position, a graduation year, a state, and the league they really play in. SecondLook lists the Division I and Division II programs in that state and sorts them into good fit, possible, and reach. They name the goal. If they already play at a level those coaches recruit from, the app reads the coach’s name, title, and email on the school’s own page and writes the email for them: a stats table from the clips, and two sentences that can only use those numbers. The reply comes back to the player.

If the school is a reach, it does not send that email. It writes a short plan for getting there: a local coach or volunteer, a club to ask about fee help, and a better way to film the next match.

How we built it

I built it in Python. FFmpeg handles the video. A computer-vision model finds the players and the ball and keeps the selected player tracked through the clip. Claude writes the profile, the coach email, and the plan for a reach school. Apify reads the public lists of college programs and each program’s coaches page, and a coach is kept only when the name, title, and email are printed there. Convex holds the review, so every number stays tied to the exact moment in the video. The site is Next.js.

Challenges we ran into

Computer vision was the hard engineering problem. A broadcast angle and a parent’s phone on the sideline are not the same video, and the tracker has to stay on the right kid.

The other challenge was the team. We started as four people with too many ideas, and we agreed on one. On Saturday one teammate left, and the other two left with them. I could give up, spend the weekend on an idea I did not believe in, or build the thing I actually cared about. I chose this.

After that, the limit was time. About twelve hours only works if you build the path a player walks and leave everything else out.

Accomplishments that we're proud of

The whole loop exists. Upload, click yourself, get an honest read, email the coaches who fit, and get a plan for the goal you are not ready for yet. I built that alone, in about twelve hours, on an idea I would not drop.

The conversations mattered as much as the code. Scouts, and talented players who had to give up the sport, recognized the problem immediately. They had lived the part where the film exists and the introduction never does.

What we learned

I learned a stack I did not know a day earlier: computer vision, Claude, Apify, and Convex, tied together in Python.

I also learned that the work gets real when the list gets short. One player, one set of clips, one true email. That was the priority, and it was enough.

What's next for SecondLookAI

Soccer has to work on the footage kids actually have. Shaky phones, bad light, a camera too far from the field. That is the film that never reaches a scout, and it is the film this has to read.

The outreach has to last longer than one email. As a player adds matches, the agents that write their network should update the story and keep reaching the people who can help the next step.

Once that is solid in soccer, the same path fits basketball, baseball, and American football. Any sport where a talented kid stays invisible unless someone with money already knows a coach.

Built With

Share this project:

Updates

Submission history