Build guide
Ki's Vibe Coder build
Work through the steps in order. Tick each one off as you go; progress is saved in this browser.
Official build · updated Sep 10, 2026
An always-on assistant you can talk to from your glasses, your watch and your terminal — and that does your side projects at night.
- Steps
- 11 (1 optional)
- Time
- 5 h 55 min
- One-time
- $2,246
- Monthly
- $204/mo
Walkthrough
Get an always-on machine
A base Mac mini is enough. Set it to never sleep, log in automatically, and put it somewhere you will not hear it.
Easy20 min$599Equips: HardwareAny always-on box works, but the Mac mini is silent, sips power, and runs the Apple toolchain you need later for the Watch app.
- System Settings → Energy: Prevent automatic sleeping, wake for network access.
- Users & Groups: automatic login, so a reboot comes back without you.
- Enable Remote Login (SSH) and Screen Sharing for the rare time you need to touch it.
You need - A spare shelf with power and Wi-Fi or Ethernet
Links Run
$ sudo pmset -a sleep 0 disksleep 0 displaysleep 10 $ sudo systemsetup -setremotelogin on
Install Claude Code and sign in
One subscription gives you the chat model and the terminal agent. Install the CLI on the Mac mini and log in once.
Easy10 min$100/mo (Max plan; Pro ($20) for a lighter build)Equips: Coding toolCost note: Max plan; Pro ($20) for a lighter build
Claude Code is the hands of the build: it edits, builds, tests and reports. Log in with your Claude subscription so the assistant brain can reuse the same session later.
You need - Step 1
- Node.js 20+
- A Claude account
Links Run
$ npm install -g @anthropic-ai/claude-code $ claude # follow the login prompt once
Run the assistant brain
A small Node server wraps the Claude Code Agent SDK, keeps one conversation per day, and exposes /chat and /agent endpoints. A cron keepalive restarts it if it dies.
Hard1 hFreeEquips: AutomationThis is the heart of the build. The brain is a long-running process on the Mac mini that:
- resumes the same session all day, so it remembers the morning by the evening;
- exposes a tiny HTTP API (
/chat,/agent,/notify) for everything else to call; - stores memory as plain files in a private git repo, distilled nightly.
A second, even smaller process (the "front") accepts all incoming traffic and queues messages while the brain restarts, so nothing is lost.
Do not run the brain under launchd KeepAlive — the Agent SDK does not like being force-restarted mid-turn. A cron line every minute that starts it only if it is not running is boring and works.
You need - Step 2
- git
- Comfort with a terminal
Links Run
$ git clone https://github.com/gyjoo/hightech-wellness.git ~/Dev/hightech-wellness $ cd ~/Dev/hightech-wellness/todo-agent && npm install $ cp .env.bridge.example .env.bridge # fill in the keys below $ npm run bridge # brain on :8901, front on :8899
~/Dev/hightech-wellness/todo-agent/.env.bridge
BRIDGE_PORT=8901 BRIDGE_FRONT=1 # front owns the messenger socket MEMORY_DIR=~/Dev/secretary-memory TODOIST_TOKEN=… GOOGLE_CALENDAR_CREDENTIALS=~/.config/gcal/credentials.json LARK_APP_ID=… LARK_APP_SECRET=…
Give it a chat window
Connect one messenger as the single place you talk to the assistant. Ki uses a Lark bot over a long-lived WebSocket; Telegram or Slack work the same way.
Medium30 minFreeOne messenger, not five. The bot receives every message through a WebSocket held open by the front process and replies through the REST API. Glasses conversations are mirrored here too, so the chat log is the complete history.
You need - Step 3
- A bot app in your messenger's developer console
Links Wire Todoist and Google Calendar as tools
Give the brain MCP tools for tasks and calendar so it can read your day and write to it. Capture goes to the Todoist inbox; the assistant does the sorting.
Medium30 min$4/mo (Todoist Pro for reminders and the API limits)Equips: Notes & tasksCost note: Todoist Pro for reminders and the API limits
The assistant gets nine tools in Ki's build; these two matter most:
- Todoist: read inbox, add/close tasks, comment on them. Overdue tasks roll to today with a
[late:N]marker by a separate cron job that uses no model at all. - Google Calendar: list today and tomorrow, create events from chat.
Keep capture frictionless: no tags, no dates at capture time. That is the assistant's job.
You need - Step 3
- Todoist account
- Google Cloud project with Calendar API enabled
Links - Todoist: read inbox, add/close tasks, comment on them. Overdue tasks roll to today with a
Expose it safely with Tailscale Funnel
Your phone, watch and glasses need to reach the brain from anywhere. Funnel publishes one HTTPS path without opening your router.
Medium15 minFreeInstall Tailscale on the Mac mini and your phone. Then funnel the front port. Only the front is exposed; the brain stays on localhost.
You need - Step 3
- Tailscale account (free tier is fine)
Links Run
$ brew install --cask tailscale $ tailscale funnel --bg --set-path=/todo-bridge 8899
Put the assistant in your glasses
Even G2 glasses show a few lines of green text. Voice from the glasses goes to speech-to-text, then to the brain; the reply comes back on the HUD.
Hard45 min$599Equips: WearableThe glasses are the reason this build feels different. You never take the phone out.
- Pair the G2 with the Even app first, then with the companion iPhone app from the repo (it talks to the glasses over Bluetooth using the community MIT driver).
- Glasses audio → transcriber (Whisper) →
POST /agenton the brain → reply rendered on the HUD. - Keep HUD replies under three lines. Anything longer goes to the chat log.
The R1 ring is optional but lovely: tap to acknowledge, scroll to page through a briefing, hands never leave the coffee.
Add the R1 ring for gestures
Tap, double-tap and scroll on the ring drive the HUD. Pairs through the glasses, so the phone can stay in your pocket.
Easy15 min$249Equips: WearableBuild the Watch + iPhone companion app
The Soft Cyborg app: voice notes from the wrist that land in the assistant, health data pushed to the brain, and the same Win98 look as this site.
Hard1 h 30 min$799 (Apple Watch Ultra; any recent Watch works)Equips: WearableCost note: Apple Watch Ultra; any recent Watch works
The repo's
apple-watchfolder is an XcodeGen project with three targets: iPhone, Watch, and a Mac app. Generate the project, set your team, and run it on your devices.- Watch records a voice note → iPhone → upload → the brain transcribes and files it.
- Health and activity summaries go to the brain for the morning briefing.
- A Mac app gives you the same chat on the desktop.
You need an Apple Developer account to install on real devices for more than a week.
You need - Step 3
- Xcode 17+
- XcodeGen
- Apple Developer account ($99/yr)
Links Run
$ brew install xcodegen $ cd ~/Dev/hightech-wellness/apple-watch && xcodegen generate $ open HightechWellness.xcodeproj
Schedule the routines and the memory
07:00 briefing to the HUD and chat, 23:30 distillation of the day into the memory repo, and a one-minute keepalive for the brain.
Easy20 minFreeYou need - Step 3
- A private git repo for memory
Links crontab -e
* * * * * ~/Dev/hightech-wellness/todo-agent/scripts/keepalive.sh 0 7 * * * curl -s -X POST localhost:8901/routine/briefing 30 23 * * * curl -s -X POST localhost:8901/routine/distill
Turn on the night shift
Let the assistant dispatch background coding jobs to their own branches, with a global build lock so only one build runs at a time.
Medium20 minFreeEquips: Coding toolEach job gets a worktree and a branch named after the task. A shell shim on PATH wraps build commands in a lock at the lowest priority, so the interactive assistant never lags behind a compile. Jobs end with a report: branch, verification, screenshots.
You need - Step 2
- Step 3
Links ~/bin/xcodebuild
#!/bin/sh # one build at a time, lowest priority — keeps the assistant responsive exec flock /tmp/build.lock nice -n 19 /usr/bin/xcodebuild "$@"
What the character sheet looks like when every step is done.
- Main modelLegendary
Claude
Anthropic
Fable 5.1 through the Claude Code CLI — one subscription covers chat and agents
$100/mo (Max plan. Pro works for a lighter build.) · Max plan. Pro works for a lighter build.
Site:Claude plans (opens in a new tab)Docs:Claude Code overview (opens in a new tab) - Coding toolLegendary
Claude Code
Anthropic
Background workers, one per job, each on its own branch
- VoiceCommon
Apple Dictation
Apple
Watch and phone for short commands; glasses mic → speech-to-text for conversations
- SearchRare
Model web search
Ask the assistant; it goes and reads, then summarises on the HUD
Free
- AutomationLegendary
Background agents
Assistant brain + job queue on the Mac mini, Todoist/GCal as MCP tools, cron routines
- HardwareEpic
Mac mini
Apple
Always on, never sleeps, headless in a closet
- WearableLegendary
Even G2 glasses
Even Realities
Even G2 glasses for the HUD, R1 ring for gestures, Apple Watch Ultra for voice notes and health
$1,647 (Glasses $599 + ring $249 + watch $799) · Glasses $599 + ring $249 + watch $799
Buy:Even G2 (opens in a new tab)Buy:Even R1 ring (opens in a new tab)Buy:Apple Watch Ultra (opens in a new tab)GitHub:hightech-wellness (watch + glasses apps) (opens in a new tab) - Notes & tasksRare
Todoist
Todoist inbox + Google Calendar, both read and written by the assistant
$4/mo (Todoist Pro) · Todoist Pro
Docs:Todoist API (opens in a new tab)Docs:Google Calendar API (opens in a new tab)Tip:One inbox, the assistant sorts