CineScope
Full-stack movie platform with Gemini-powered recommendations, Redis caching, and versioned FastAPI services.

The Problem
Movie discovery is fragmented across search, reviews, and watchlists. Most experiences are either generic or limited to keyword matching.
The Solution
CineScope combines catalog discovery, semantic recommendations, watchlist workflows, and session security in one backend-first platform.
Conversational Discovery
Gemini Pro powers conversational recommendations with semantic matching across the catalog.
Caching First
Redis reduces repeated TMDB requests and improves responsiveness for high-frequency queries.
Versioned Data Layer
SQLAlchemy 2.0 models + Alembic migrations keep schema changes explicit and production-safe.
Secure Sessions
JWT refresh token rotation via Redis enables revocable, safer long-lived sessions.
Tech Stack
System Architecture
Deployment: Backend deployed with Docker Compose on DigitalOcean, frontend on Vercel, API docs exposed through Swagger.
My Role & Contributions
- •Designed and built the backend architecture with clean service boundaries, versioned APIs, and migration-first database changes.
- •Integrated conversational recommendations using Gemini Pro and semantic search primitives over the movie catalog.
- •Implemented Redis caching strategy to reduce external dependency pressure and improve repeat-query performance.
- •Built secure auth flows using JWT refresh token rotation and Redis-managed session controls.
- •Containerized deployment workflow to keep local and production environments reproducible and predictable.
Technical Challenge Solved
Challenge: External API limits and repeated calls
Without caching, popular queries repeatedly hit upstream APIs, increasing latency and operational risk during traffic spikes.
Solution: Read-through Redis caching
- Check Redis before every catalog lookup
- Serve cache hits immediately
- On miss, fetch from TMDB and write back with TTL
- Reuse cached payloads for repeated queries
Lower external dependency load, more stable response behavior, and better user-perceived speed.
Explore CineScope
Live in production. Try the demo or read the source code.