My MediaVerse
(Formerly Project Loopbreaker)

My MediaVerse is a comprehensive personal media library management application designed to help you track, organize, and discover content across multiple media formats. Whether you’re tracking books you’ve read, podcasts you’re listening to, movies on your watchlist, or articles you’ve saved, My MediaVerse brings everything together in one unified platform.
I created My MediaVerse after years of trying to organize my entertainment options, and not finding any existing tools that had the exact functionality that I wanted. I found platforms that would support specific types of media, such as movies, but none that could bring all of my options together. The placeholder name “Project Loopbreaker” partially came about because it’s very easy to fall into a loop of pointless phone scrolling if you can’t decide what you want to do – but having everything in one place could help avoid that. If I’m bored, I can just pull up one of my mixlists for the topic I’m interested in at the time, and easily find something to read, watch, or listen to.
Features
- 8 Media Types Supported: Books, Podcasts (shows and episodes), Movies, TV Shows, YouTube (Videos, Channels, and Playlists), Articles, Websites, and Notes, with support for additional types coming soon
- Status Tracking: Mark items as Uncharted, In Progress, Consumed, or Did Not Finish
- Rating System: Rate content with SuperLike, Like, Neutral, or Dislike
- Classification: Organize with genres and topics for better discoverability
- Personal Notes Integration: Sync notes from your Obsidian vaults, generate AI-powered descriptions, and link notes to related media items in your library
- Ownership Tracking: Track whether you own, want to buy, or have borrowed items
- External API Integration: Import your collections and retrieve metadata from Readwise, ListenNotes, TMDB, YouTube, and Google Books
- Highlights Support: Import highlights from your Readwise account and link to source articles and books in your database
Mixlists (Custom Collections)
Create themed playlists called “Mixlists” that can contain any combination of media types. Unlike traditional playlists, Mixlists are flexible collections based on themes, topics, or any criteria you choose. Want to create a science fiction collection? Add your favorite books, podcasts, and short stories into one mixlist.
Search & Discovery
- Typesense-Powered Search: Fast, typo-tolerant full-text search across your entire library
- Advanced Filtering: Filter by media type, topic, genre, or status
- Combined Queries: Search with multiple filters simultaneously
AI-Powered Features
My MediaVerse leverages AI to enhance discovery and organization:
- Vector Embeddings: Semantic embeddings generated for all media items and notes using OpenAI’s text-embedding-3-large model, stored in PostgreSQL with pgvector
- Similar Items: Discover semantically related media items and notes based on embedding similarity
- AI Description Generation: Automatic concise summaries generated for notes using DigitalOcean Gradient AI
Tech Stack
Frontend
- React 18: UI framework
- Vite: Build tool and dev server
- Material-UI (MUI): Component library
- React Router v7: Client-side routing
- Axios: HTTP client
- Vitest: Testing framework
Backend
- ASP.NET Core 8.0: Web API framework
- Entity Framework Core: ORM
- PostgreSQL: Primary database
- JWT: Authentication
Infrastructure
- Typesense: Full-text search engine
- PostgreSQL + pgvector: Vector similarity search
- DigitalOcean Spaces: File/thumbnail storage
- Render.com: Application hosting
- Cloudflare: DNS, SSL, DDoS protection
AI Services
- OpenAI: Vector embeddings (text-embedding-3-large)
- DigitalOcean Gradient AI: Text generation for note descriptions
Key Architectural Patterns
- Clean Architecture: Dependencies flow inward, with the domain at the center
- Domain-Driven Design: Rich domain models with business logic
- SOLID Principles: Single responsibility, dependency injection throughout
- Repository Pattern: Abstracted data access
- Service Layer: Business logic separated from controllers