Problem:
open nostr on phone, scroll through posts, cool (client 1)
open nostr on desktop, scroll through the same posts, not cool (client 2)
Solution:
client 1 creates a bloom filter, a short data blob that "fingerprints" all event ID's you've scrolled past (or looked at for > 0.5s) and store the bloom filter as a nostr event every 10 seconds or so
client 2 downloads the bloom filter, and before rendering your timeline, checks if you've seen the posts already and hides those you've seen (or reorders with lower priority)
bloom filters can get "full". if they reach capacity, clients simply roll over to a new one and start adding new events to that one. bloom filters can be stored as ephemeral events, you don't need to keep them around. its enough to remember which posts you have seen today / this week / maybe this month (max).