Over the past few weeks, I've been spending more time refining Galaxy Movies rather than adding entirely new features.
For anyone who hasn't come across it yet, Galaxy Movies is my movie and TV discovery project. It helps people find titles and check where they're streaming.
A few recent changes have made a noticeable difference to the experience.
Giving the watchlist a better starting point
One thing I wanted to improve was the empty watchlist experience.
Previously, a new user could open the app and immediately be greeted with an empty page. Now the empty state includes a trending section with titles that can be added directly to the watchlist.
The basic idea is to give users something to explore before they've saved anything.
{watchlist.length === 0 ? (
<WatchlistEmptyState>
<TrendingRail
title="Start Here"
onAdd={addToWatchlist}
/>
</WatchlistEmptyState>
) : (
<WatchlistGrid titles={watchlist} />
)}
It's a small change, but it gives people a much better starting point.
Making navigation feel smoother
I added a progress bar for page transitions so there's better feedback when navigating around the app.
I also fixed an issue with streaming provider filters where search results could briefly appear before the provider lookup finished.
The important part is keeping the loading state visible until the provider lookup is complete.
if (isLoadingProviders) {
return <SearchLoadingState />;
}
return (
<MovieGrid movies={filteredMovies} />
);
This prevents users from seeing results that haven't been filtered yet.
Spending more time on the details
I've also been consolidating repeated UI elements into shared components. It's not the most exciting work to show off, but it makes future changes easier and keeps the interface more consistent.
Instead of maintaining separate versions of the same card rail across the app, shared components can handle the common layout.
<CardRail
title="Trending Now"
items={trendingTitles}
renderItem={(title) => (
<MovieCard
key={title.id}
movie={title}
/>
)}
/>
On the SEO side, I revisited the sitemap to focus on pages that are more useful to search engines.
I also added a yearly streaming changes accumulator to preserve arrivals and departures by provider. This will make it possible to build yearly streaming recaps using data collected throughout the year.
What's next?
I'm still working on improving discovery and making Galaxy Movies more useful without adding unnecessary complexity.
Building a product independently means constantly deciding where time is best spent. Sometimes the most useful improvements aren't new features. They're the smaller fixes that make everything work better.
You can check out the latest version - https://www.galaxymovies.app
Source code is available - https://github.com/NickFasulo/galaxy-movies
If you're building a side project too, I'm curious how much of your development time goes toward new features versus improving what already exists.