Source code for loop: a fun anime tracking and recommendation platform built with Ruby on Rails. Discover, track, and get personalized recommendations for your favorite anime. You can try the live demo here (may take about ~50 seconds to start due to cold starts on Render’s free tier).
- Personalized Recommendations - AI-powered recommendation engine that learns from your favorites and watchlist
- My Watchlist - Keep track of anime you want to watch
- Favorites - Save your favorite anime for quick access
- Genre-Based Discovery - Browse anime by genre with an intuitive dropdown interface
- Smart Caching - Recommendations are cached for 24 hours for optimal performance
- Real-time Updates - Uses Turbo Streams for instant UI updates without page refreshes
loop uses a recommendation algorithm that considers:
- Genre Matching (35%) - Recommends anime from genres you enjoy
- Collaborative Filtering (25%) - "Users who liked what you liked also enjoyed..."
- Rating Score (20%) - Matches anime ratings to your preferences
- Popularity (20%) - Considers overall anime quality and trends
- Event-Driven: When you add/remove favorites or watchlist items, recommendations automatically regenerate
- Debounced: To prevent spam, regeneration only triggers if your last update was >1 hour ago
- Background Processing: Recommendation generation runs asynchronously via Solid Queue
- 24-Hour Cache: Once generated, recommendations are cached for 24 hours
- Cold Start: New users see popular anime until they have 2+ favorites/watchlist items
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License :D
