<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lumi.git/routers, branch master</title>
<subtitle>Personal film diary</subtitle>
<id>https://git.tylerhoang.xyz/lumi.git/atom?h=master</id>
<link rel='self' href='https://git.tylerhoang.xyz/lumi.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/'/>
<updated>2026-05-26T07:17:05Z</updated>
<entry>
<title>Add /tyler/api/recent JSON endpoint for recent diary films</title>
<updated>2026-05-26T07:17:05Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-26T07:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=f3a7b2c3507ab6bb4e5bb0f4ab94804dcc30ce67'/>
<id>urn:sha1:f3a7b2c3507ab6bb4e5bb0f4ab94804dcc30ce67</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Refine Lumi stats and detail UX</title>
<updated>2026-05-15T08:50:15Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-15T08:50:15Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=20c1d02b40bcb9abb5882d0503e596c82e9819bb'/>
<id>urn:sha1:20c1d02b40bcb9abb5882d0503e596c82e9819bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refine Lumi layouts and public profile</title>
<updated>2026-05-14T08:31:34Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-14T08:31:34Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=cdd28b6c0a3a6444b9ae79b123fe4fa7401de5ab'/>
<id>urn:sha1:cdd28b6c0a3a6444b9ae79b123fe4fa7401de5ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add stats totals, runtime summary, and duplicate detection on add form</title>
<updated>2026-05-12T10:15:17Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-12T10:15:17Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=4279408876268f4960c98492d3814f5475e36e38'/>
<id>urn:sha1:4279408876268f4960c98492d3814f5475e36e38</id>
<content type='text'>
- Stats page now shows total films watched and total runtime (formatted
  as Xd Yh) in an overview panel above the world map
- /stats/data endpoint includes total_runtime_minutes in payload
- New GET /films/find endpoint returns all shelf matches for a tmdb_id
- Add film form shows an inline notice when the selected TMDB film is
  already logged, with shelf name, date, and a link to the entry
- Update CLAUDE.md and README to reflect current auth, OMDb, and
  router/service structure

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add IMDb, Rotten Tomatoes, and Metacritic ratings to film detail</title>
<updated>2026-05-09T08:41:48Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:41:48Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=2f3a891d0944a3b200d3dda949475bf9e1742f56'/>
<id>urn:sha1:2f3a891d0944a3b200d3dda949475bf9e1742f56</id>
<content type='text'>
Fetches ratings from OMDB API in parallel with TMDB context. Displays
three side-by-side chips between the subtitle and watch log panels.
Requires OMDB_API_KEY in .env; degrades silently if missing or no match.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Auto-select today's date on add form; clean up rewatch history panel</title>
<updated>2026-05-09T08:14:57Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:14:57Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=65466fd5c645e546707ce699b4ea289f894fea20'/>
<id>urn:sha1:65466fd5c645e546707ce699b4ea289f894fea20</id>
<content type='text'>
- Default date_watched to today when adding a new film (JS, en-CA locale)
- Match rewatch history by tmdb_id when available, fall back to title
- Replace inline styles in rewatch section with CSS classes
- Simplify redundant Jinja conditions (rewatch_history and, loop.length &gt; 1)
- Move review-panel margin-top hack to .review-panel-spaced class

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add rewatch history to film detail page</title>
<updated>2026-05-07T07:21:24Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-07T07:21:24Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=364634151d756ce28060e9a982019e7f7bdb17cc'/>
<id>urn:sha1:364634151d756ce28060e9a982019e7f7bdb17cc</id>
<content type='text'>
Display all watches for a film with dates, ratings, and companions. Show time elapsed between rewatches and highlight when rating changed.

Co-Authored-By: Claude Haiku 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Remove rewatch rate metric</title>
<updated>2026-05-07T07:04:38Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-07T07:04:38Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=efd4f1ea3cf9f3d7335ed718c5d7fd44354147f9'/>
<id>urn:sha1:efd4f1ea3cf9f3d7335ed718c5d7fd44354147f9</id>
<content type='text'>
The rewatch rate (percentage of films rewatched) is less useful than the detailed rewatch patterns panel. Removed the metric section from both the template and backend payload.

Co-Authored-By: Claude Haiku 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add rewatch patterns stats panel</title>
<updated>2026-05-07T07:02:25Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-07T07:02:25Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=84ac42e5be00fe7591a6946f27a33770b0270a41'/>
<id>urn:sha1:84ac42e5be00fe7591a6946f27a33770b0270a41</id>
<content type='text'>
Adds a "Rewatches" section to /stats that displays films you've watched multiple times, grouped by title. For each rewatched film, shows:
- Watch count (e.g., "3×")
- Rating history (e.g., ✦ → ✦✦ → ✦) with accent highlight when ratings drift
- Days between first and last watch

Changes:
- routers/stats.py: Group films by title in _build_stats_payload, compute rewatch details (ratings, days between, rating change flag), add rewatch_patterns key
- templates/stats.html: Add "Rewatches" panel HTML and JS renderer (renderLists)

Co-Authored-By: Claude Haiku 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Add /about page with rating system explanation</title>
<updated>2026-05-07T06:43:35Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-07T06:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=ea6462e928f588c3fbff32e0850298d3ff3dbfb4'/>
<id>urn:sha1:ea6462e928f588c3fbff32e0850298d3ff3dbfb4</id>
<content type='text'>
Introduces a public-facing /about page that explains the 1-3 star rating rubric with real examples pulled from the diary. Each star tier displays 3 randomly-selected, unique films (deduplicated by title to avoid rewatch duplicates).

Changes:
- New routers/about.py: GET /about queries films by stars, dedupes, randomizes
- New templates/about.html: Page with eyebrow, h1, three tier sections with example film cards, closing philosophy, and View Profile button
- main.py: Import about router, register it, add /about to public_paths in AuthMiddleware
- templates/base.html: Add About nav link after Stats
- templates/profile.html: Add About link to /tyler nav
- templates/login.html: Add About and View Profile buttons in footer, plus "Made with Lumière" repo link

Co-Authored-By: Claude Haiku 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
