mom.life
mom.life is an AI assistant for parents that tracks their children's school, health, and safety information and handles family tasks.
Inspiration
Parents manage schoolwork, appointments, care instructions, activities, and communication with teachers and caregivers. These responsibilities involve several people and services. A school message may require a reply, a document, a calendar check, and a later follow-up. The parent has to remember the instruction and establish whether each action happened.
This work adds to an already substantial burden. The U.S. Surgeon General's Parents Under Pressure advisory reports that, in 2023, 48% of parents described their stress as completely overwhelming most days, compared with 26% of other adults. The advisory also identifies a relationship between parental mental health and children's long-term well-being. Parents Under Pressure
Children's online activities create additional concerns about safety and mental health. Their experiences differ according to the content and interactions they encounter, their circumstances, and effects on activities such as sleep. The Surgeon General's social-media advisory discusses both these risks and benefits such as social support. Social Media and Youth Mental Health
A parent trying to understand a change in a child's well-being may need information from several sources and dates. For example, a teacher's observations and a sleep record can help the parent prepare questions for a follow-up. Each record needs to remain attributable to its source, and the review needs to concern the correct child.
I built mom.life to organize that information and execute the work parents request from it. The intended benefit is less manual coordination: the parent gives an instruction, the agent performs the available steps, and the parent can inspect the result or answer a necessary question.
What it does
mom.life provides child profiles, document folders, incoming information, education summaries, tasks, and automations. The parent can ask questions or assign work in ordinary language. The agent reads relevant records and uses enabled connections to perform the requested actions.
For school work, incoming teacher information can update a child's education summary or change an existing task. The summary retains links to its supporting records. The parent can ask the agent to review recent updates, prepare a message, or carry out a follow-up using connected services.
For caregiver coordination, a task can include sending a message, waiting for the reply, and acting on the answer. The worker records the sent message and a subscription identifying the expected reply. It pauses until that reply arrives. The resumed worker receives the original instruction, message receipt, and reply, and performs the remaining steps. The task displays its progress, waiting state, questions, and recorded result.
For repeated or future work, the agent can create an automation attached to a task. The automation specifies what to check, when to check it, and the condition for notifying the parent or taking a requested action. Triggers can be scheduled, incoming-information events, or health updates. Each run receives the previous check result and relevant task evidence. The parent can inspect, edit, pause, or delete the automation.
Safety settings let the parent select children and information sources, choose the alert threshold and review depth, and supply additional instructions. The Safety Agent reviews the selected evidence and records a decision and reason. A flagged incoming item is held for the parent's attention before ordinary intake and education processing continue. Alerts are delivered in-app.
Connections include Google Workspace and Classroom, WhatsApp Business messaging, supported health providers, household services, MCP tools, and AgentCore Browser. Access depends on the family's enabled connections and profile permissions. Reviews use information supplied to the workspace or accessible through those connections.

How we built it
Strands Agents and Amazon Bedrock
The parent-facing agent, task planner, assignment workers, Intake Agent, Safety Agent, and Education Agent use Strands Agents SDK with Amazon Bedrock model inference. Strands lets the model select tools, receives their results, and returns those results to the model for the next action. Each agent receives tools and instructions for its operation. The agents are deployed as a Python application on Amazon Bedrock AgentCore Runtime.
The parent-facing agent answers questions and controls task creation, revision, and automation management. Its commentary, tool calls, and responses stream into the conversation. Tasks are stored separately from the conversation so their execution can continue after the chat response ends.
An assignment is a stored step with instructions and expected outputs. The planner reads the requested outcome and existing assignments. It returns validated operations to create, reuse, update, steer, retry, or cancel work. These operations preserve completed results when a parent changes an instruction. Dependencies determine when an assignment requires the result of another.
A worker is constructed from its assignment: instructions, expected outputs, selected skills, dependency evidence, previous tool activity, and the parent's answers. Skills contain editable procedures for the work. This lets the same worker implementation handle different requests, resumed conversations, and automation checks.
Tool access and action records
Workers start with a directory of permitted tool namespaces, which group tools by service. They use load_goal_tools to retrieve the schemas for a needed service and call_plugin to execute an exact tool. Provider APIs and MCP connections supply the available operations. AgentCore Browser provides managed sessions for tasks that need a website.
The plugin runtime checks current family installation, profile source settings, and permissions at execution time. Connection credentials are held server-side. Tool starts, results, failures, and worker progress are recorded against the assignment. Completion requires evidence for the expected outputs, which the task runtime validates before updating the board.
Child context and conversation persistence
Amazon RDS PostgreSQL stores family profiles, source records, documents, child context, education summaries, tasks, questions, action receipts, automations, and notifications.
Incoming information is saved before interpretation. Safety reviews the configured scope. Intake then determines whether the item should update context, resume existing work, create a task, or request attention. Education maintains a natural-language summary for each affected child with links to supporting items.
AgentCore Memory stores chat events through its Strands session integration, scoped by family and conversation. PostgreSQL stores the operational records needed to reconstruct a task, including the instruction, completed steps, and reason for waiting.

Task resumption and durable scheduling
A worker that needs a parent decision saves a question. A worker waiting for a provider reply saves the matching subscription. The agent run can end while these records remain in PostgreSQL. An answer or matching event makes the task ready to resume with its saved context.
Amazon EventBridge Scheduler holds time-based automation triggers. It invokes a Lambda dispatcher, which validates the automation's enabled state and version, writes a deduplicated wake record requesting a check into PostgreSQL, and emits a database notification. The backend listens with LISTEN / NOTIFY and drains persisted wakes on startup. A delivery received while the backend is offline remains available when it restarts.
Task leases prevent overlapping execution on the same task and coordinate automation checks with existing work. A check receives the standing instruction, original task, child scope, completed evidence, previous check time and result, and new trigger information. It records the current result and notifies the parent when the requested condition is met. Edits and pauses invalidate older automation versions before subsequent provider calls.

AWS deployment
The Next.js frontend runs on Vercel. Authenticated server routes forward requests and streams to FastAPI on ECS Fargate, behind CloudFront and an Application Load Balancer. FastAPI handles accounts, family APIs, provider callbacks, task coordination, and application event delivery.
AgentCore Runtime hosts Strands execution in a VPC-connected environment. Its entrypoint dispatches chat, planning, work, intake, safety, and education operations. Agents invoke Bedrock models and execute permitted tools inside the runtime, with access to RDS. Secrets Manager provides configuration and a stable connection-encryption key shared with the API. AWS execution roles authorize the hosted services.

Challenges we ran into
The main design challenges concerned information and execution across multiple interactions.
Child identity and changing records. Incoming information can mention several children or revise an earlier arrangement. Intake needs to identify the person concerned, retain the original source, and determine which existing record or task should change. The agents read current family state before making updates.
Tasks waiting for external replies. Sending a question completes only one step of a request that also requires acting on the answer. The message receipt, wait subscription, reply, and remaining instruction therefore belong to the same assignment. The resumed worker receives all of them.
Automation delivery and concurrent execution. A delivery can arrive during a backend outage or while the parent is editing a rule. Persisted wakes, version checks, deduplication, and task leases determine which check can run. Saved run identities let recovery find work already created for that wake.
Parent oversight. The parent needs to see what was attempted, what succeeded, and which decision is still required. The interface exposes tool activity, task questions, results, and automation controls. Permission checks apply again when a tool executes, including after settings have changed.
Accomplishments that we're proud of
The implementation connects source intake, child context, task planning, provider actions, saved waits, and scheduled checks within one application. A task retains its instruction and action records when it resumes. An automation retains its prior result and can produce a condition-based notification.
The Strands agents run on AgentCore Runtime with a deployed AWS backend and Vercel frontend. A labelled family simulator supplies messaging and health events through the application's event paths, allowing multi-step workflows to be demonstrated with repeatable inputs.
What we learned
A task requires more context than its latest message. Resuming work needs the original instruction, completed outputs, tool receipts, and the event or decision that ended the wait. Storing these records explicitly makes it possible to reconstruct an agent run at the appropriate step.
Monitoring also requires an explicit scope. A useful check identifies the child, permitted sources, period under review, previous result, and condition for action. These details determine what the worker reads and what it reports to the parent.
What's next for mom.life
The next stage is a family pilot focused on school updates, caregiver coordination, and parent-specified health follow-ups. Evaluation will examine complete tasks, accuracy of source references, required parent interventions, and whether notifications match the requested conditions.
Planned extensions include additional authorized online-safety inputs, longer source-scoped review windows, and family-controlled retention and sharing. Health procedures will continue to preserve professional instructions and direct clinical choices to the parent.
Built With
- python.
- typescript
Log in or sign up for Devpost to join the conversation.