3 pointsby chapiwarea month ago1 comment
  • samwellxa month ago
    This feels like a great fit for a normalized, index-driven state model — keeping media entities separate from date/year indexes, so views can be composed cheaply without duplicating data. Especially useful when the same asset appears across multiple date-based views.
    • chapiwarea month ago
      Yes — that’s exactly the mental model.

      Media assets are treated as immutable entities, and all the date-based navigation is built on top of lightweight indexes derived from capture timestamps (day/month/year). That way the same asset can appear across multiple views without duplication or recomputation.

      It also keeps memory usage predictable when dealing with large libraries, since views are essentially projections rather than separate collections.

      The main constraint is that everything has to stay fast and incremental, because it’s all happening on-device with no background preprocessing or server-side help.

      Curious if you’ve used a similar approach elsewhere — it felt like the simplest way to keep things both flexible and cheap