Case Study
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.
Gemini Pro powers conversational recommendations with semantic matching across the catalog.
Redis reduces repeated TMDB requests and improves responsiveness for high-frequency queries.
SQLAlchemy 2.0 models + Alembic migrations keep schema changes explicit and production-safe.
JWT refresh token rotation via Redis enables revocable, safer long-lived sessions.
Stack
FastAPI · PostgreSQL · Redis · SQLAlchemy 2.0 · Gemini Pro · Docker Compose · Next.js · Alembic · PyJWT
Architecture
Backend deployed with Docker Compose on DigitalOcean, frontend on Vercel, API docs exposed through Swagger.
My Role
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
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
- 01Check Redis before every catalog lookup
- 02Serve cache hits immediately
- 03On miss, fetch from TMDB and write back with TTL
- 04Reuse cached payloads for repeated queries
Lower external dependency load, more stable response behavior, and better user-perceived speed.
Explore CineScope