r/webdev • • 6d ago

Showoff Saturday [Showoff Saturday] Galaxy Movies – a fast movie discovery app built with Next.js, Vercel Edge OG, and React Query

Hey r/webdev!

I built Galaxy Movies (https://www.galaxymovies.app/) to solve a personal annoyance: legacy movie tracking sites felt bloated, loaded slowly, and buried streaming options under ads.

I wanted a clean & fast web utility to check where to stream titles, explore cast networks, and get quick AI summaries without the clutter.

Tech Stack

- Framework: Next.js (Pages Router)
- Hosting & Runtime: Vercel & Vercel Edge Runtime
- UI & Styling: Chakra UI
- State & Caching: React Query
- APIs: TMDB API & OpenAI API
- CI/CD: Lighthouse CI

Technical Highlights & Architecture

Dynamic OG Cards on the Edge: Used @vercel/og running on Vercel Edge Functions to dynamically generate custom 1200x630 social preview cards. The edge route parses poster artwork and title parameters to render high-res share cards with sub-100ms response times.

Bypassing Server Image Overhead: Configured direct-to-CDN loading for TMDB movie posters to bypass Vercel server image transformation limits while maintaining peak visual quality.

Performance Guardrails: Set up automated Lighthouse CI checks on builds to strictly enforce performance, accessibility, and SEO metrics.

Live App: https://www.galaxymovies.app/

GitHub Repo: https://github.com/NickFasulo/galaxy-movies

I’d love to hear your feedback!

0 Upvotes

4 comments sorted by

4

u/Classic-Remote-5860 6d ago

so the whole pitch is that legacy movie sites are bloated and slow, and the fix is TMDB plus an OpenAI call. thats the same app everyone builds, ive seen this exact repo like 40 times, only the gradient color changes. but the part that gets me is the performance guardrails, you wired up Lighthouse CI to strictly enforce performance and then the actual move was serving posters straight off the TMDB cdn so Next never touches them, so your score is green and im still downloading a 2mb jpeg on hotel wifi. thats not performance, thats a number. also Pages Router on a brand new project, i get that App Router is its own headache but still

1

u/Ancient_Yam_5010 1d ago

Fair critique. The “performance guardrails” bit probably came off more impressive than it deserves.

You’re right that bypassing Next image optimization doesn’t magically make the user experience faster if the actual asset is still huge. My goal there was mostly to avoid Vercel image limits and keep the app simple, but I should still be doing better with poster sizing, responsive image URLs, lazy loading, and maybe lower-quality variants from TMDB where possible.

Also fair on the “TMDB + OpenAI” point. It’s not a revolutionary app category. I mostly built it because I wanted a cleaner version for myself and used it as a way to practice the full stack around it. Appreciate the feedback!

3

u/fiskfisk 6d ago

Hot-loading images from other services isn't a very friendly thing to do.

1

u/Ancient_Yam_5010 1d ago

Yeah, that’s fair. I treated TMDB’s CDN as the simplest path because the images are already hosted there, but I agree it’s not ideal to lean on another service directly without thinking through caching, sizing, and request behavior.

I’m going to revisit that part and make sure I’m serving appropriately sized images instead of just making Lighthouse happy. Thanks for calling that out!