--- Inspiration

Financial hardship is not only a money problem; it is also an attention and coordination problem. A person may receive utility notices, medical statements, credit letters, and requests for supporting documents at the same time. Each item has a different deadline and consequence. Missing one date can make an already difficult situation worse.

I built ReliefRelay to explore a focused idea: an AI agent should not merely explain a notice and wait for another prompt. It should transform the notice into a bounded, auditable case, complete safe administrative preparation, and return at the right time to protect the next deadline.

--- What it does

ReliefRelay converts a synthetic bill or hardship notice into a monitored case. The Gemini agent extracts the creditor, amount, due date, stated consequence, and supporting evidence. Deterministic tools verify the required fields, calculate urgency, and check each proposed action against an explicit safety policy.

When the evidence is sufficient and the action is permitted, ReliefRelay prepares a factual request for hardship options, records the case and audit events in Firestore, and schedules a follow-up. Google Cloud Scheduler resumes monitoring every six hours, even when no chat session is open.

ReliefRelay never initiates payments, accepts legal terms, changes an account, or claims that a prepared request was sent. Messages require human approval, low-confidence extraction stops for review, and all demonstration data is synthetic.

How I built it

The agent runs as a FastAPI service on Google Cloud Run and is orchestrated with Google Agent Development Kit (ADK). Gemini 3.5 Flash interprets the unstructured notice and selects narrowly scoped Python tools. These tools validate evidence, calculate priority, enforce action policy, prepare the request, persist the case, and schedule a follow-up.

Cloud Firestore stores durable case state and append-only audit events. Cloud Scheduler calls a token-protected monitoring endpoint every six hours. Cloud Run logs provide execution evidence. A responsive React and TypeScript dashboard presents prioritized cases, agent activity, safety boundaries, and verified live-cloud status.

--- Challenges I ran into

The hardest design problem was deciding where autonomy should stop. Financial workflows are sensitive, so giving an agent a broad “help the user” tool would be unsafe and difficult to evaluate. I divided the workflow into small deterministic functions and required an explicit policy check before every administrative action.

I also needed asynchronous monitoring without creating unnecessary costs. I used a scale-to-zero Cloud Run service, a six-hour Scheduler job, strict processing limits, synthetic-only public inputs, and a persistent limit of 10 live demonstrations per day.

--- Accomplishments that I am proud of

  1. Built a real multi-step agent workflow rather than a single-prompt wrapper.
  2. Added source-grounded verification, confidence controls, and a human-review path.
  3. Created idempotent case IDs and an auditable tool-event trail.
  4. Implemented scheduled monitoring that continues without an open chat session.
  5. Enforced a policy boundary that blocks payments, legal commitments, account changes, and low-confidence actions.
  6. Created a reproducible Google Cloud deployment with cost protections.
  7. Secured the public demo with synthetic-input restrictions and a persistent 10-run daily limit.

--- What I learned

I learned that useful agent autonomy comes from constraining the action space, not from writing a longer system prompt. Gemini is best used for interpretation and tool selection, while deterministic code should control money, dates, policy, and persistence. I also learned that logs, durable state, clear failure modes, and honest status labels make an agent easier to trust and evaluate.

--- What's next

Next, I would add authenticated user workspaces, encrypted document storage, provider-specific hardship checklists, multilingual notice extraction, and optional human-approved delivery through email or provider portals. Before any real-world use, I would add a formal security review, privacy controls, provider validation, and jurisdiction-specific legal review.

Built With

  • fastapi
  • gemini-3.5-flash
  • google-agent-development-kit
  • google-cloud-firestore
  • google-cloud-logging
  • google-cloud-run
  • google-cloud-scheduler
  • python
  • react
  • typescript
Share this project:

Updates

Submission history