AI-powered movie and TV show recommendation app that solves the "what should I watch tonight" problem.
Instead of bouncing between Netflix, Google, IMDb, and Reddit to find something good — StreamPick puts everything in one place. Personalized recommendations, multi-source ratings, and an AI agent you can describe a vibe to.
"Something like Breaking Bad but shorter" → StreamPick gives you specific picks with reasons.
- Personalized home feed — recommendations based on selected genres and thumbs up/down rating history
- AI chat agent — conversational AI powered by Claude (Anthropic); describe a mood or vibe and get specific recommendations back
- AI review snippets — Claude generates 3 short review-style snippets per title based on real ratings, genre, and plot data
- Multi-source ratings — IMDb, Rotten Tomatoes, and Metacritic all in one place
- Genre filtering — browse by Action, Comedy, Crime, Horror, Sci-Fi, and more
- Search with filters — search across all titles or filter by Movies only / TV Shows only
- Watchlist — save titles across sessions
- Onboarding flow — genre selection and title preference seeding for new users
- Per-user personalization — Firebase Auth with isolated preferences, watchlist, and rating history per account
| Layer | Technology |
|---|---|
| Framework | React Native + Expo (SDK 54) |
| Language | TypeScript |
| Navigation | Expo Router |
| AI | Claude Haiku API (Anthropic) |
| Movie Data | TMDB API + OMDb API |
| Authentication | Firebase Auth |
| Local Storage | AsyncStorage |
| Build | EAS Build |
| Editor | VS Code |
Two features powered by Claude Haiku (claude-haiku-4-5-20251001):
1. AI Chat Agent (app/(tabs)/chat.tsx)
- Multi-turn conversation history passed with every request
- System prompt engineering to shape recommendation behavior
- Handles vague, vibe-based queries and asks follow-up questions to narrow recommendations
2. AI Review Snippets (app/detail.tsx)
- Structured JSON output — Claude returns a strict array of
{ text, source }objects - Generated per-title based on real IMDb rating, genre, plot, director, and cast data
- Rendered as styled review cards with source attribution
StreamPick/
├── app/
│ ├── (tabs)/
│ │ ├── index.tsx # Home feed + recommendation engine
│ │ ├── explore.tsx # Watchlist screen
│ │ └── chat.tsx # AI chat agent
│ ├── detail.tsx # Movie/show detail screen
│ ├── onboarding.tsx # New user onboarding flow
│ ├── auth.tsx # Login and signup
│ └── _layout.tsx # Root layout + auth routing
├── firebaseConfig.ts # Firebase initialization
├── assets/
└── app.json
- Clone the repo
- Run
npm install - Create a
.envfile in the root with the following:
EXPO_PUBLIC_CLAUDE_KEY=your_anthropic_api_key
EXPO_PUBLIC_TMDB_TOKEN=your_tmdb_bearer_token
EXPO_PUBLIC_OMDB_KEY=your_omdb_api_key
EXPO_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
EXPO_PUBLIC_FIREBASE_APP_ID=your_app_id
- Run
npx expo start - Press
ifor iOS simulator orafor Android
- TMDB API — movie and TV discovery, genre filtering, search, trending
- OMDb API — IMDb ratings, Rotten Tomatoes, Metacritic scores
- Anthropic Claude API — AI review snippets and conversational recommendations
This product uses the TMDB API but is not endorsed or certified by TMDB.
Currently in final testing. Android build complete via EAS Build. Submitting to Google Play Store.
Anarat Fatima MS Business Analytics — W.P. Carey School of Business, Arizona State University LinkedIn