Hi - PM here ;-).
A few suggestions on the schema, overall looks good.
My sense is if we can avoid custom code and instead use a no-code solution that may be the easiest of all to maintain. If you know Bubble, Coda, or Airtable, we could probably pull this together in a pretty easy way that...