Static browser dashboard for monitoring live DataHacks 2026 registration data from published Google Sheets CSV exports.
- Topline registration metrics: total registrations, progress toward the registration goal, universities represented, and first-time hackers
- Participant breakdowns for tracks, majors, minors, level of study, university, referrals, first hackathon status, shirt sizes, overnight stay, food restrictions, interests, biotech focus, activities, and club memberships
- Skill distribution snapshots for coding/data, embedded systems, UI/UX and web, and product/presentations
- Separate mentor/judge analytics for company, role category, participation type, and UCSD affiliation
- The app fetches two published CSV feeds directly in the browser:
- participant registrations
- mentor/judge registrations
- Data is normalized client-side in
app.js - The dashboard refreshes automatically every 60 seconds and also supports manual refresh from the UI
- No build step, framework, or backend is required
Serve the project over HTTP so the browser can fetch the CSV sources:
python3 -m http.server 8000Then open http://localhost:8000.
Do not open index.html directly as a file:// page. Browser fetches to the published sheets are expected to run from a local web server.
Update these constants in app.js to point at different sheets or targets:
CSV_URL: participant registration CSVMENTOR_CSV_URL: mentor/judge registration CSVREGISTRATION_GOAL: topline registration targetREFRESH_INTERVAL_MS: polling interval
index.html: dashboard layout and chart containersstyles.css: visual design and responsive layoutapp.js: CSV parsing, normalization, metric aggregation, and chart rendering
- The dashboard expects the Google Sheets to remain published as CSV
- Graduation year is not displayed because it is not present in the participant sheet schema
- Several free-response fields are grouped into normalized categories before rendering so the charts stay readable