Inspiration
Every late summer, outdoor practices and work crews face rising heat index and wet bulb globe temperature (WBGT) risks where humidity, direct solar radiation, and low wind turn an ordinary afternoon into a medical emergency. Understanding how those four weather variables interact on the five-tier WBGT flag scale should be intuitive and hands-on rather than buried inside a static PDF chart.
What it does
Flag Call puts you in the coach's shoes on a hot August practice field:
- Live WBGT Instrument & Sliders: Interactive controls for air temperature, relative humidity, radiant heat, and wind speed feed a live Wet Bulb Globe Temperature readout using the Stull (2011) wet-bulb approximation and standard 0.7 / 0.2 / 0.1 outdoor WBGT weighting.
- Eight City Heat Wave Presets: Instant snapshots modeling extreme conditions from Houston at 101 F to Phoenix at 118 F.
- Block-by-Block Practice Decisions: Evaluate multi-block practice cards and call the restriction flag for each block (Normal, Watch, Caution, Warning, or Danger at the 82, 85, 88, and 90 F thresholds).
- Nine-Step Day 1 Walkthrough & Judge Shortcuts: A guided nine-step interactive tour teaches the flag tiers on a live afternoon card, paired with one-tap See an Unsafe Plan and Show the Safe Call shortcuts in both the main panel and the sticky mobile run bar.
How we built it
Flag Call is built in zero-dependency vanilla JavaScript, semantic HTML5, and CSS custom properties so it runs offline and loads instantaneously on any phone or laptop:
js/engine.jsimplements the pure psychrometric and WBGT math, tier escalation thresholds, eight city presets, eight practice card templates, streak-aware call grading, and walkthrough state.index.htmlandstyles.cssprovide semantic landmarks, labelled sliders, fieldset radio flag groups, a native dialog for judge inspection, focus-visible rings, and a 44px touch target floor.
Testing and Honest Playtesting Disclosure
Playtesting was conducted entirely via automated bots over 592,704 simulated schedule combinations (8 city presets x 8 practice cards x 21 humidity levels x 21 sunlight levels x 21 wind levels = 1,629,936 block evaluations), with zero human subjects involved. Every combination was verified against an independent inline oracle for numerical agreement within 1e-9, tier band agreement, physical bounds, weather-axis monotonicity, and scoring consistency. The repository ships with 20 automated node:test suites covering 158 engine assertions, 34 accessibility and WCAG contrast checkpoints, the 592,704-combination bot sweep, and 32 DOM smoke checks.
Links
- Live Game: https://aariv.me/flag-call/
- Source Code: https://github.com/draarivpatel-ui/flag-call
Log in or sign up for Devpost to join the conversation.