Inspiration

In today's fast-paced urban environment, traditional libraries and bookstores are facing challenges in engaging with the digital-native population. Our team was inspired to bridge this gap by creating Shelfie, a modern solution that makes literary discovery accessible. With many city residents facing time constraints and information overload, we wanted to create a tool that makes finding the right book as easy as using social media, thereby promoting literacy and cultural engagement in urban communities.

What it does

The app has a dating app-style look, inspired by Tinder. It recommends books to users, who can either swipe right (like) or swipe left (dislike) the book. The books that are liked by the user are stored on the favorites page so that they can go back and check out all the books they've ever favorited. The recommendations are provided by the ChatGPT API and are updated based on the user's likes and dislikes.

How we built it

UI/UX Implementation: We designed an intuitive interface Created smooth animations for like/dislike actions Implemented a grid-based favorites view Designed an intuitive navigation system

ChatGPT API Integration: Implemented book recommendation logic using GPT-3.5-turbo Created a sophisticated prompt system to ensure relevant and non-duplicate recommendations Handled API responses and error cases Managed API rate limiting and optimization

OpenLibrary API Integration: Developed cover image fetching system Implemented efficient image loading and caching Handled missing or invalid cover cases Created fallback mechanisms for failed image loads

Data Management: Implemented book data structures Created persistent storage for liked books Managed state between different activities Handled synchronization of multiple data sources

Challenges we ran into

Coordinating responses between ChatGPT and OpenLibrary APIs Managing different response formats and error cases Ensuring proper sequencing of API calls Implementing proper error handling

Tracking book states across different views Managing loading states and error conditions

Accomplishments that we're proud of

What we're most proud of is successfully creating a seamless and engaging app. Our team managed to integrate two complex APIs for intelligent book recommendations and for cover images - into a smooth, user-friendly experience. So, our greatest achievement is how we transformed separate pieces of work - UI design, API integration, data management, and image handling - into a cohesive application that works reliably in real-world conditions.

What we learned

Integrating multiple APIs (ChatGPT and OpenLibrary) into a single cohesive application Managing asynchronous operations in Android using Kotlin Coroutines Implementing proper state management for complex UI interactions Working with modern Android development practices and libraries Collaborative coding and version control with a distributed team

What's next for Shelfie

Add more sophisticated book filtering options Enhance the recommendation algorithm Improve image caching and loading Add social sharing features Implement user accounts and cloud sync

Built With

Share this project:

Updates