Using Sofa
A guide to tracking movies and TV shows with Sofa.
Dashboard
The dashboard is your home screen after logging in. It shows a personalized overview of your tracking activity.
- Stats — Cards showing movies watched, episodes watched, library size, and completed titles. Each card has a period selector (today, this week, this month, this year) and a sparkline chart of your watch history.
- Continue Watching — TV shows you're currently watching, with the next unwatched episode highlighted. Click a show to jump to its detail page and pick up where you left off.
- Upcoming — Episodes and releases airing in the next 7 days for titles in your library. Click "View all" to open the full upcoming page with episodes grouped by date (Today, Tomorrow, This Week, Later).
- In Your Library — A grid of all titles you're tracking, regardless of status.
- Recommended for You — Personalized suggestions based on titles you've watched and rated highly.
If your library is empty, the dashboard shows an invitation to start exploring.
Tracking Movies & TV Shows
The Status System
Every title in your library has a status:
| Status | Meaning |
|---|---|
| Watchlist | You plan to watch this |
| Watching | You're currently watching this (TV shows only) |
| Caught Up | You've watched all aired episodes, but the show is still airing (TV only) |
| Completed | You've finished watching this |
Click the status button on a title page to add it to your watchlist. If the title is already in your library, hovering the button reveals a "Remove" action. Press W to toggle the title in or out of your watchlist.
Caught Up vs Completed is automatic — when you've watched every episode of a TV show that is still airing (Returning Series or In Production on TMDB), Sofa shows Caught Up instead of Completed. Once the show ends, it switches to Completed automatically.
Automatic Status Transitions
Sofa automatically updates statuses as you log watches so you don't have to manage them manually:
- First episode watched on a TV show → status changes to Watching (if it was on your Watchlist or had no status)
- All episodes watched on a TV show → status changes to Caught Up (if the show is still airing) or Completed (if the show has ended)
- Unwatch an episode on a completed show → status drops back to Watching
- Unwatch all episodes on a show → status drops back to Watchlist
- Mark a movie as watched → status changes to Completed
These same transitions apply when watches are logged automatically via webhook integrations (Plex, Jellyfin, Emby) or imported from another app (Trakt, Simkl, Letterboxd).
Logging Watches
Movies: Click the Mark Watched button on the title page (or press M) to log a watch and mark the movie as completed.
TV episodes: On the title page, expand a season and toggle individual episodes. You can also:
- Mark an entire season — Click the checkmark button on a season header to mark all its episodes as watched.
- Mark all episodes — Mark the entire show as watched in one action.
- Catch up — When you mark an episode as watched while earlier episodes are unwatched, a toast notification offers a "Catch up" button to batch-mark all prior episodes.
Duplicate watches within 5 minutes are automatically ignored. This prevents double-counting when webhook integrations send the same event multiple times.
Rating Titles
Rate any title from 1 to 5 stars on its detail page. Click a star to set the rating, or click the same star again to clear it. You can also press 1 through 5 on a title page to rate with the keyboard.
Ratings are independent of status — you can rate a title at any point, whether it's on your watchlist or completed. Highly-rated titles contribute to your personalized recommendations.
Exploring & Discovering Content
The Explore page helps you find new things to watch:
- Hero banner — A featured trending title with backdrop, rating, and overview.
- Trending Today — A scrollable row of titles currently trending on TMDB.
- Popular Movies — Browse popular movies, filterable by genre using the dropdown.
- Popular TV Shows — Browse popular TV shows, also filterable by genre.
Title cards show your tracking status as an overlay, so you can see at a glance which titles you've already added to your library.
Search
Press / or ⌘K (Mac) / Ctrl+K (Windows) to open the command palette. Start typing to search movies, TV shows, and people via TMDB.
Results show a poster or profile photo, type badge (Movie, TV, or Person), release year, and rating. Click a result to navigate to its detail page.
The command palette also shows:
- Recent searches — Your last few searches, with options to re-run or clear them.
- Quick actions — Shortcuts to navigate to the dashboard or explore page.
Streaming Availability
Title detail pages include a Where to Watch section showing which streaming services carry the title. Providers are grouped by offer type:
- Stream — Available with a subscription (Netflix, Disney+, etc.)
- Rent — Available to rent digitally
- Buy — Available to purchase digitally
- Free — Available for free
- With Ads — Available on ad-supported tiers
Click a provider's logo to open their page for that title in a new tab.
Streaming availability data is currently limited to the United States. Provider information is refreshed automatically every 6 hours for titles in your library.
Account Management
Manage your profile in Settings:
- Display name — Click your name to edit it inline.
- Profile picture — Click your avatar to upload a new image (JPEG, PNG, WebP, or GIF) or remove the current one.
- Change password — Available for email/password accounts. Not shown for OIDC/SSO-only accounts.
Keyboard Shortcuts
Press ? anywhere in the app to see the full shortcut reference. Here's a summary:
| Scope | Keys | Action |
|---|---|---|
| Global | / | Open search |
| Global | ? | Show keyboard shortcuts |
| Navigation | g then h | Go to dashboard |
| Navigation | g then e | Go to explore |
| Navigation | g then u | Go to upcoming |
| Navigation | g then s | Go to settings |
| Title page | w | Toggle watchlist |
| Title page | m | Mark movie as watched |
| Title page | Escape | Go back |
| Title page | 1–5 | Rate 1–5 stars |