Omahub
← All plugins
C

omawatch

by Cris / brm-src

Pick a film for tonight from a quick mood quiz, or from your Letterboxd watchlist. Powered by mood-watch.app.

Security review

No obvious issues detected

Deterministic scan — not a security guarantee

None
Risk level
None
Analyzed commit
e31d9eb
Scanned
1 month ago

No potentially dangerous behavior detected in the analyzed commit.

Automated analysis only — not a security guarantee.

AI advisory review

No obvious issues detected

Language-model assessment · ~deepseek/deepseek-v4-flash-latest — advisory only

None
AI risk level
None
Recommendation
install
Model
~deepseek/deepseek-v4-flash-latest
Analyzed commit
e31d9eb
Reviewed
1 month ago

The plugin is a straightforward film-picker panel: the QML UI invokes a small Python helper that only makes HTTPS requests to the documented mood-watch API and prints JSON results. No shell injection, disk writes, persistence, credential handling, or destructive operations were found, and the code matches the README's stated behavior.

How this check works

This review combines the deterministic scan (the rule-based results above) with an independent look at the plugin's code by a language model. The model reads a trimmed sample of the repository's files, the manifest, and the README, then gives a plain-language risk level and a recommendation: install (no notable danger), review (look closer first), or avoid (clearly dangerous).

It runs on the same analyzed commit as the deterministic scan and is strictly advisory — it is not a security guarantee and never blocks a plugin by itself. A human moderator still reviews plugins before they are listed.

AI advisory only — automated analysis, not a security guarantee.

Install
$ omarchy plugin add https://github.com/brm-src/omawatch --enable
Widgets #Hyprland #quickshell #media

omawatch

<p align="center"> <a href="https://www.ko-fi.com/brmcl"><img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="Support me on Ko-fi" /></a> </p> <p align="center"> <strong>A small, opinionated film picker for Omarchy.</strong><br /> Five mood questions, a public Letterboxd watchlist, or one blind wager for tonight. </p> <p align="center"> <a href="https://github.com/brm-src/omawatch/releases"><img src="https://img.shields.io/github/v/release/brm-src/omawatch?style=flat-square&label=release" alt="Latest release" /></a> <a href="https://github.com/brm-src/omawatch/blob/main/LICENSE"><img src="https://img.shields.io/github/license/brm-src/omawatch?style=flat-square" alt="MIT license" /></a> </p> <p align="center"> <img src="preview.png" alt="omawatch preview" /> </p>

A bilingual Omarchy / Quickshell panel powered by mood-watch.app. It answers one question without becoming a tracker, social feed, or recommendation dashboard:

What should I watch tonight?

Real screenshots

These are captures from the running plugin on an Omarchy desktop, not mockups.

<p align="center"> <img src="screenshots/01-home-final.png" alt="omawatch home panel" /> </p> <p align="center"><em>Home: mood test, surprise pick, public Letterboxd watchlist.</em></p> <p align="center"> <img src="screenshots/02-quiz-final.png" alt="omawatch mood quiz" /> </p> <p align="center"><em>Quiz: short, focused questions with compact controls.</em></p> <p align="center"> <img src="screenshots/03-letterboxd-final.png" alt="omawatch Letterboxd connection" /> </p> <p align="center"><em>Letterboxd: public watchlist connection, no login or password.</em></p> <p align="center"> <img src="screenshots/04-results-final.png" alt="omawatch film recommendations" /> </p> <p align="center"><em>Results: live posters, complete overviews, English presentation titles where appropriate, and localized descriptions.</em></p> <p align="center"> <img src="screenshots/05-desktop-bar.png" alt="omawatch in the Omarchy desktop bar" /> </p> <p align="center"><em>The real bar context with the film icon.</em></p>

What it does

  • Quick mood test — five questions covering energy, appetite, time, tone, and aftertaste.
  • Letterboxd watchlist — enter a public username and pick only from your own watchlist. The public @callmeout account was used for the real sync check with 466 titles.
  • Surprise me — one curated blind pick without a questionnaire.
  • Useful film cards — poster, title, year, director, runtime, complete overview, where-to-watch link, and Letterboxd link.
  • Presentation rule — titles and posters stay in English unless the film is Spanish-language; overviews and genres follow the system language.
  • Bilingual UI — English or Spanish according to the system locale.
  • Privacy by default — no account, no password, no API key, and no watchlist data written to disk.

Install

omarchy plugin add https://github.com/brm-src/omawatch.git --enable --yes

No administrator privileges are required. The plugin needs Omarchy / Hyprland, Quickshell, Python 3, and an internet connection.

Use

  1. Click the film icon in the Omarchy bar.
  2. Choose Quick mood test, Connect watchlist, or Surprise me.
  3. For Letterboxd, enter a public username, wait for the sync, and answer the quiz.
  4. Read the picks and open where to watch or Letterboxd when useful.

Press Escape, Super + W, or click outside the panel to close it.

How it works

  1. Omawatch.qml renders the panel using Omarchy's own primitives, fonts, colors, borders, separators, action rows, and compact controls.
  2. omawatch.py is a stateless HTTPS helper for the public mood-watch API.
  3. Anonymous answers are mapped to the same editorial routes used by the web product.
  4. Spanish presentation fetches the English title/poster variant in parallel while keeping the overview in Spanish.
  5. Letterboxd sync starts and polls a public read-only job; its short-lived token stays in memory only.

Privacy

  • No text, username, or watchlist data is written to disk.
  • Only a public Letterboxd watchlist is read; there is no login flow.
  • Requests go to moodwatch-api.brmcl.workers.dev through HTTPS.
  • See the mood-watch privacy notes.

Remove

omarchy plugin remove io.github.brm-src.omawatch --yes

Or disable it first:

omarchy plugin disable io.github.brm-src.omawatch

Development checks

Run from the repository root:

python3 -m unittest discover -s tests -v
python3 -m py_compile omawatch.py
qmllint -I /usr/share/omarchy/shell BarButton.qml Omawatch.qml
omarchy plugin validate .

License

MIT. See LICENSE.

<p align="center"> <a href="https://www.ko-fi.com/brmcl"><img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="Support me on Ko-fi" /></a> </p>