Inspiration

When coming up with a project for PantherHacks 2026, I thought a lot about the issues I face day to day. As a college student who loves watching TV with my friends, I often struggle to choose something everyone will enjoy. It is commonplace for my friends to spend hours scrolling through streaming services before settling on a movie or TV show choice. I realized that having an app that can give my friends recommendations based on all of our criteria would save us time and be a fun bonding opportunity. This project is not just something that was fun to make, but is something that my friends and I agree we will use often.

What it does

Overlap simplifies the process of choosing what to watch alone or with friends. After entering favorite genres and other criteria, users receive personalized recommendations for movies and TV shows, as well as trending titles. When it’s time to watch TV as a group, users can create a session with a unique code and share it with their friends. Once everyone is in the session, recommendations are generated based on everyone’s criteria. Every movie and TV show recommended in the app includes a title, director, cast, runtime, description, and the streaming platforms where it is available. Additionally, these titles can be added to users’ watchlists for later viewing. Users can update their genre and criteria preferences and view their stats at any time in the app.

How we built it

Since my goal was to create an app I’d use daily, I decided to create it for iPhone. I built Overlap using a variety of tools. For writing code, I use GitHub as a source manager and Swift within Xcode. For user authentication and backend data management, I utilized Google’s Firebase platform and Firestore database. To generate recommendations, I used Google’s Gemini API and refined a carefully engineered prompt to improve its effectiveness. For movie and TV show stats and trending titles, I used The Movie Database (TMDB) API. For overall design, I utilized Figma and Xcode’s Icon Composer to create native iOS visuals and components. This allowed me to create a modern, fluid Liquid Glass iOS interface that integrates with iOS's native components. I used the Gemini and Codex models to assist with complex API calls, database syncing, and data caching logic.

Challenges we ran into

Some challenges I faced in completing this project were my limited experience with APIs, databases, and data syncing. Since I’d only briefly worked with Firebase before, it was challenging to get my database synced with my Xcode project. My main passion is the User Interface and design of mobile apps, so I found it difficult to go between that and the complexity of API calls and database syncing.

Accomplishments that we're proud of

After a long weekend of late nights and working all day, I am very proud to say that I’ve created an app I will actually use and am proud of. After my lack of success at PantherHacks last year, I feel very accomplished to say that I have a complete and working prototype to share with the judges this year. After gauging interest from others in my app, I am also happy to say that the feedback was incredibly positive. I am proud to have completed so much and learned more about APIs, Databases, and more in such a short timeframe.

What we learned

I learned a lot throughout this process. Since I’d not worked with APIs or databases much, I’ve come out of this hackathon with a greater understanding of how all these components work together to create a complete and successful iOS application. I worked hard, reading documentation and online resources, to understand the specifics of different APIs and database structures. It was very rewarding to gain this knowledge through experience, and it was a lot of fun!

What's next for Overlap

Overlap is a tool that many people could benefit from, as it can save them time and help them create fun, social experiences with their friends and family. I believe this app is a great example of using AI in a tasteful and beneficial way to optimize our lives. To improve upon this app, I want to implement a dedicated backend function to manage API calls. Currently, these calls are made on-device, which is not secure for a published application. Additionally, I’d like to implement other movie and TV show discoverability methods, such as a search function. Lastly, I’d like to continue iterating and improving the user experience to optimize this app for publication. I believe this app could have a major impact on entertainment choices, and my long-term goal is to publish and share it with others around the world.

Built With

+ 1 more
Share this project:

Updates