Inspiration

A tidy room is not defined by universal rules. One household may allow a teddy bear on the bed, while another expects it on a shelf. Generic visual analysis can recognize objects, but it does not naturally learn the preferences of the person whose room is being checked.

What it does

RoomCoach is an adaptive room-reset partner available through a hosted web interface.

A user creates a room and uploads a reference photo showing the desired state. For each later check, RoomCoach compares a current photo with that reference, produces a score, and returns prioritized issues describing the object, problem, expected state, and severity.

The user can correct the agent when a recommendation is inappropriate—for example, “The teddy bear is allowed on the bed.” RoomCoach converts that correction into room-specific memory and applies it during future checks.

How we built it

The browser interface and backend are hosted together on Google Cloud Run. The backend uses Python 3.12 and FastAPI.

A single Google ADK root agent coordinates the workflow through three scoped tools:

  • load_room_reference()
  • save_room_state()
  • save_user_correction()

The agent uses Gemini 3.5 Flash through Vertex AI for multimodal comparison and structured analysis.

Firestore stores rooms, completed checks, scores, issues, and learned placement rules. Cloud Storage stores normalized reference and current-room photos as private objects.

Why it is agentic

RoomCoach does more than send a photo to an image model.

For every check, the ADK agent loads persistent room context, retrieves learned rules, reasons over the reference and current photos, validates the structured result, reconciles household-specific exceptions, saves the completed check, and returns prioritized actions.

When the user provides feedback, the agent grounds that feedback against the room and check context, converts it into a reusable rule, saves it, and changes its behavior during later checks.

Ambiguous feedback can produce a clarification request instead of silently creating an unreliable rule.

Challenges

The main challenges were producing reliable structured output from multimodal analysis, separating model reasoning from authoritative application state, grounding corrections against real check results, and keeping uploaded photos private while still providing a judge-accessible demonstration.

Accomplishments

RoomCoach provides a complete deployed workflow:

  1. Create a room.
  2. Save a reference photo.
  3. Upload a current photo.
  4. Run a multimodal room check.
  5. Receive a score and prioritized issues.
  6. Teach the agent a correction.
  7. Save the correction as room-specific memory.
  8. Apply that learned preference during later checks.

The production service runs on Google Cloud and has completed real room checks and feedback operations.

What we learned

Household feedback is more valuable when represented as explicit, inspectable rules rather than hidden only inside a prompt.

We also learned that one well-scoped agent with carefully designed tools can be more dependable than a larger agent system for a focused workflow. The important agent behavior comes from persistent context, validated tool execution, and observable changes in future results.

Data sources and disclosure

RoomCoach does not use an external dataset. Its inputs are room photos and corrections supplied by the user.

RoomCoach was created during the hackathon submission period beginning August 27, 2026 and uses standard open-source frameworks and development tools.

No pre-existing project code was incorporated. RoomCoach uses standard open-source dependencies listed in the repository and the standard Apple and Google SDKs.

What's next

Future work could add stronger object-level visual tracking, a user-facing rule-management interface, improved accessibility, and configurable privacy and image-retention controls.

The hackathon version intentionally remains focused on the smallest complete adaptive room-check workflow.

Built With

  • cloud-run
  • cloud-storage
  • css
  • fastapi
  • firestore
  • gemini-3.5-flash
  • google-adk
  • google-genai
  • html
  • python-3.12
  • vertex-ai
Share this project:

Updates

Submission history