Inspiration

Since 1998, 1,070 children in the U.S. have died of heatstroke in parked cars, an average of 37 a year (NoHeatStroke.org, updated September 28, 2026). 35 died in 2025, and 25 more have died so far in 2026. More than half were under 2. Florida is second only to Texas. 118 Florida children died in hot cars from 1990 to 2023, against 155 in Texas, and 7 died in Florida in 2023 alone, the most since 2017 (Kids and Car Safety, via FOX 13). This July, a 17-month-old in Fort Myers became Florida's fifth hot-car death of 2026 (WFTV). By early July, every Florida child lost was three or younger (FOX 13). Most of these deaths are not neglect. From 1998 to 2025, 52.9% of the children were forgotten by a caregiver, 23.8% climbed into a car on their own, and 21.9% were knowingly left (NoHeatStroke.org). A memory lapse can't be fixed with a reminder sticker. It needs something in the car that notices. Florida leaves almost no time to notice. A closed car warms about 19°F in its first 10 minutes, and cracking the windows changes that by less than 3°F (Null, San Jose State; McLaren, Null & Quinn, Pediatrics 2005). On an ordinary 91°F Orlando afternoon, that puts the cabin past 104°F, where heatstroke sets in, within about 7 minutes. Echo's Warning fires at 95°F, a few minutes before the cabin reaches danger.

What it does

Echo turns a forgotten child into a siren within seconds and a phone call within minutes, and it keeps working with no internet.

  1. Detects. When the ignition turns off, the box watches the car seat with an ultrasonic sensor and reads cabin temperature every 2 seconds.

  2. Predicts. It fits a line through the last 2 minutes of readings and computes minutes until the cabin reaches 104°F. That number comes from real sensor data, never from AI.

  3. Alarms. Alert levels climb from Armed to Occupant to Warning (95°F, or 10 minutes to danger) to Emergency (104°F, or 5 minutes). An RGB LED changes color and a siren sweeps. Only a person pressing the button on the box, or turning the car back on, can stop it.

  4. Dispatches. At Emergency, plain code starts a backup call ladder: call Contact #1, call again at 2 minutes, call Contact #2 at 3 minutes, alert everyone at 5. An AI voice agent rides on top: it tells the parent how hot the car is and how long is left, hears "I'm 20 minutes away," and calls someone closer.

  5. Shows. A mobile app gives the parent a red full-screen alert with a minutes-to-danger countdown, the live heat curve, "I'm on my way" and "Call 911" buttons, and a feed of every call the agent makes and why.

  6. Forecasts Florida risk. A Databricks notebook pulls the next 24 hours of weather for six Florida cities and estimates how fast a parked car would reach danger each hour, so the app can say "On a 91°F afternoon in Orlando, a parked car hits danger in 7 minutes."

The AI may act earlier than the ladder, never later. Nothing received over Wi-Fi can silence or lower an alarm.

How we built it

We split Echo into layers so that each one can fail without taking down the one below it.

  • The box (Arduino Mega 2560). An HC-SR04 ultrasonic sensor aimed at the car seat, an LM35 temperature sensor, an RGB LED, a passive buzzer for the siren sweep, an ignition jumper, and a cancel button, on a 9V AA pack. The alert levels and minutes-to-danger math live in a plain C++ header that compiles for the Arduino and on a laptop, so we unit-test the life-safety logic before it touches hardware.

  • The Wi-Fi modem (ESP8266 NodeMCU). It only forwards the Mega's JSON status line every 2 seconds over a phone hotspot. Pull it out and the siren keeps going.

  • The server (Node.js, built-ins only). It receives the status, runs the backup call ladder, marks the box offline after 10 seconds of silence, and serves a live dashboard. Real calls only happen when an explicit live flag is set, so tests can never dial a phone.

  • The calling agent. Twilio places the calls. The ladder's first call tries an ElevenLabs voice agent and falls back to a plain Twilio call on any error or timeout. Gemini reads live car data and picks one tool at a time: get the car's status, place a call, or log a reason.

  • The app (Expo / React Native). Home, Live alert, Activity, Contacts, and Heat insights screens, with a rotating 3D car rendered locally with three.js.

  • The data (Databricks). One notebook logs every heat test from the box. A second pulls hourly Florida weather from the Google Maps Platform Weather API into Delta tables and applies the published cabin-heating curve to rank each hour from Watch to Extreme.

  • The Challenger. During development, Gemini invented tricky scenarios (a bag on the seat, a cooling cabin, a flickering sensor), and plain code graded the box's response. AI writes the tests; it never decides who passed.

Challenges we ran into

  • Aiming the seat sensor. An empty seat closer than 40 cm read as occupied forever. We learned to aim so the empty seat reads 55 to 60 cm, which gives a clear gap when a child is in it.

  • The silent Wi-Fi link. With its own USB plugged in, the ESP8266's USB chip held the receive line high, so the Mega's messages never arrived. Powering it from the Mega fixed it.

  • Siren vs. color. The siren's tone() borrows the timer behind pins 9 and 10, which broke color mixing. We moved the RGB LED to pins 44 to 46.

  • Texts don't get through. U.S. carriers block texts from unregistered numbers, and registration takes weeks. We made voice calls the alert channel, which also helps a saved emergency contact break through.

  • Cutting scope. Mid-hackathon we removed the humidity sensor, LCD, motion sensor, and joystick to keep the box simple and the demo reliable.

Accomplishments that we're proud of

  • The alarm can't be talked out of it. Pull the Wi-Fi modem mid-emergency and the siren keeps sweeping. Nothing from the server, app, or AI can silence or lower an alarm; only a person at the car can.

  • AI on a leash. The call ladder runs in plain code on a fixed schedule. If the AI crashes or stalls, the calls still go out.

  • Real numbers, not guesses. Every temperature and countdown the agent speaks comes straight from the box's sensors.

  • Tested like it matters. 283 server tests, 49 app tests, and 98,374 checks on the alert logic all pass, including 15 tricky Challenger scenarios.

  • A Florida-specific forecast. Echo turns tomorrow's weather in six Florida cities into minutes-to-danger for a parked car, hour by hour.

What we learned

  • A car becomes dangerous much faster than most people think. Most of the heating happens in the first half hour, and cracked windows barely help.

  • Most victims weren't left on purpose. Designing for a tired, distracted parent changed our app: one action per screen, big text, plain words.

  • Safety systems need a floor that doesn't depend on the clever part. Writing the rule first ("AI may act earlier, never later") made every later design choice easier.

-Hardware debugging is mostly power and grounding.

What's next?

  • Breathing, not just presence. Our ultrasonic sensor can't tell a bag from a baby. A production box adds mmWave radar to detect breathing.

  • Works anywhere. An LTE module so the box can call without a phone hotspot, and GPS so callers know where the car is.

  • A better cabin sensor. A BME280 for steadier readings in direct sun.

  • Florida first. Pilot with Florida daycare centers and pediatric offices, and push the hourly risk forecast to parents on the state's hottest days.

Sources NoHeatStroke.org, Jan Null, San Jose State University: national totals, 2025 and 2026 counts, circumstances, ages (updated September 28, 2026) FOX 13, May 22, 2024: Kids and Car Safety report, Florida and Texas totals 1990 to 2023 FOX 13, July 7, 2026: Florida ranks second; ages of 2026 Florida victims WFTV, July 22, 2026: Florida's fifth hot-car death of 2026 Vehicle Heating Dynamics, from McLaren, Null & Quinn, Pediatrics 2005;116:e109: cabin temperature rise by minute

Built With

Share this project:

Updates

Submission history