I’ll start of by admitting our current solution is anything but high-tech. We have two distinct needs, so we actually have two separate systems.
(1) Because we are guests at the University where we work, we have several physically distinct work locations, and it is a 4H requirement (and a darn good idea) that we know where every student is, so everyone signs in (and later out), on paper, and they include the location where they are going to be working. So, in case of some sort of evacuation, a mentor can grab this sheet and know who was where, so we can do attendance at our outside “rally point” (Ok, it’s just a tree).
(2) As for keeping track of hours worked, students just edit a google sheet, which is double-checked by team leadership. We expect at least 70 hours between kickoff and our 1st regional (ie avg about 10hrs/week). Our most dedicated students put in twice that or a bit more (you stop earning additional points towards your robotics letter at 100 hours).
In theory this could be used for travel/not-travel decisions, but I’m unaware of that actually happening in my time on the team (we have an “associate” membership category for those who can’t make the time commitment, so they’re already sort of self-selected out).
[EDIT: added this section]
We make it quite clear from the outset that if you are not meaningfully contributing, we will send you home. And we say don’t take it personally, there just may not be enough work currently available for the number of people present. This has an affect of getting most people to work right away, and proactively asking what else there is to do when they have finished a task.