Find where to watch, instantly.
Search any movie or TV show and see exactly which streaming services carry it — in your country.
Watcharoo is a fully static streaming service finder. No backend, no database — just a fast, cinematic-dark React app that calls the TMDB API directly from the browser.
Type in any movie, TV show, or documentary. Watcharoo instantly shows you:
- Which streaming services carry it (Netflix, Prime Video, Disney+, Apple TV+, and more)
- Whether it's available to stream, rent, or buy
- All of this filtered to your country — because availability differs everywhere
Cards show poster, title, year, rating, and media type badge. Click any card to go to its detail page.
| Feature | Detail |
|---|---|
| 🔍 Multi-search | Searches movies and TV shows simultaneously |
| 📺 Where to Watch | Streaming, rent & buy options per country |
| 🌍 Country selector | 34 countries — auto-detected from your IP |
| 🎬 Detail pages | Backdrop, cast, trailers, genres, rating, similar titles |
| 📈 Trending & Popular | Live weekly trending + quality-filtered popular picks |
| 🎨 Dark-only UI | Cinematic dark theme, Inter font, smooth animations |
| ⚡ Fully static | No server — deployable to Vercel or Netlify for free |
| Layer | Technology |
|---|---|
| Framework | React 19 + Vite 7 |
| Language | TypeScript 5.9 |
| Styling | Tailwind CSS 4 + shadcn/ui |
| Routing | wouter |
| Data fetching | TanStack React Query |
| Animations | Framer Motion |
| UI Icons | lucide-react |
| Brand Icons | react-icons/si |
| API | TMDB v3 |
| Package manager | pnpm workspaces |
git clone https://github.com/your-username/watcharoo.git
cd watcharoo
pnpm install- Create a free account at themoviedb.org
- Go to Settings → API → Create → Developer
- Copy your Read Access Token (starts with
eyJ...)
Create a .env file in the project root:
VITE_TMDB_TOKEN=your_read_access_token_here
⚠️ Never commit this file. It's already in.gitignore. The token is baked into the browser bundle at build time — keep this in mind for public deployments.
pnpm --filter @workspace/watcharoo run devOpen http://localhost:<port> — the port is shown in the terminal.
Watcharoo is designed for free static hosting on Vercel.
- Push the repo to GitHub
- Import the project at vercel.com/new
- Set the Root Directory to
artifacts/watcharoo - Add an Environment Variable:
- Name:
VITE_TMDB_TOKEN - Value: your TMDB Read Access Token
- Name:
- Deploy
Vercel will auto-detect Vite and configure the build (vite build) and output directory (dist) correctly.
watcharoo/
├── artifacts/
│ └── watcharoo/ ← Main web app
│ ├── src/
│ │ ├── lib/tmdb.ts ← TMDB API client & types
│ │ ├── pages/ ← Home, Search, MovieDetail, TVDetail
│ │ ├── components/ ← Navbar, Footer, MediaCard, WatchProviders, CountrySelector
│ │ └── hooks/
│ │ └── useCountry.ts ← IP detection + localStorage
│ └── index.html
├── attached_assets/ ← Logos & brand assets
└── pnpm-workspace.yaml
All data comes from the TMDB API. Key endpoints used:
GET /trending/all/week— Trending this weekGET /discover/movie— Quality-filtered popular movies (vote_average ≥ 7,vote_count ≥ 500)GET /discover/tv— Quality-filtered popular TVGET /search/multi— Multi-searchGET /movie/{id}/watch/providers— Streaming availability by countryGET /tv/{id}/watch/providers— Streaming availability by country
This product uses the TMDB API but is not endorsed or certified by TMDB.
All film data is sourced from The Movie Database (TMDB) with permission.
![]()
Made with ❤️ by efenow.xyz

