Inspiration

What it does

About the ProjectInspirationEvery day, we lose hours to administrative friction—paying recurring bills, resolving calendar overlaps, verifying invoices, and updating spreadsheets. Individually, these tasks take only a few minutes; together, they fragment our focus and drain mental energy. Existing tools force us to open yet another dashboard to manage our management tools. We were inspired to build LifePilot Control Console to flip this paradigm: an autonomous, background-first AI assistant that handles routine administrative overhead quietly and securely, surfacing only when a genuine human decision is needed.How We Built ItLifePilot is architected as an event-driven, multi-agent orchestration platform designed for high availability and state resilience:Autonomous Agent SDK & State Machine: We built the multi-agent execution pipeline using the AWS Strands Agents SDK alongside LangGraph. The workflow model evaluates background task confidence scores using a threshold decision function:$$S(\text{action}) = \begin{cases} \text{Execute Autonomously}, & \text{if } P(\text{success} \mid \text{context}) \ge \theta_{\text{threshold}} \ \text{Surface Human Approval Prompt}, & \text{if } P(\text{success} \mid \text{context}) < \theta_{\text{threshold}} \end{cases}$$Where $\theta_{\text{threshold}} \in [0, 1]$ represents the configurable human-in-the-loop confidence cutoff (defaulting to $0.85$).Backend & Real-Time Engine: Built with Python 3.11 and Django 5.0, using Daphne (ASGI) and Django Channels to support bi-directional WebSockets streams for real-time task notifications.Persistence & State Checkpointing: Powered by PostgreSQL 16 to maintain state checkpoints across graph nodes, ensuring that long-running agent workflows survive process restarts.Channel Layer & Event Broker: Redis 7 (Alpine) handles message brokering, asynchronous pub/sub queues, and ephemeral memory caches.Container Orchestration: The entire stack is fully containerized using Docker Compose with custom entrypoint health-polling scripts to manage dependency startup sequences.Challenges We FacedDurable Execution & State Recovery: Autonomous agents running in background containers risk losing in-flight task context if a network call drops. Implementing PostgreSQL-backed graph checkpointers ensured that every state transition is atomic and resumable.Deterministic Human-in-the-Loop Thresholds: Designing a scoring model that prevents "alert fatigue" while guaranteeing user oversight for sensitive actions (e.g., financial transactions) required tuning dynamic confidence criteria.Container Network & Port Orchestration: Resolving local host port conflicts (such as port $5432$ collisions with native database services) and tuning Docker build contexts to prevent memory spikes during dependency installation.What We LearnedBuilding LifePilot reinforced the power of background-first agent design. By pairing the AWS Strands Agents SDK with deterministic graph states, we proved that AI agents can deliver maximum value not by demanding constant user attention, but by working autonomously behind the scenes and respecting the user's focus.

Built With

Share this project:

Updates

Submission history