-
-
Sharing a resource takes seconds — neighbors offer what they can spare, no back-and-forth needed.
-
Asking for help: a neighbor requests a generator, marked urgent — the board shows it already matched nearby.
-
The Hearth homepage — live stats and board show real matches happening automatically as neighbors post.
Inspiration
During disasters, outages, or everyday shortages, neighbors often have spare resources — generators, water, tools, rooms, food — that go unused while others nearby are struggling. There's no fast way to know who has what and who needs what, right now. We wanted an agent that quietly closes that gap.
What it does
Hearth lets neighbors post what they can offer or what they need. A Strands agent automatically searches for a match (same resource type, same area preferred), confirms it, and drafts the notification for both people. It runs quietly in the background and only surfaces when there's a real match or an unmet high-urgency need.
How we built it
The core is a Strands Agent with four custom tools: register_resource, register_need, find_match, and notify_match. Gemini (gemini-2.5-flash) is the model provider. A Flask API connects a custom HTML/CSS/JS front end to the agent, and the front end polls for live updates so matches appear in real time on the board.
Challenges we ran into
Getting model access approved on a brand-new AWS account was blocked by Bedrock's new-account restrictions, so we switched to Gemini as the model provider to stay unblocked and keep building. We also iterated on the UI multiple times to get an interface that felt calm and trustworthy rather than like a typical SaaS dashboard.
Accomplishments that we're proud of
A fully working end-to-end flow: post a need, get matched, and see it happen live — with a UI and architecture diagram designed specifically around the "quiet agent" concept.
What we learned
How to structure a Strands agent's tools and system prompt so it acts autonomously but still knows when to hand control back to a human.
What's next
Real notification delivery (SMS/email via SNS), a map view, and persistent storage (DynamoDB) instead of a local JSON file.
Log in or sign up for Devpost to join the conversation.