title: Optimizing Firestore queries for our content app
body: <p>We are building a content app using Firestore.
  The basic requirement is that there is one master collection, let's say 'content'. The number of documents could run into 1000s.</p>
  <pre><code>content1, content2, content3 ... content9999
  </code></pre>
  <p>We want to serve our users with content from this collection, making sure they don't see the same content twice, and every time they are in the app there's new content for them.
  At the same time, we don't want the same sequence of our content to be served to each user. Some randomisation would be good.</p>
  <pre><code>user1: content9, content123, content17, content33, content902 .. and so on
  user2: content854, content79, content190, content567 ... and so on
  </code></pre>
  <p>I have been breaking my head as to how without duplicating the master collection can we possibly achieve this solution. Duplicating the master collection would just be so expensive, but will do the job.</p>
  <p>Also, how can we possibly write cost-effective and performance-optimised queries especially when we want to maintain randomisation in the sequence of these content pieces?</p>