Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for First Ten Seconds
Inspiration
In a Devpost live review, two judges watched a well-made demo video and marked it down because the product didn't show up until 1:15. "Way too long... I have thousands of these to go through." I went back to six of my recent demo videos. The app showed up at 0:00, 0:00, 0:09, 0:12, 0:13 and 0:16. Each of those times had to be marked frame by frame.
What it does
You give it a demo video and one screenshot of your app. Your browser splits the first three minutes into shots and checks each shot, in order, for whether it is your app or something else: a title card, a slide, or a slide with a small screenshot of your app on it. At the first shot that is your app, the browser steps through every frame back to the previous shot and picks the exact frame.
You get:
- One number, such as "App on screen at 9.27 s", plus the timecode.
- A timeline of shots that is red until the app appears. If it picked the wrong shot, click the right one and the exact frame is found again on your computer, with no model calls.
- Edit files (EDL for Resolve or Premiere, FCP7 XML for Premiere, FCPXML for Resolve or Final Cut) that trim the head of the clip to that frame. Importing them into those editors has not been tested yet, and the site says so.
The video never leaves your browser. For each shot that is checked, only one small 1024 by 288 picture is sent: your screenshot next to one frame.
How I built it
It was planned with Devpost's AI Basics skill pack: scope, PRD and spec are in the repo under devpost/. Before the tool was built, the true first-app frame in each of my past videos was marked frame by frame and the answers were frozen with a checksum, so they couldn't change after I saw results. A second set of four holdout videos was frozen the same way.
Comparing pixels to the screenshot was not enough on its own: my slides use the same colors as my apps. Asking a vision model "is this the app?" also failed; it called a slide with an app screenshot on it "the app". What worked was asking two vision models on Cloudflare Workers AI to describe the frame instead of judging it (how much of it is a software screen, is there a big headline on top) and applying a simple rule to the answers. Llama 4 Scout looks first and Mistral Small 3.1 confirms. A color check in the browser still helps as a first filter: a shot that shares less than half its colors with the screenshot is skipped with no model call. The site caps its own daily use of the free tier.
The first browser version scored worse than my Python prototype. Two bugs caused it: the browser took its snapshots at slightly different moments than the prototype, and it resized and compressed the pictures differently, which was enough to flip some model answers. Fixing both, and adding the color check, brought the browser close to the prototype.
Accuracy (every result, misses included)
A hit means within 1.0 second of the frozen true frame. In the browser: 3 of 4 holdout videos, 5 of 6 dev videos, and no time returned for a video with no app in it. The full table is on the How it works page.
Misses:
- A video that opens on the app with a big caption over it reads as a title card. The tool says 0:05; the truth is 0:00.
- On one holdout video the second model turned down the real app shot, so the answer landed at 0:26 instead of 0:18.
Caveats: eleven videos is a small test. The holdout is no longer unseen: an earlier browser run missed three of the four holdout videos, and those misses were studied to find the two bugs. The color check threshold was also picked after seeing those results.
Challenges
Telling "a slide that contains a screenshot of the app" from "the app". That's the trap my own videos fall into, and it's the reason you give it a screenshot of your app.
What I learned
Writing the scope and spec first meant the true answers were frozen before the tool was built. That is the only reason the accuracy numbers mean anything, and it is also why I can say honestly where they stopped being blind.
What's next
Test the edit files by importing them into Resolve, Premiere and Final Cut. Let it check the whole video, not just the first three minutes. Test on more videos than my own.
Log in or sign up for Devpost to join the conversation.