Inspiration

Every hackathon has a moment when the room goes quiet, people stare at their screens, and progress stalls. Organizers guess when to bring food, coffee and breaks, and hackers guess how tired they are. We wanted to replace both guesses with data, collected live at this Datathon.

What it does

Datathon Energy Clock shows when a hackathon crowd's energy dips and what organizers can do about it.

  • The Energy Clock: a 24-hour radial chart of the room's energy by hour.
  • Say vs Perform: compares how tired people say they are with how they actually perform on a reaction-time game.
  • What Helps: energy by sleep, caffeine, last meal and breaks, plus what people asked for at each hour.
  • Crash Predictor: estimates energy from sleep, caffeine, meals and time of night.
  • Organizer Playbook: turns the findings into a schedule for the next event, as a downloadable file.
  • Dataset and Methods: a collection timeline, data quality checks, and what the data can and cannot tell you.

How we built it

Collecting the data (two instruments we built during the event):

  1. A 30-second check-in (Google Form): energy and focus on a 1-5 scale, hours slept, caffeinated drinks, last meal, break in the last hour, project status, and what would help right now.
  2. Fatigue Lab: a single-file HTML game. Players do 5 reaction-time rounds (tapping too early counts as a false start), then try to tap when they think exactly 10 seconds have passed. Results post to a second Google Form, with a backup on the device, an upload retry queue, and an admin page for CSV export.

Privacy: every participant confirmed they were 18+ and gave consent. We asked for first names only, so we could link a person's check-ins with their game results. Names never leave our private files: the pipeline replaces each one with a stable ID like P01.

Analysis (Python): the pipeline reads both form exports, removes duplicates and rows without consent, and pairs each game session with the same person's check-in within 45 minutes. For each session we compute an awareness gap:

$$ \text{gap} = z(\text{self-reported energy}) - z_{\text{perf}}, \qquad z_{\text{perf}} = -\,z(\text{reaction time}) $$

A positive gap means a person felt better than they performed. The Crash Predictor is a ridge regression. We test it with leave-one-participant-out cross-validation, and compare it with a baseline that always predicts the average.

App: Streamlit and Plotly, with 7 pages. Every number carries a label: Self-reported, Measured, Derived or Model.

Our data

Over about 11 hours, we collected 21 check-ins and 21 game sessions from 20 participants, and matched 11 game sessions to a check-in. In our sample, average energy was lowest around 10 PM.

Challenges we ran into

  • University account defaults: our TAMU Google Workspace collected verified emails and limited responders to TAMU accounts by default. That would have exposed identities and quietly blocked uploads from the game, so we caught and changed both settings.
  • A bug we found in testing: headless browser tests showed that the game's upload queue locked itself after the first page load, so no result would have uploaded. We fixed it before collecting any data.
  • Getting people to come back: most participants checked in once, not every hour. So our results are a snapshot of the room across the night, not hour-by-hour tracking of each person.
  • Small sample honesty: with about 20 people, we report how many people are behind every chart, show confidence intervals, and hide any statistic based on fewer than 3 participants.

What we learned

  • How a person feels and how they perform are different measurements, and collecting both is what makes the data interesting.
  • Designing collection for low effort (30 seconds, no app install) matters more than adding more questions.
  • With a small dataset, saying clearly what it cannot tell you builds more trust than claiming more than it shows.

What's next

  • QR codes at every table, with hourly reminders, so we can follow each person through the night.
  • Live dashboards for organizers during the event.
  • Running it at multiple hackathons to compare crash hours across events.

Built With

  • dataset
Share this project:

Updates

Submission history