Inspiration
I kept watching parents — including people around me in Bengaluru — live inside Screen Time and Digital Wellbeing. The phone already has a lock. What they do not have is a desk: something that notices a new app, a missed Saturday file, or a Reddit ask, and only knocks when a human has to say yes or no.
The AWS Agents for Humans brief asked for agents that take on repetitive work and surface only for a real decision. Everyday life is full of that work. I did not want another parental-control dashboard, and I did not want a chatbot that pretends to lock a device. I wanted a coordination layer around the OS.
The line that held the whole project together:
The OS still enforces. The agents coordinate. The parent decides.
We do not control the device.
───
What it does
Family Loop is an Everyday Agent for one family: Meera (parent) and Aarav (13).
• Two doors. The child cannot change rules or approve himself. • A setup coach turns plain-language house rules into a Family Policy (ask-first, hard-no, school hours, sports-phone, YouTube-after-homework). • Request triage files asks (site, install, extra time, new contact). Social, money, new apps, and new contacts are never a silent yes. • Check-in runner stores a human Screen Time paste — or a photo read to text — and diffs it against approved apps. • Digest writer runs Sunday as a multi-step evaluation: policy → week → snapshot → missed pings → pending asks → Red / Needs you / Green, then a simulated WhatsApp labelled as simulated. • Override clerk logs Meera’s yes/no. History changes the explanation (Reddit ×3, still pending). It does not change the rule. • Persistent family state: policy, people, approvals, routines, patterns, unresolved decisions, attention (urgent / decision / informational). • A live family calendar. Saturday is submission. Sunday is evaluation. • Fast-forward simulation so judges do not wait for a real weekend.
Observe → remember → reason → ask → decide → observe again.
───
How I built it
Python FastAPI serves parent and child UIs. Strands Agents SDK runs a Family Desk orchestrator with five specialists as tools: setup coach, request triage, check-in runner, digest writer, override clerk.
The important split:
• Agents route, explain, and draft. • Deterministic Python owns policy, triage, ping limits, snapshot diffs, and Sunday buckets. • If the model is down or skips a tool, the same tools still file the artifact. The demo does not die.
Memory is a JSON family store that survives restart — not a chat log.
Models: LM Studio (OpenAI-compatible, http://192.168.31.64:1234) for a live local loop, and Amazon Bedrock Claude Sonnet when AWS access is on. Tests pin a local Strands loop so CI does not need a GPU.
The UI is a parent command center (Home, Decisions, Timeline, Calendar, Family state, Rules) and a child desk (asks + snapshot). When an agent actually runs, its named pet pops top-right in that agent’s colour.
29 automated tests cover must-ask on Reddit, child cannot self-approve, override logging, new-app exceptions, deterministic Sunday, agent-fail still files, and fast-forward vs live simulation.
───
Challenges I ran into
Honesty vs. magic. It is tempting to say “we locked the phone.” I spent more time removing that claim than adding features. Guardrails strip device-control language. Snapshots are labelled human paste. WhatsApp is labelled simulated.
Agents that do real work, not theatre. A FastAPI script that never calls Agent(...) would fail the brief. A free-form chatbot would fail the product. The hard part was a real Strands loop whose tools are still the source of truth.
Longitudinal memory without bypass. “Reddit requested 3 times, pending 4 days” is useful. Using that to auto-allow social would break the architecture. Context may explain. Policy still governs.
Demo time. Judges will not wait until Sunday. Fast-forward and a live calendar had to produce the same Red / Needs you / Green as a real week, without lying about the OS.
No Bedrock on day one. I shipped LM Studio as a live local provider and kept a deterministic fallback so the video and tests never depend on credits.
───
What I learned
The winning shape for this hackathon is not “more agents.” It is a boundary:
AI coordinates. Deterministic code governs. Humans decide.
Family Loop only works if Meera’s attention is scarce. The product is not a feed of ten events. It is one urgent, one decision, seven informational.
I also learned that a parent UI that hides Rules, Decisions, and proof of save is a broken product, even if the API is correct. The command center had to make family state visible.
───
What’s next
Point the same orchestrator at Bedrock for submission judging, optional AgentCore Runtime around the same desk, and EventBridge on POST /api/digest so Sunday is a real background job. Still no MDM. Still no silent yes on social.
Log in or sign up for Devpost to join the conversation.