All work
Project07

Movie Index App

A TMDB movie browser with debounced search and Appwrite-powered trends.

Visit website
DisciplineReact frontend
Year2025
RoleReact developer
SectorEntertainment · Frontend
Movie Index App product interface screenshotMOVIE INDEX APP· HERO · 16:9
Overview

Focused React 19 + Vite movie-discovery app. Users can browse popular movies, search TMDB, inspect poster cards with rating/language/year metadata, and see a trending strip derived from Appwrite search-count analytics.

Solo React project built to get comfortable with React before starting a larger React codebase. I built the Vite app, reusable components, TMDB fetch flow, debounced search, Appwrite search analytics, responsive Tailwind interface, lint setup, and production build path.

Challenge & Approach
The Challenge

What was getting in the way.

I had a larger React project coming up and wanted to move beyond tutorials into a small but complete app. The challenge was to practice the parts that matter in day-to-day React work: component boundaries, state, effects, API calls, loading/error states, responsive UI, and integrating a lightweight backend service.

The Approach

How I built around it.

I kept the scope intentionally focused: TMDB discover/search endpoints run through one fetch path, `react-use` debounces search by 500ms, Appwrite stores and increments search terms, and the trending rail reads the five highest-count documents. Search owns the controlled input, MovieCard owns movie formatting, Spinner owns loading feedback, and App owns the page-level data state.

Stack — full breakdown
Frontend
Vite 6React 19JavaScriptJSX
Styling
Tailwind CSS v4Custom theme tokensResponsive grid
Data
TMDB v3 APIAppwrite Cloud DatabasesBrowser fetch
UX
react-useuseDebounceReusable movie cardsAnimated spinner
Quality
ESLint 9 flat configVite production build
Selected screens
Previous

CarbWatch

Next

Praktijk InVigo