One class parent organizes it, every family chips in by card from a link, and the running total is visible to the group. No cash sent in backpacks, no room parent covering the gap, and everyone can see what was collected and what the teacher's gift cost.
Every class does it the same way: a note goes home asking for cash toward the teacher's gift, and one room parent ends up counting singles from twenty envelopes, chasing the families who forgot, and quietly topping it up so the gift card isn't an awkward amount. The people who care most about doing it right get the worst job.
Class gifts work best when no family feels put on the spot for a number. Set a target for the gift as the table's goal and suggest a per-family amount, but let people chip in what works for them. A single-income family and a two-income family don't have to give the same, and nobody has to say so out loud. The running total tells the organizer when there's enough to buy.
For an end-of-year gift that runs bigger, or a group of teachers and aides, the same table holds it all: one total instead of three separate lists, and a clean record of who was part of it for the card. The money goes directly to the organizer through Stripe, TableCash never holds it, and the app is the record the whole class can open. Doing an office collection instead? See collecting for a coworker's gift.