Inspiration
It wasn't a single EUREKA moment. This app was meant to be just to be for my personal use. I love buying books ( & read them too, I try my best!) but at bookstore, instead of enjoying the vibe, I started getting stressed about: 1. Do I already own this book? 2. Did my wife tell me in a passing comment that she loves a particular book?
The cognitive overload was real. I tried existing book cataloging apps, but they were either riddled with ads, felt like data entry homework and most importantly, did not tell me whether I owned this book or not without workarounds. I even tried Excel sheets (again a data entry nightmare) and maintaining a running list with photos in family chats ( which was a memory/storage problem and unreliable)
So one night, I created a simple untitled app which now is ShelfKeeper.
What does ShelfKeeper do?
More than what ShelfKeeper does, Here is what it doesn't do:
- Track performative metrics. We believe that reading off late have become definition of Goodhart's Law, where metrics like how many books/pages you've read, how long did you take to read it, what your mood, how well did you do compared to your peers etc. I just want to read!!
- Track every move of yours outside the app.
- Sell your data to companies and bombard you with ads.
- Judge you based on how many friends you have or how many posts you make.
So what does ShelfKeeper do?
- Offline first digital library with cloud backup. Add your books to your digital library by scanning ISBN. All books are stored locally, unlimited.
- To avoid cognitive overload, we only have three sections. Home library ( owned books), Borrowed, and Wishlist.
- Never buy a duplicate book again. Our Store Mode notifies you when you scan a book you already have and best part? It works with different editions as well and it works without internet
- Digital Shelfie - Create beautiful, curated book lists from your bookshelf in a neat, digital shelf to share with friends, family or social media using various fonts, colors and shelves! Optimised for Booktok and Bookstagram!
- (Pro Feature) Add multiple books at the same time using Cover Scan. Point camera at the books and scan all at once to your library.
- (Pro Feature) Add Family books at the same time using Cover Scan. Point camera at the books and scan all at once.
- (Pro Feature) Use Library cleanup to clean all messy titles without resorting to manual data entry.
- Added book doesn't have a cover image? ShelfKeeper actively identifies missing front covers or placeholder images and replaces them with beautiful custom cover So you don't have to share Digital Shelfies with awkward, missing titles. ## How we built it ShelfKeeper was built using the below tech stack
- Frontend Framework: Flutter for cross-platform app development
- Backend: Supabase for Database and auth
- Google ML Kit to instantly scan ISBNs
- SQLite Local storage
- Revenuecat for parent integrations across iOS and Android ## Challenges we ran into Building ShelfKeeper had its own share of challenges.
- Making the app work on majority of Android phones, including low budget one, which had poor camera quality
- Ensuring every scanned book was resolved accurately by using multiple book APIs - and making sure that they conflict with each other.
- Rate limiting API calls to ensure no disruption in services. ## Accomplishments that we're proud of
- Used by people across age groups during testing phase. A child, adults and senior citizens and they found the app convenient. Biggest achievement is the child scanned all their books, neatly cataloging their shelves. ## Lessons learnt Months of development, feature enhancements and removal, constant testing told us one thing. Sometimes, less is more ## What's ahead for ShelfKeeper ShelfKeeper is currently in open testing on Android at the time of this submission.
- Go live on Android Google Play Store.
- Complete iOS development and launch on iOS App Store.
- Once We're live on both platform, build a consistent user base in both ecosystem.
- Long term goal of ShelfKeeper is to build a niche community where reading is just reading.
Built With
- flutter
- revenuecat
- supabase
Log in or sign up for Devpost to join the conversation.