LifeSandbox

From AI conversations to accountable follow-through.

LifeSandbox is an AI-powered personal workspace designed to help people turn conversations, decisions, and intentions into work they can actually follow through on. Instead of leaving useful advice buried in chat history, it connects conversations with persistent context, projects, tasks, reminders, research, and reviewable actions.

The core principle is simple: AI can propose the next step, but the application and the user remain in control.

Inspiration

AI conversations can produce useful plans without helping people carry them out. A reminder gets forgotten, a decision disappears into chat history, or a promising next step never becomes a task.

LifeSandbox grew from a practical question: what if an AI assistant could help close that gap—not by acting as an opaque agent, but by making context, proposed actions, and follow-through visible and controllable?

The goal is to make AI assistance more continuous and useful while giving users meaningful control over what is remembered and what is allowed to happen.

What it does

LifeSandbox brings conversational assistance and personal follow-through into one workspace.

  • Conversational AI: Chat with a configured model through a provider-adapter layer, with support for streaming responses.
  • Persistent context: Manage approved memories and review explicit memory requests. Optional hosted memory can be enabled with a per-exchange opt-in.
  • Projects and tasks: Organize work and connect tasks, reminders, and saved context.
  • Reminders: Schedule reminders and process them through a background worker, with successful deliveries appearing as in-app notifications.
  • Action approvals: Review proposed actions before execution. Supported workflows include validated local task/reminder creation and approval-bound Gmail draft sending when the required Google permissions are configured.
  • Research: Run web research through Tavily when configured and return cited sources in chat.
  • Document and image input: Attach supported documents and images to a conversation. Document text extraction is bounded; image interpretation requires a configured vision-capable model and explicit attachment.
  • Google connections: Support Google sign-in and separate Gmail/Calendar connection flows. Available operations depend on configured OAuth scopes; Calendar event writes are not currently supported.
  • Decision support: Includes deterministic cash-flow projections, keeping calculation results separate from free-form model output.

The application is a working foundation that is still evolving. Optional integrations require configuration, and some deployment or OAuth paths need environment-specific verification.

How we built it

LifeSandbox uses a modular full-stack architecture:

  • Frontend: React, TypeScript, and Vite.
  • Backend: FastAPI with asynchronous Python services.
  • Persistence: SQLAlchemy models, Alembic migrations, SQLite for local development, and PostgreSQL-compatible storage for containerized deployments.
  • AI orchestration: A LangGraph workflow and replaceable provider adapters.
  • Model providers: Nebius and OpenRouter adapters, alongside a deterministic mock provider for credential-free local development.
  • Research: Tavily integration for source-backed search.
  • Background processing: A separate worker handles durable reminder jobs.
  • Deployment and development: Docker Compose for the database, API, and worker; Vite for frontend development. The repository also includes operational, security, evaluation, and architecture documentation.

The model layer is deliberately replaceable. This lets the project evaluate different providers without coupling core application behavior to one model vendor. The backend validates structured outputs and persists application state; the model's response is treated as input to a controlled workflow, not as the database's source of truth.

Challenges we ran into

Making memory useful without making it intrusive

Remembering too little makes an assistant repetitive; remembering too much can undermine trust. LifeSandbox separates approved memories from requests awaiting review and provides controls for memory behavior. Optional hosted memory requires explicit configuration and a per-exchange opt-in.

Turning model output into reliable application state

A model can suggest an action, but a suggestion should not silently become a real-world change. We designed workflows around validation, persisted records, and explicit approval boundaries. Execution is limited to supported actions, rather than assuming every integration can safely perform writes.

Making reminders dependable

A reminder is useful only if it survives beyond the current chat session. LifeSandbox uses a separate worker for reminder processing and records successful delivery as an in-app notification. External email and push delivery are not configured by default.

Supporting multiple providers and development environments

Local development should not require API credentials just to inspect the application. A deterministic mock provider supports basic development, while Nebius and OpenRouter can be configured for model-generated responses. Docker Compose provides a consistent backend setup across supported Windows and Linux environments.

Defining what is—and is not—ready

The repository documents integration limits and verification requirements instead of presenting every planned capability as complete. This distinction matters for authentication, OAuth connections, browser-assisted research, and deployment configuration.

Accomplishments we're proud of

  • Built an end-to-end foundation connecting chat, memories, projects, tasks, reminders, research, and approvals.
  • Added provider adapters for Nebius and OpenRouter, plus a deterministic mock provider for local development.
  • Implemented owner-scoped APIs and persistent data models for core workspace resources.
  • Created a background reminder worker and in-app notification flow.
  • Added reviewable, approval-bound workflows for supported actions.
  • Integrated cited research through Tavily when configured.
  • Added document uploads, bounded text extraction, and optional model-based image interpretation.
  • Established Docker-based development, database migrations, and documentation covering architecture, security, evaluation, and operations.

What we learned

The value of an AI assistant is not measured only by the quality of its responses. It also depends on whether useful context can be carried forward, whether the next step is clear, and whether the user can trust the system to act within defined boundaries.

We learned to treat memory, planning, and execution as separate responsibilities. The model can interpret a request and propose a next step; backend validation, persistence, permissions, and approval workflows determine what actually happens.

We also learned the importance of documenting capability boundaries. A connector being present does not mean every operation is available, and a configured integration is not the same as a verified production workflow.

Finally, a provider-agnostic design makes experimentation easier. It allows model providers to be evaluated or replaced without rebuilding the product's core task and follow-through systems.

What's next

Our next priorities are to make follow-through more capable while preserving user control:

  • Improve task decomposition, prioritization, and progress tracking.
  • Strengthen recurring routines and reminder reliability.
  • Expand calendar workflows, including event writes only when implemented with appropriate permissions and safeguards.
  • Improve research synthesis, source traceability, and research-to-task workflows.
  • Add richer evaluation for planning quality, structured outputs, and action safety.
  • Expand collaboration and shared-project capabilities.
  • Improve deployment hardening, integration verification, and operational observability.

The long-term goal is for LifeSandbox to become a trusted workspace between intention and action: an assistant that helps people remember what matters, organize what comes next, and follow through—with clear boundaries and the user in control.

Repository

GitHub — ChinmayBansal010/LifeSandbox

Built With

Share this project:

Updates

Submission history