Skip to content

Ping

active

Personal AI companion via Telegram — mobile-first interface to my entire personal infrastructure with 65+ tools.

Bun TypeScript grammy Claude API Whisper MCP

Ping is my personal AI companion that lives in Telegram. It’s the mobile interface to my entire personal AI infrastructure — I can manage tasks, query my knowledge base, control Spotify, check my health data, and orchestrate other agents, all from my phone.

What It Does

Ping has 65+ tools organized across six domains:

  • Productivity — Todoist task management, Zarq Board integration, calendar events
  • Health — Oura Ring data (sleep, readiness, activity), health summaries
  • Media — Spotify playback control, Last.fm listening stats
  • Knowledge — PKM search via Agent-PKM, voice message transcription (Whisper)
  • Communication — Photo/image processing, voice messages, proactive scheduling
  • System — Tool orchestration, context-aware conversations, session management

Architecture

Ping runs as a systemd service on my X1 Carbon, using grammy for the Telegram layer and Claude as the reasoning engine. Tools are implemented as a registry pattern — each capability is a defined tool with schema + handler.

The bot includes a proactive intelligence layer called Pulse that delivers morning briefings with pattern detection across journals, health, and tasks. It also has an OpenRouter fallback chain for when API credits run low.

Key Design Decision

Ping handles mobile interaction while Zarq handles desktop orchestration. They coordinate via the Zarq Board task system — I can trigger desktop-grade work from my phone and get results back in Telegram.

Tech Highlights

  • 3-phase speed optimization: response caching, streaming, debounce + fast-path routing
  • Tool batching for parallel execution
  • MCP protocol support for extensible tool servers
  • Voice message transcription via Whisper