Back to projects
Aug 29, 2026
2 min read

FCCC Music Finder

A Phoenix-powered OCR music archive for the Filipino Christian Community Congregation, backed by a Python collection pipeline and shared SQLite catalog.

FCCC Music Finder makes a scanned music collection practical to browse. It extracts and indexes titles from programme images, then provides a responsive search interface that leads directly to the matching scan.

What it does

  • OCR-backed index across 349 pages from the 2025 and 2026 collections. The title picker weighs OCR confidence, text size, placement, and readability to prefer the most likely title on each scan.
  • Incremental catalogue updates that reprocess only new or changed images while retaining candidate titles and confidence scores for every page.
  • Fuzzy title search that combines weighted and token-based matching, so partial words and imperfect OCR still produce useful results.
  • Mobile-first viewer with touch-friendly controls, responsive layouts, rotation that is remembered per scan, and image downloads.
  • Phoenix implementation that serves the production search and browsing experience under /titles/, with public-prefix-safe routes, safe image delivery, and a responsive JavaScript viewer.
  • Shared ownership boundary where Python remains authoritative for collection, OCR, title selection, SQLite writes, and FTS5 maintenance. Phoenix reads that catalog and persists only viewer orientation; re-indexing is intentionally absent from the web app.
  • Verified release deployment with isolated builds, checksummed artifacts, atomic activation, health checks, and automatic rollback.

Built with Elixir, Phoenix, Ecto SQLite, Python, SQLite FTS5, and vanilla JavaScript. The Phoenix migration replaced the retired Starlette frontend without moving collection or OCR responsibilities out of the Python pipeline.