Passive pinning as a condition of app usage

I am working on a progressive web app that lets you store files on IPFS.

I would like to program a rule into the app where for every 1 file you store on IPFS, your app will pin 2 files for other users of the app. This would happen automatically as other users added files; your app would locally pin encrypted files that you can’t read so they would be seeded for the users that owned them. I want to utilize a web worker so each app user can passively seed even when they are not using the app as long as their device is connected to the internet.

Goals:

  • All app users provide and receive free seeding.
  • I want this pinning mechanism to be handled automatically in a decentralized anonymous fashion. No central directory or server should be required to facilitate it. Ideally I can rely on the IPFS library to accomplish most of it.
  • The app should not require user input to do this; it should be hidden from the user completely.

Is something like this possible?