Jump to content

Coach Artie: Difference between revisions

From Archive
Fill out Coach Artie page from project notes
Tag: Blanking
Rewrite with multi-interface architecture, context awareness, capabilities
Line 1: Line 1:
= Coach Artie =


'''AI assistant that meets you where you are - Discord, SMS, or web - with full context awareness.'''
== Philosophy ==
AI assistants work better when they have context. Different situations call for [[Same Data Many Interfaces|different interfaces]]. Same brain, multiple access points.
'''Core principles:'''
* Not trying to replace human interaction
* No illusion of personality - it's a tool
* Privacy-first: your data, your server, your control
* Built for longevity, not novelty
== The Three Interfaces ==
{| class="wikitable"
|-
! Interface !! Context !! Why
|-
| '''Discord''' || Already hanging out with friends || Natural async conversation, group context, bot sees history
|-
| '''SMS''' || Away from computer, quick questions || Works everywhere, weather + health integration, mobile-first
|-
| '''Web UI''' || Deep work, configuration || Visual interface, history browsing, settings management
|}
=== Discord (Most Used) ===
Where conversations already happen. Can @mention the bot when needed. Group conversations where bot participates. Natural async flow.
''Trade-off:'' Not private, Discord-dependent.
=== SMS (Emergency/Mobile) ===
Quick questions while traveling. Weather advice considers if you've been sedentary. "It's gonna be a nice day and you're due for a walk."
''Trade-off:'' Character limits, costs money.
=== Web UI (Configuration) ===
Visual interface for complex interactions. History browsing and search. Less used but important for setup.
''Trade-off:'' Least used, most complex.
== Why Context Matters ==
The bot knows:
* GitHub activity patterns
* Health data from Apple Watch
* Current location and weather
* Calendar and schedule
''Makes connections humans would miss:'' "You haven't committed in 3 days, everything ok?" Weather advice considers sedentary patterns.
== Architecture ==
Built on TypeScript monorepo:
* '''pnpm + turborepo''' for workspace management
* '''Capabilities system''' - modular features that can be enabled/disabled
* '''Redis''' for queueing (prevents duplicate work)
* '''SQLite''' for persistent state
* '''OpenRouter''' for LLM access (model flexibility)
=== Production Deployment ===
* VPS hosting (not cloud - total control)
* PM2 process management
* Cloudflare Tunnel for HTTPS
* Health monitoring at dedicated port
* 512MB Node heap, 512MB Redis
== Current Capabilities ==
{| class="wikitable"
|-
! Capability !! Description
|-
| Chat || Conversational AI (obviously)
|-
| Memory || Semantic recall of past conversations
|-
| Calculator || Wolfram Alpha integration
|-
| Email || Send emails on request
|-
| Scheduling || Meeting coordination
|-
| GitHub || Webhook integration for activity
|}
== What I Learned Building This ==
=== Interface > Model ===
The right interface matters more than model quality. SMS at the right moment beats GPT-4 in a browser tab you forgot about.
=== Context > Intelligence ===
A dumber model with your context beats a smarter model without it. Personal data makes generic AI feel personal.
=== Modular > Monolithic ===
Capabilities system means features can be added/removed without touching core. Redis queues prevent duplicate work. Health checks catch issues before they matter.
== The Multi-Interface Pattern ==
This is the same pattern as [[Scrapbook-core]] (Alfred, web, CLI) and [[Connectology]] (web, desktop). [[Same Data Many Interfaces|Same brain, different access patterns]]:
* Desktop ≠ mobile ≠ terminal
* Browsing ≠ searching ≠ querying
* Each interface optimizes for its context
== Related ==
* [[Personal APIs]] - data sources that feed context
* [[Quantified Self]] - tracking that enables context
* [[Same Data Many Interfaces]] - the design pattern
* [[Building Tools for Yourself]] - why personal tools work
[[Category:Projects]]
[[Category:AI]]
{{Navbox Projects}}

Revision as of 14:42, 18 January 2026

Coach Artie

AI assistant that meets you where you are - Discord, SMS, or web - with full context awareness.

Philosophy

AI assistants work better when they have context. Different situations call for different interfaces. Same brain, multiple access points.

Core principles:

  • Not trying to replace human interaction
  • No illusion of personality - it's a tool
  • Privacy-first: your data, your server, your control
  • Built for longevity, not novelty

The Three Interfaces

Interface Context Why
Discord Already hanging out with friends Natural async conversation, group context, bot sees history
SMS Away from computer, quick questions Works everywhere, weather + health integration, mobile-first
Web UI Deep work, configuration Visual interface, history browsing, settings management

Discord (Most Used)

Where conversations already happen. Can @mention the bot when needed. Group conversations where bot participates. Natural async flow.

Trade-off: Not private, Discord-dependent.

SMS (Emergency/Mobile)

Quick questions while traveling. Weather advice considers if you've been sedentary. "It's gonna be a nice day and you're due for a walk."

Trade-off: Character limits, costs money.

Web UI (Configuration)

Visual interface for complex interactions. History browsing and search. Less used but important for setup.

Trade-off: Least used, most complex.

Why Context Matters

The bot knows:

  • GitHub activity patterns
  • Health data from Apple Watch
  • Current location and weather
  • Calendar and schedule

Makes connections humans would miss: "You haven't committed in 3 days, everything ok?" Weather advice considers sedentary patterns.

Architecture

Built on TypeScript monorepo:

  • pnpm + turborepo for workspace management
  • Capabilities system - modular features that can be enabled/disabled
  • Redis for queueing (prevents duplicate work)
  • SQLite for persistent state
  • OpenRouter for LLM access (model flexibility)

Production Deployment

  • VPS hosting (not cloud - total control)
  • PM2 process management
  • Cloudflare Tunnel for HTTPS
  • Health monitoring at dedicated port
  • 512MB Node heap, 512MB Redis

Current Capabilities

Capability Description
Chat Conversational AI (obviously)
Memory Semantic recall of past conversations
Calculator Wolfram Alpha integration
Email Send emails on request
Scheduling Meeting coordination
GitHub Webhook integration for activity

What I Learned Building This

Interface > Model

The right interface matters more than model quality. SMS at the right moment beats GPT-4 in a browser tab you forgot about.

Context > Intelligence

A dumber model with your context beats a smarter model without it. Personal data makes generic AI feel personal.

Modular > Monolithic

Capabilities system means features can be added/removed without touching core. Redis queues prevent duplicate work. Health checks catch issues before they matter.

The Multi-Interface Pattern

This is the same pattern as Scrapbook-core (Alfred, web, CLI) and Connectology (web, desktop). Same brain, different access patterns:

  • Desktop ≠ mobile ≠ terminal
  • Browsing ≠ searching ≠ querying
  • Each interface optimizes for its context


🚀 Projects
Active Projects · FPV Drones · NOAA Satellites · Website
Tools Scrapbook-core · Exif-photo-printer · Coach Artie · Dataviz
Hardware Meshtastic · HackRF · Flipper Zero
Frameworks Timeline Viz · LLM Eval · Sensemaking Systems