Question about specific use of User-specific Columns

My app is for a camp that involves a relatively simple simulated economy. Each student using the app will have $1000 of virtual currency to exchange. Currently, I have a complicated set of columns in the User table that exchange data with another couple tables to run this. Things like giving money to someone else, purchasing items, paying fees/fines, etc go between the various tables.

I’ve been thinking that this might be easier to handle on just one “Money” table that treats the User’s bank balance as a User-specific Column, with the other Columns also being User-specific in that table and calculating between them what the User is doing. The thing is, we will have around 1000 users split into 16 groups and need to coordinate all of this, so it feels unintuitive to me that one table with user-specific columns can actually do this…even if that’s what the point is supposed to be.

Will this work?

Should work. User specific columns provide a unique experience for each individual user that is signed in with their own account.

User specific column values are technically stored is a hidden table that has separate rows for each user.

Should be fine.

Great! I wanted to verify this before I tried to implement it.

Do you know if Glide will have any issues with hundreds of people accessing/updating these columns all at the same time?

I wouldn’t think it would be a problem.

Follow-up question:

I want to create a list of all the transactions that a particular individual made, then combine that into a master list that can be sorted. For example, if I have 50 students and I’d like a list of every student and the debits/credits/etc that they made from their accounts, would I be able to somehow do that with user-specific columns? Somehow pull together ALL the data into a report?

No, you can’t aggregate user specific data from all users, but maybe I’m misunderstanding your goal.

I am assuming that your Money table would only be used for temporary transaction calculations. The current balance would still be stored in the user table and then brought into the money table for further calculations. Then data from the money table would be written to a separate transaction log table. One row for each individual transaction. The transaction log table shouldn’t have any user specific columns. With that, it would be easy to get your cumulative data from that transaction log file.

But reading your post, I feel like I’m missing something both how you currently have this set up.