Galaxy Movies is a movie discovery app I built to make finding something to watch faster and less overwhelming.
I wanted the experience to feel simple. Open the site, browse what is popular, search for something specific, open a movie, and quickly get the information needed to decide whether it is worth watching.
The project started as a frontend application and gradually grew into a larger movie discovery platform with streaming availability, movie and cast pages, AI generated content, and a conversational movie recommendation assistant.
What it does
Users can browse popular, new, upcoming, and genre based movies, search by title, explore movie details, view cast and director information, and check where a movie is available to stream.
Movie pages include information such as release date, runtime, genres, ratings, cast, director, trailers, streaming providers, similar movies, and an AI generated summary.
Galaxy Movies also includes Galaxy Bot, a conversational movie assistant that helps users find something to watch based on things like genre, mood, time constraints, streaming preferences, and group preferences.
The assistant can return actual movies available inside Galaxy Movies rather than only responding with plain text recommendations.
Tech stack
The application is built primarily with JavaScript using Next.js and React.
For the interface, I use Chakra UI, while React Query handles client side fetching and caching.
Movie data comes from the TMDB API, and OpenAI powers the AI recommendation and summary features.
The project is deployed on Vercel and also uses Vercel Edge functionality for dynamically generated social preview images.
Performance
Performance has been an important part of the project.
The homepage server renders the initial set of popular movies so users and search engines receive useful content immediately.
Additional movie results are loaded through infinite scrolling and cached with React Query.
Search input is debounced to avoid unnecessary requests, and API responses use caching where appropriate.
I have also spent time improving image loading, movie data caching, and reducing unnecessary network requests.
Galaxy Bot
One of the more interesting parts of the project has been building the movie assistant.
Users can ask questions such as:
What is a good sci-fi movie for tonight?
What should my wife and I watch if I like action movies and she likes comedies?
What are some recent movies worth watching?
The backend sends the conversation to OpenAI while also providing movie specific context when needed.
When the assistant mentions a movie, Galaxy Movies can resolve that recommendation back to a real TMDB movie and turn it into a link to the movie page.
That makes the assistant part of the application rather than a separate chatbot sitting on top of it.
Streaming availability
Galaxy Movies also checks streaming provider information by region.
The goal is to help answer the question that usually comes immediately after finding a movie:
Where can I actually watch this?
Streaming availability can vary by country and change over time, so the application uses current provider data rather than hard coding availability.
Movie discovery
I have tried to keep the main browsing experience intentionally simple.
The homepage focuses on movie posters, search, categories, and quick discovery rather than filling the screen with a large amount of navigation or promotional content.
From there, individual movie pages provide the deeper information.
The project also includes pages for genres, actors, directors, production companies, and streaming services so users can continue exploring naturally.
Why I built it
The original motivation was pretty simple.
There are a lot of movie databases and streaming services, but finding something to actually watch can still take longer than it should.
I wanted to build something that combines traditional movie browsing with streaming information and conversational recommendations while keeping the interface quick and straightforward.
It has also become a project where I can experiment with Next.js performance, API design, AI features, caching, SEO, responsive interfaces, and product design in a real application.
What I'm working on next
I'm continuing to improve the discovery experience, recommendation quality, performance, and overall usability.
I'm especially interested in feedback around how quickly users can understand the application, find a movie they are interested in, and move from discovery to actually deciding what to watch.
Feedback on the architecture, JavaScript, Next.js implementation, performance, or UX is welcome!