BookBite is a comprehensive iOS application for discovering, exploring, and learning from non-fiction books. Get AI-powered summaries, key insights, and practical applications from thousands of books across business, self-help, science, and more.
- 📚 Extensive Library: Access thousands of non-fiction books across 35+ categories
- 🤖 AI-Powered Summaries: Intelligent summaries with key insights and extended analysis
- ⚡ Quick Reading: 8-10 minute summaries for busy professionals
- 🎯 Smart Discovery: Featured books, swipe-based discovery, and intelligent recommendations
- 🔍 Advanced Search: Real-time search across titles, authors, categories, and topics
- 📖 Book Requests: Request any book and get AI-generated summaries on-demand
- ⭐ Reader Reviews: Community ratings and reviews from Open Library integration
- 📑 Multiple Summary Types:
- Quick summaries for rapid understanding
- Extended summaries for deeper insights
- Key ideas extraction
- Practical applications
- Critical analysis
- References and citations
- 💼 Workplace Applications: Role-specific guidance for applying concepts
- 🔄 Flexible Data Sources: Choose between local (offline), remote (server), or hybrid modes
- 🌓 Dark Mode Support: Eye-friendly reading in low-light conditions
- 🔄 Real-time Sync: Seamless integration with Node.js/Express backend
- 📊 Database Integration: PostgreSQL via Supabase for scalable data storage
- 🤖 AI Integration: OpenAI-powered summary generation
- 📚 Multiple Data Sources: Google Books API and NYT Bestsellers integration
- ⚡ Background Processing: Async job queue for efficient summary generation
Note: The app features a clean, modern SwiftUI interface with tab-based navigation. Key screens include:
- Featured Tab: Discover trending and recommended books with detailed views
- Swipe Tab: Tinder-style book discovery with quick decisions
- Search Tab: Advanced search with filters and real-time results
- Request Tab: On-demand book request system with AI analysis
- Settings Tab: Configure data sources, cache settings, and preferences
- iOS 18.5+
- Xcode 16.4+
- Swift 5.0+
- Clone the repository:
git clone git@github.com:tilomitra/book-bite.git
cd book-bite- Open the project in Xcode:
open BookBite.xcodeproj- Build and run on your preferred simulator or device.
BookBite follows a clean MVVM architecture with repository pattern for both iOS and backend:
BookBite/
├── App/ # App configuration and entry point
│ ├── BookBiteApp.swift # Main app with @main attribute
│ ├── RootView.swift # Tab-based navigation
│ └── Configuration/ # Settings and dependency injection
├── Core/ # Data models, repositories, and services
│ ├── Models/ # Book, Summary, User, Request models
│ ├── Repositories/ # Data access abstraction
│ │ ├── BookRepository.swift # Protocol definition
│ │ ├── LocalBookRepository.swift # Bundled JSON data
│ │ ├── RemoteBookRepository.swift # Server API integration
│ │ └── HybridBookRepository.swift # Smart fallback logic
│ └── Services/ # NetworkService, CacheService, etc.
├── Features/ # Feature-specific modules
│ ├── Featured/ # Featured books carousel
│ ├── Swipe/ # Tinder-style book discovery
│ ├── Search/ # Advanced search functionality
│ ├── Request/ # Book request system
│ ├── BookDetail/ # Detailed book views with tabs
│ └── Settings/ # App configuration
├── Shared/ # Reusable UI components
└── Resources/ # Assets and fixtures
└── Fixtures/ # Bundled JSON data for offline use
server/
├── src/
│ ├── config/ # Database and app configuration
│ ├── controllers/ # HTTP request handlers
│ ├── middleware/ # Auth, error handling, rate limiting
│ ├── models/ # TypeScript types and Zod schemas
│ ├── routes/ # API endpoint definitions
│ └── services/ # Business logic and integrations
│ ├── GoogleBooksService.ts # Book metadata
│ ├── OpenAIService.ts # AI summaries
│ ├── NYTService.ts # Bestsellers
│ └── QueueService.ts # Background jobs
├── scripts/ # Data population utilities
└── supabase/ # Database schema and migrations
- Smart Search: Debounced real-time search with 300ms delay, filters across title, author, subtitle, and categories
- Book Detail Tabs:
- Overview: AI-generated summary and key ideas
- Apply: Workplace-specific implementation guidance
- Analysis: Critical perspectives and common pitfalls
- References: Citations with external links
- Request System: On-demand book requests with automatic AI summary generation
- Data Management: Protocol-based repository pattern with local/remote/hybrid modes
- Caching: Smart caching with configurable TTL and automatic cleanup
- Network Monitoring: Automatic online/offline detection and fallback
- RESTful API: Express.js with TypeScript for type safety
- Database: PostgreSQL via Supabase with row-level security
- Authentication: JWT-based with admin/public roles
- AI Integration: OpenAI GPT-4 for intelligent summary generation
- External APIs:
- Google Books API for metadata enrichment
- NYT Bestsellers API for trending books
- Job Queue: Redis-backed Bull queue for async processing
- Rate Limiting: API compliance and protection
Run the test suite:
# Run all tests
xcodebuild test -project BookBite.xcodeproj -scheme BookBite -destination 'platform=iOS Simulator,name=iPhone 15'
# Run specific test
xcodebuild test -project BookBite.xcodeproj -scheme BookBite -destination 'platform=iOS Simulator,name=iPhone 15' -only-testing:BookBiteTests/BookModelTestsTest coverage includes:
- Model serialization/deserialization
- Search filtering logic
- UI navigation flows
- Export functionality
The backend includes powerful scripts for automatically populating the database with thousands of books and AI-generated summaries:
Fetch and populate from New York Times bestseller lists:
# Populate with all NYT non-fiction bestseller lists
cd server && npm run populate-nyt
# Process only high-priority lists (combined, hardcover, business, science, biography)
cd server && npx tsx scripts/populate-nyt-bestsellers.ts --priority
# Process specific list
cd server && npx tsx scripts/populate-nyt-bestsellers.ts --list business-booksFeatures:
- Fetches from 16+ NYT non-fiction bestseller lists
- Includes rank and weeks on list metadata
- Automatic deduplication across lists
- AI-generated summaries with extended analysis
Automatically discover and add books by category using Google Books API:
# Get 50 books per category (all priorities)
cd server && npx tsx scripts/populate-books-by-category.ts 50
# Get 25 books per category, high priority categories only
cd server && npx tsx scripts/populate-books-by-category.ts 25 high
# Get 10 books per category, medium priority categories only
cd server && npx tsx scripts/populate-books-by-category.ts 10 medium
# Get 5 books per category, low priority categories only
cd server && npx tsx scripts/populate-books-by-category.ts 5 lowFeatures:
- 35+ comprehensive non-fiction categories (Self-Help, Business, Science, History, etc.)
- Automatic deduplication across categories
- AI-generated summaries and extended summaries
- Smart rate limiting for API compliance
- Progress tracking and detailed statistics
Categories Include:
- High Priority: Self-Help, Psychology, Business, History, Biography, Memoir, Leadership, etc.
- Medium Priority: Economics, Innovation, Biology, Philosophy, Politics, Health, etc.
- Low Priority: Art, Music, Travel, Cooking
For curated lists of popular books:
# Populate with handpicked popular non-fiction books
cd server && npx tsx scripts/populate-nonfiction-books.tsThis script includes 75+ carefully selected popular non-fiction books across categories like:
- Self-Help & Personal Development
- Biography & Memoir
- Science & Nature
- Business & Economics
- History & Politics
- Health & Wellness
Generate cost-effective extended summaries for existing books:
# Generate extended summaries for all books without them
cd server && npm run generate-extended-summariesThe app includes curated summaries for popular non-fiction books across multiple categories:
- The Manager's Path by Camille Fournier
- Accelerate by Nicole Forsgren, Jez Humble, Gene Kim
- Inspired by Marty Cagan
- The Lean Startup by Eric Ries
- Good to Great by Jim Collins
- The Creative Act by Rick Rubin
- Atomic Habits by James Clear
- The 7 Habits of Highly Effective People by Stephen Covey
- Deep Work by Cal Newport
- The Power of Now by Eckhart Tolle
- Sapiens by Yuval Noah Harari
- Thinking in Systems by Donella H. Meadows
- The Gene by Siddhartha Mukherjee
- Astrophysics for People in a Hurry by Neil deGrasse Tyson
- Thinking, Fast and Slow by Daniel Kahneman
- Man's Search for Meaning by Viktor Frankl
- The Body Keeps the Score by Bessel van der Kolk
- Meditations by Marcus Aurelius
- Native iOS app with SwiftUI
- Tab-based navigation (Featured, Swipe, Search, Request, Settings)
- Book detail views with multiple tabs
- Local/Remote/Hybrid data source modes
- Caching and offline support
- AI-powered book request system
- Backend API with Express/TypeScript
- Supabase database integration
- Google Books API integration
- NYT Bestsellers integration
- OpenAI summary generation
- Background job processing
- Data population scripts
- Enhanced swipe gestures for book discovery
- PDF export functionality
- Mind map generation
- User accounts and authentication
- Personalized recommendations
- Reading progress tracking
- Social features (sharing, discussions)
- Apple Watch companion app
- Android version
- Web application
- Audio summaries
- Multi-language support
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Built with SwiftUI and modern iOS development practices
- Inspired by the need for accessible business book insights
- Sample book data sourced from public domain information