Inspiration

As a computer engineering student, I noticed gamers often lose track of their backlogs and need a dedicated space to share their gaming journey. GameShelf was inspired by the need to create a clean, interactive, and social game tracker that goes beyond simple spreadsheets and takes full advantage of modern mobile development.

What it does

GameShelf is a comprehensive gaming companion and social platform. Users can search for any game using the IGDB API and add it to their personal library. The library allows categorizing games with statuses like "Playing", "Plan to Play", "Completed", or "Dropped". Users can rate games out of 5 stars, write reviews, and select the specific platform they played on. The community tab features an activity feed to see updates from followed friends. Users can also write detailed guides using Markdown, attach images, and create interactive polls for the community. The app includes a premium "PRO" tier that unlocks advanced features, managed through a seamless paywall.

How we built it

The mobile application is built from scratch using Flutter and Dart. For the backend, I used Supabase to handle user authentication, PostgreSQL database management (for relations like feeds, likes, and polls), and bucket storage for avatars and post images. Monetization is handled by integrating the RevenueCat SDK using the 'purchases_flutter' package to validate the 'Pro' entitlement and manage the paywall. Game data is fetched via HTTP requests to the IGDB API ('api.igdb.com/v4/games'), implementing a custom keyword filter to exclude unofficial mods, bootlegs, and romhacks from search results.

Challenges we ran into

Building a fully functional social feed and real-time polling system required complex database structuring and relational queries in Supabase. Additionally, parsing and filtering the IGDB API data to ensure only official games appeared in the search was a significant technical hurdle. Finally, ensuring that the RevenueCat paywall correctly restored purchases and updated the UI state across the app required careful state management.

Accomplishments that we're proud of

I am particularly proud of shipping a complete, full-stack application with a robust monetization flow in a short hackathon timeframe. Successfully implementing a social feed with interactive polls and Markdown support for community posts adds a lot of value beyond a basic tracker.

What we learned

Integrating RevenueCat demonstrated how straightforward setting up in-app subscriptions, managing packages, and handling entitlements can be compared to native solutions. I also deepened my knowledge of handling complex relational database schemas and real-time state updates with Supabase and Flutter.

What's next for GameShelf

The plan is to expand the PRO features, introduce push notifications for community interactions, and officially launch the application on both the App Store and Google Play.

Built With

Share this project:

Updates

Submission history