How izznogooood/blip works
Blip is a LAN-hosted movie discovery interface whose main workflow is browsing or searching TMDB, enriching results with Radarr library status, and adding a selected movie—with optional immediate search—to Radarr. Separate flows configure integrations and schedule recurring searches for available missing movies. The graph reflects documented features where implementation excerpts were unavailable; those links are limited to the explicit runtime entry point and documented responsibilities.
Main entry points: settings_routes.py Settings routes · routes.py Movie routes · main.py FastAPI app · radarr_service.py Radarr service
Components 21
Web experience
- FastAPI app
app/main.py - Movie routes
app/web/routes.py - Settings routes
app/web/settings_routes.py - HTML templates
app/templates - Browser UI
app/static
Movie discovery
- Movie service
app/services/movie_service.py - TMDB client
app/clients/tmdb_client.py - TMDB API
Radarr integration
- Radarr service
app/services/radarr_service.py - Radarr client
app/clients/radarr_client.py - Radarr
Configuration
- Settings service
app/services/settings_service.py - App configuration
app/core/config.py - Schedule settings
app/web/settings_routes.py
Persistence and scheduling
- SQLite database
app/core/database.py - Cache service
app/services/cache_service.py - Cache model
app/models/cache.py - Schedule service
app/services/search_schedule_service.py - Schedule model
app/models/search_schedule.py - Background scheduler
app/services/scheduler.py
Other components
- User
Connections 30
- User → Browser UI: uses
- Browser UI → Movie routes: requests pages
- Browser UI → Settings routes: configures
- Movie routes → HTML templates: renders results
- Settings routes → HTML templates: renders settings
- FastAPI app → Movie routes: mounts router
- FastAPI app → Settings routes: mounts router
- FastAPI app → SQLite database: initializes
- FastAPI app → Background scheduler: starts task
- Movie routes → Movie service: fetches movies
- Movie service → TMDB client: requests lists, search, details
- TMDB client → TMDB API: calls API
- Movie routes → Radarr service: annotates and adds
- Radarr service → Radarr client: requests library actions
- Radarr client → Radarr: calls API
- Movie routes → Settings service: resolves settings
- Settings routes → Settings service: reads and saves
- Settings service → SQLite database: persists settings
- App configuration → FastAPI app: configures startup
- Movie service → Cache service: reads and updates cache
- Radarr service → Cache service: caches statuses
- Cache service → SQLite database: persists entries
- Cache service → Cache model: stores records
- Settings routes → Radarr service: loads Radarr options
- Settings routes → Radarr client: builds client
- Settings routes → Schedule service: updates schedule and records runs
- Schedule service → Schedule model: reads and writes
- Schedule service → SQLite database: persists schedule
- Background scheduler → Schedule service: tracks scheduled runs
- Background scheduler → Radarr service: triggers backlog search