A "card of the day" feature has one requirement that sounds trivial and is not: the same user must get the same card all day, and a different one tomorrow. The obvious implementations are all worse than they look.




Why storing it is the wrong default


Store (user_id, date) -> card and you have solved it. You have also acquired a write...