<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lumi.git/templates/form.html, 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-14T08:31:34Z</updated>
<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>Center stars with h1 by moving eyebrow above flex row</title>
<updated>2026-05-09T08:33:30Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:33:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=6aed9460ad0555c9f51eaaf09aad1dd89e69bdfe'/>
<id>urn:sha1:6aed9460ad0555c9f51eaaf09aad1dd89e69bdfe</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix form order: move TMDB panel after heading inside form</title>
<updated>2026-05-09T08:31:33Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:31:33Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=596d80d15845da3fb105c26a30457da8ee698be7'/>
<id>urn:sha1:596d80d15845da3fb105c26a30457da8ee698be7</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix star alignment in form heading</title>
<updated>2026-05-09T08:30:13Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:30:13Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=b4488a36db31a722ae054e076d459bd8c73a341b'/>
<id>urn:sha1:b4488a36db31a722ae054e076d459bd8c73a341b</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Move star rating to form heading, remove from field grid</title>
<updated>2026-05-09T08:27:40Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:27:40Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=0cc153bb699f0153ed42f619c4bca9820b49a49a'/>
<id>urn:sha1:0cc153bb699f0153ed42f619c4bca9820b49a49a</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Replace stars dropdown with inline star picker on add/edit form</title>
<updated>2026-05-09T08:21:30Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-09T08:21:30Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=f3f40da05e0f97ff4308ddf1085e156879854eb5'/>
<id>urn:sha1:f3f40da05e0f97ff4308ddf1085e156879854eb5</id>
<content type='text'>
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 genre tracking and year-in-review improvements</title>
<updated>2026-05-07T01:05:07Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-07T01:05:07Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=ead38fdb13abb406065cef0743d7e411cb27eaf3'/>
<id>urn:sha1:ead38fdb13abb406065cef0743d7e411cb27eaf3</id>
<content type='text'>
Adds genre field to Film model with TMDB enrichment. Genres populate from
TMDB detail fetch during add/edit and bulk enrichment. Genre metadata displays
on film cards, detail page (Production section), stats page (top genres panel),
and year-in-review (by decade and genre breakdowns).

Auto-detects rewatches when adding films via TMDB autocomplete - if a film with
the same TMDB ID already exists in diary, pre-fills rewatch checkbox and count.
Rewatch count now displays on film cards as "Rewatch #N".

Stats page now shows:
- Top genres (most watched)
- Film decades (sorted chronologically)
- Already shows: directors, companions, star distribution, rewatch rate

Year-in-review shows decades and genres alongside monthly activity and companions.

Bulk enrichment endpoint (/data/enrich-posters) now fetches missing genre
metadata along with posters and TMDB IDs.

Co-Authored-By: Claude Haiku 4.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>init: lumiere film diary</title>
<updated>2026-05-06T19:21:26Z</updated>
<author>
<name>Tyler Hoang</name>
<email>tyler@tylerhoang.xyz</email>
</author>
<published>2026-05-06T19:21:26Z</published>
<link rel='alternate' type='text/html' href='https://git.tylerhoang.xyz/lumi.git/commit/?id=e708bec6cd76c2686de4158dde4d04f72a3c300d'/>
<id>urn:sha1:e708bec6cd76c2686de4158dde4d04f72a3c300d</id>
<content type='text'>
</content>
</entry>
</feed>
