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
- android
- android-studio
- gpt-3.5-turbo
- kotlin
- openlibrary

Log in or sign up for Devpost to join the conversation.