Skip to content

eddiebelaval/milo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

MILO - Mission Intelligence Life Operator

MILO Icon

A Signal-to-Noise Life Planner that cuts through daily noise and helps you focus on goal-aligned actions. MILO combines AI-powered planning with activity monitoring to keep you on track.

Quick Install (macOS)

  1. Download the latest MILO-x.x.x.dmg from Releases
  2. Open the DMG and drag MILO to Applications
  3. First launch: Right-click the app β†’ "Open" (required for unsigned apps)
  4. Setup: Enter your Claude API key in Settings

Note: MILO is currently unsigned. macOS will warn about an "unidentified developer" on first launch. Right-click β†’ Open bypasses this safely.


What MILO Does

MILO is your personal life operating system with a retro Pip-Boy aesthetic:

Core Features

  • Goal Hierarchy: Beacon β†’ Milestone β†’ Objective β†’ Task (dream big, execute small)
  • Morning Briefing: AI-powered daily planning dialogue
  • Activity Monitoring: Tracks your focus state (GREEN/AMBER/RED)
  • Drift Detection: Gentle nudges when you veer off course
  • Evening Review: Reflect on your day, adjust tomorrow's plan
  • S/N Scoring: Gamified signal-to-noise ratio (0-100)

The Signal Queue

Your top priorities, always visible. MILO surfaces what matters right now instead of burying you in endless lists.

AI-Powered Planning

  • Natural language task capture
  • Automatic priority assignment
  • Context-aware suggestions
  • MCP integration for Claude Code

Claude Code Integration (MCP)

MILO includes a Model Context Protocol server that lets Claude Code manage your tasks directly:

"Create a task called 'Build login form' with priority 1"
"Show me my signal queue"
"Mark task [id] as complete"
"Create a category called 'Sprint 5'"

17 tools available:

  • 11 task tools (CRUD, lifecycle, signal queue, work tracking)
  • 6 category tools (projects, organization, reordering)
  • 4 read-only resources (signal queue, backlog, categories, today)

See MCP Server README for setup instructions.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MILO Electron App                                              β”‚
β”‚  β”œβ”€β”€ React + TypeScript frontend                                β”‚
β”‚  β”œβ”€β”€ SQLite database (better-sqlite3)                           β”‚
β”‚  └── AI integration (Claude API)                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚
                              β”‚ Shared SQLite Database
                              β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  MCP Server (packages/mcp-server)                               β”‚
β”‚  β”œβ”€β”€ stdio transport for Claude Code                            β”‚
β”‚  β”œβ”€β”€ Task & Category tools                                      β”‚
β”‚  └── Real-time sync with Electron app                           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

  • Frontend: React 18, TypeScript, TailwindCSS
  • Desktop: Electron with electron-vite
  • Database: SQLite via better-sqlite3
  • AI: Anthropic Claude API
  • MCP: @modelcontextprotocol/sdk
  • Validation: Zod
  • Testing: Vitest, Playwright

Development

Prerequisites

  • Node.js 18+
  • npm or pnpm

Setup

# Clone the repository
git clone https://github.com/eddiebelaval/milo.git
cd milo

# Install dependencies
npm install

# Start development server
npm run dev

Scripts

npm run dev          # Start Electron in dev mode
npm run build        # Build for production
npm run build:mac    # Build macOS app
npm run test         # Run unit tests
npm run test:e2e     # Run Playwright E2E tests
npm run mcp          # Start MCP server for Claude Code
npm run typecheck    # TypeScript type checking
npm run lint         # ESLint

MCP Server Development

cd packages/mcp-server
npm install
npm run build
npm run dev    # Watch mode

Project Structure

milo/
β”œβ”€β”€ electron/              # Electron main process
β”‚   β”œβ”€β”€ ai/               # AI integration (Claude API)
β”‚   β”œβ”€β”€ services/         # Database, IPC handlers
β”‚   └── main.ts           # Entry point
β”œβ”€β”€ src/                   # React renderer
β”‚   β”œβ”€β”€ components/       # UI components
β”‚   β”œβ”€β”€ hooks/            # React hooks
β”‚   └── stores/           # Zustand state
β”œβ”€β”€ packages/
β”‚   └── mcp-server/       # MCP server for Claude Code
└── tests/                 # E2E tests

Database Schema

-- Tasks table
CREATE TABLE tasks (
  id TEXT PRIMARY KEY,
  title TEXT NOT NULL,
  description TEXT,
  status TEXT CHECK(status IN ('pending', 'in_progress', 'completed', 'deferred')),
  priority INTEGER CHECK(priority BETWEEN 1 AND 5),
  category_id TEXT REFERENCES categories(id),
  scheduled_date TEXT,
  start_date TEXT,
  end_date TEXT,
  estimated_days INTEGER DEFAULT 1,
  days_worked INTEGER DEFAULT 0,
  last_worked_date TEXT,
  created_at TEXT,
  updated_at TEXT
);

-- Categories table
CREATE TABLE categories (
  id TEXT PRIMARY KEY,
  name TEXT NOT NULL,
  color TEXT,
  sort_order INTEGER,
  created_at TEXT,
  updated_at TEXT
);

Requirements

  • macOS 10.15+ (Catalina or later)
  • Claude API key from Anthropic Console
  • ~200MB disk space

Roadmap

V1.1 (Planned)

  • Notion integration (MCP)
  • Apple Calendar sync (MCP)
  • Apple Notes integration (MCP)

Future

  • Time blocking
  • Mobile companion app
  • Team collaboration

Troubleshooting

"MILO can't be opened because it is from an unidentified developer" β†’ Right-click the app β†’ Open β†’ Click "Open" in the dialog

Activity monitoring not working β†’ Grant accessibility permissions: System Preferences β†’ Security & Privacy β†’ Privacy β†’ Accessibility β†’ Add MILO

Claude API errors β†’ Verify your API key in Settings β†’ Check your Anthropic account has credits

License

MIT

Author

Built by ID8Labs - Eddie Belaval


"The goal is not to do more. It's to do what matters."

About

πŸ—Ώ MILO - Signal-based task management with AI integration and CRT aesthetic. Plan mode for life.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages