The Watchlist
Movie and TV discovery platform with search and recommendations - my first dive into API integration.

Project Overview
The Watchlist came from frustration with existing movie discovery platforms. I wanted something clean, fast, and actually useful for finding what to watch next. This project became my learning ground for API integration, the perfect way to start working with external data. Built with Next.js, the site lets you browse movies and TV shows, search thousands of titles, and get personalized recommendations.
The data fetching feels smooth throughout the experience. Using Axios for API calls, everything loads quickly and handles errors gracefully. The search responds instantly, browsing flows naturally, and the whole experience feels polished. ShadCn components provide the clean look while Tailwind keeps everything responsive and visually consistent.
Tech Stack
Next.js handles the frontend with server-side rendering, making the site fast and SEO-friendly. This was my first real project using Axios for API integration, teaching me about handling asynchronous data and managing loading states properly. Tailwind CSS keeps styling maintainable and responsive - I can iterate on designs quickly without CSS conflicts.
ShadCn components provide UI building blocks that make everything look cohesive and professional. The tech stack focuses on performance and user experience, which matters for content-heavy applications like this.
Personal Growth
The Watchlist was where API integration finally clicked for me. Before this project, external data felt mysterious and complicated. Working with movie APIs, handling loading states, managing errors, and optimizing data flow - everything made sense during this build. I learned about asynchronous JavaScript and creating smooth user experiences when depending on external services.
The project taught me data fetching patterns and caching strategies. When you're loading movie posters and metadata for hundreds of titles, efficient data management and user-friendly loading experiences become essential. Error handling became natural, and I got comfortable managing different data states without confusing users.
Links
Collaborators
Just Me, Myself and I.
Want to get in touch? 
 Or just say Hi?
Drop me a line at rathnayaka3548@gmail.com . If you ever come to Colombo, let's meet up for coffee. Let's work together to bring ideas to life!