Inspiration

I work on flood forecasting: models that predict how much water a river will carry days before it arrives. That work taught me something uncomfortable. A forecast can be right and still save no one, because the hard part comes after it: getting people to act. Front Porch is that second half of the problem, approached the same way: use data to change, even a little, what happens to people when danger comes.

Our first idea came straight from the data. Qloo knows what people like to watch, hear and eat, so we started on the entertainment side: a planner that helps a community venue choose a film night two different audiences would both enjoy. It worked, but it felt bland. A better film night does not change much for anyone. So we went looking for a place where the same data could matter more, and found one where the stakes are survival.

Front Porch is small. It helps a county emergency manager choose who should carry preparedness messages before the season. It cannot prove that it changes anyone's behaviour, and we do not claim that it does. But preparation before a storm is part of what keeps people out of emergency rooms during it. If one family in a high-risk county learns its evacuation zone because the message came from a voice they already trust, that matters more than anything else I could have built for this hackathon.

What it does

Every spring, county emergency managers and National Weather Service staff recruit local partners to repeat official preparedness messages. NOAA runs a formal programme for this, Weather-Ready Nation Ambassadors. This is preseason outreach, not warnings during an event: those go through official alert channels.

The hard part is not the message, it is the messenger. Which teams, schools, businesses and venues does the population in the highest-risk counties actually follow? Ask a chatbot and you get plausible names: some from the wrong state, some long gone, none with evidence of where their audience lives.

Pick a state and a hazard. Front Porch then:

  1. Finds where the danger is. FEMA's National Risk Index picks the highest-risk counties (Alabama · hurricane: Mobile, Baldwin, Escambia, Covington, all at the 95th–99th national percentile).
  2. Finds who has fans there. Qloo recommends the organisations and artists that over-index around each of those counties.
  3. Checks the following is local. Qloo maps each candidate's 20 strongest areas across the US; at least 10 must be in the state. National brands and out-of-state stars fail here.
  4. Measures overlap with the risk. Qloo maps the following within the state; Front Porch measures the share that falls inside the highest-risk counties. The University of South Alabama scores 94%.
  5. Checks it is real and still around. Wikidata confirms headquarters or origin in the state and catches the deceased and the dissolved.
  6. Finds places for events and posters. Qloo finds real venues inside each risk county that match local taste (39 in Alabama).
  7. Drafts invitations. Gemini writes the greeting and closing; the official National Weather Service safety text is inserted by code, word for word. A person approves every invitation.

Public figures (artists and other individuals) are listed separately under "Vet before inviting" and get no drafted invitation: Qloo shows where a following lives, not whether a person suits an official safety message.

Why not just ask a chatbot? Front Porch asks Gemini the same question with no data and runs every answer through the same checks. In Alabama, Gemini's 10 suggestions included the Mobile BayBears, a team dissolved in 2019, and a rapper whose fans are mostly in Tennessee; only 2 of the 10 could be confirmed local. In Oklahoma it did better (5 of 10), and the page says so. What Gemini cannot do is show where each partner's audience lives relative to the risk, or find the venues. That is what Qloo adds.

How we built it

  • Qloo, through Qloo's official MCP server (@qloo/qloo-harness, the hackathon endpoint). Tools used: qloo_recommend with signal_location (who over-indexes around a county), qloo_recommend with target_type: place and filter_location (venues inside a county, county confirmed from Qloo's geocode), qloo_where_popular across the US (is the following local?) and within the state (does it cover the risk?), and qloo_describe (resolving Gemini's names to Qloo entities). A typical plan makes 50–100 Qloo calls; each call's input and result is listed in the evidence trail in the app and in the JSON export.
  • FEMA National Risk Index (county layer, December 2025 release) for hazard risk scores and county shapes.
  • Wikidata (SPARQL) as an independent check: place in the state, date of death, date of dissolution; religious and political organisations are excluded.
  • Gemini (gemini-3.5-flash-lite) for the model-only baseline and the invitation greeting and closing. A draft is rejected if it contains any number that is not in the evidence.
  • Stack: TypeScript, Node 22, Express, React, Leaflet with OpenStreetMap; Docker on Google Cloud Run; 11 offline tests with fake Qloo, FEMA, Wikidata and Gemini.

The decisions are rule-based and visible on purpose: every recommendation can be traced to the Qloo and Wikidata results behind it.

Challenges we ran into

  • Keeping the comparison with Gemini fair. Qloo's maps for local TV stations are thin and once placed an Oklahoma City station in Colorado. So a Gemini answer is only called "not local" when Wikidata agrees; Qloo alone makes it "couldn't check", never wrong.
  • Model answers change between runs. The Gemini answers shown in the demo were recorded live on Oct 20 and are pinned, so the demo and the write-up agree. We pinned the run that was current when the interface was finalised, not a selected one.
  • Locality is not the same as fame. National names surfaced constantly (Carrie Underwood, Kacey Musgraves, Kendra Scott). The 10-of-20 locality test removes them.

Accomplishments that we're proud of

  • A recommendation an emergency manager can check in seconds: the map shows the partner's fans sitting inside the red-outlined risk counties.
  • Catching what a chatbot gets wrong (a team dissolved in 2019, an out-of-state artist) with independent evidence rather than another model's opinion.
  • An honest scope: what the tool does not know is stated on the page.

What we learned

Qloo's location signal is strongest exactly where general-purpose models are weakest: hyper-local organisations and venues. The combination of where the risk is, where the fans are, and whether the organisation still exists is something none of the three sources gives alone.

What's next for Front Porch

  • More hazards per county (flooding is where my forecasting work and this tool meet).
  • Letting an emergency manager add partners they already work with, to see their coverage gaps.
  • A pilot with a real county office, measuring whether partner messages reach the risk counties, which is the evidence this prototype does not yet have.

Honest limits

  • Qloo affinity shows where a following is concentrated relative to elsewhere; it is not a head count, a measure of trust, or proof that a message changes behaviour. Front Porch shortlists whom to invite; it does not predict reach.
  • Choosing the messenger is one step of preparedness outreach, not the main barrier: many people know the risk and still lack the money, transport or time to act.
  • Not an official NOAA, NWS or FEMA product.

What I decided and reviewed

  • I chose to enter with this concept: aiming Qloo's data at disaster preparedness rather than entertainment, which comes from my work on flood forecasting.
  • I reviewed the live demo and challenged the framing. That led us to scope Front Porch to preseason partner recruitment, not warnings during an event, and to keep the claims modest.
  • I decided that artists and other public figures should not be default invitees: they are listed separately, to vet first, and get no drafted invitation.
  • I found the first interface hard to follow and asked for the redesign; I reviewed the result and kept the name Front Porch.

Development disclosure

Front Porch was developed with an AI coding agent (Claude) under my direction. AI tools assisted with concept exploration, architecture, implementation, tests and documentation. Gemini (gemini-3.5-flash-lite) runs inside the product for the baseline comparison and invitation drafts. We do not claim that AI-generated code was written by hand.

Built With

Share this project:

Updates

Submission history