Inspiration

The challenge was "Flip the Script": take something everyone assumes has to work one way and reverse it. We picked the biggest assumption on the internet — that video is supply-driven. On YouTube, 500 hours of footage go up every minute, all of it creators guessing what people want, and viewers scrolling until a guess lands. We asked: what if the viewer uploaded first?

TubeYou reverses the direction of upload. You post the video you want to see. Creators bid to make it. The feed is made of wishes, not videos.

What it does

  • Post a wish. Describe the video you want in a sentence ("show me the queue at the Meadows coffee stand right now", "explain the warning light on a 2004 Corsa, no fluff").
  • Don't ask twice. Before your wish is posted, TubeYou embeds it and checks semantically for open wishes and already-answered videos that mean the same thing. If one matches, you like that instead. Duplicates collapse into demand.
  • Like to back. Liking a wish backs it, ranks it, and subscribes you: you're notified when bidding closes, a creator is chosen, and the video lands.
  • Creators bid, freelance-style. Each creator has a profile, tags, location, rating and reviews. They bid with a pitch and an ETA; the asker picks from a shortlist ranked by rating and fit.
  • One canonical answer. The accepted video becomes the video for that question, with a "similar videos" strip underneath drawn from the same embedding index.
  • Reputation that moves. Reviews update the creator's rating with recent work weighted more than old work, so new creators can rise and nobody coasts.

The UI is deliberately a one-to-one echo of the video site everyone already uses — same chrome, same grid, same watch page — with one thing wrong in every place: the thumbnail is a sentence, the upload button posts a wish, the channel is a freelancer, the comments are bids.

How we built it

Front end Next.js 15 (App Router), React 18, TypeScript, deployed on Vercel. Hand-written CSS from our Figma design (no component library), responsive down to phone width, installable as a PWA. Live pages without websockets: open pages poll the API every few seconds, so offers, likes and a delivered video appear without a refresh. Posting flow in five steps: title, semantic duplicate check, thumbnail (generate or upload), deadline on a calendar, confirm. Thumbnails use three templates drawn in CSS over a generated picture.

Back end FastAPI with SQLAlchemy on Postgres, deployed on Render. JWT auth with email sign-up and sign-in. Row locks on wishes and offers so double taps and concurrent likes cannot double count. Offer likes decide the outcome: closing a wish shortlists the five most liked offers, the asker picks one, and a deadline that passes picks the most liked creator automatically. Images (uploads and generated previews) are stored in Postgres rather than on disk, because the free web tier wipes its disk on every deploy.

AI and search Semantic similarity with sentence embeddings (all-MiniLM-L6-v2 via fastembed, run locally in the API, no external calls). It powers the "someone already asked this" check before posting and the match between a creator's profile and a wish. Claude Haiku (Anthropic API) writes the short thumbnail hook for each wish, extracts search keywords for its picture, and curates the "Similar videos" rail on every wish page, with the embedding ranking as a fallback. Thumbnails without an uploaded photo get a commercially licensed stock photo from Openverse (Flickr and Wikimedia), falling back to an AI-generated image from Pollinations when nothing suitable is found.

Delivery Creators deliver by YouTube link or file upload; the asker rates and reviews it, and the accepted video becomes the wish's canonical answer. Creator rating is an exponentially weighted average, so recent work counts more.

Challenges we ran into

  • Making Thumbnails be properly centered Having thumbnails properly centered on their desginated boxes was hard due to the different sizes and ratios they possessed
  • Thumbnail Generation It proved to be quite hard to build a stable thumbnail generation pipeline

Accomplishments that we're proud of

-Having a working site which viewers can use to wish for the videos they want to see, and creators can bid on, make and deliver, turning each wished content into a tailored video.

What we learned

  • The flip is the product. Every time we drifted towards "YouTube but better" the idea got weaker; every time we pushed the reversal harder (wishes as thumbnails, bids as comments) it got sharper.
  • Marketplaces need supply on day one. Seed data isn't cheating; it's the cold-start plan.
  • Hand the agent a clear product description and a finished design, not a technical to-do list; it made better implementation calls than we would have under time pressure.

What's next for TubeYou

  • Money: a bounty pledged on post and released on acceptance, so demand pays creators directly.
  • Creator radar: push notifications for wishes for videos similar to what the creator has done in the past
  • Automatic selection by rating when an asker doesn't choose, and an AI creator of last resort for wishes nobody bids on.

Built With

Share this project:

Updates

Submission history