Marked as helpful by the asker
A spreadsheet that people edit is a UI, not a database. Two paths:
- Keep the sheet, add a validation layer: a small function that maps columns by header name (not position) and shows a clear "column X missing" message instead of crashing. Cheap, buys time.
- Move to a real table (Supabase) and give volunteers a form. A week of work, and the problem is gone forever.
At 300 users I'd do the second one now, while migration is still small.