# Personal AI agent

My own personal AI that handles scheduling, work, budget and travel. Talk to it from the iPhone or Mac app, and the personal AI agent running on a VPS does the research, makes the decisions and asks for approval right before anything goes out. This page has a scripted demo that looks just like the app (it does not call any AI).

Author: [Yuki Ueda](https://yukiueda.com/en/) (上田勇希 · AI engineer · CPO at PhaseShift Inc.)

## One agent per role

A separate personal AI agent for each role. Each keeps its own memory and ledger, and acts on its own at set times (checking the schedule, scanning for gigs, and so on).

## Approval right before acting

Sending, paying, booking and applying stop right before the final step and show an approval card. When a choice is needed, a choice card appears in place of the input box.

## Connected by memory

Decisions, preferences and progress are written to memory as they happen. Even when a conversation is split, the next one picks up from memory.

## Architecture

The app is only a window for talking and approving. The thinking and acting happen in the personal AI agent on the VPS, and anything that would reach the outside world is stopped by a fence that asks the app for approval.

## Tech stack

- The agent's brain — Claude Code · Claude Agent SDK (separate conversations, memory and task ledger for each role)
- The owner's app — SwiftUI (iPhone, Mac; approve on the spot from notifications and Lock Screen cards)
- Tools and safety fence — Python (a fence that stops before sending or paying, plus scheduled jobs)
- Browser control — Chrome DevTools Protocol (drives a logged-in browser the way a person would)
- Connected services — Google Workspace · GitHub (Gmail, Calendar, Drive, repositories)
- Where it runs — Linux VPS (runs 24/7)

---
URL: https://yukiueda.com/en/works/personal-ai-agent/
