
plannerAgent — Telegram Calendar Bot with NLU
Self-hosted Telegram bot that turned natural-language messages into Google Calendar events and reminders — FastAPI + OpenAI NLU + hardened systemd deployment on a personal Ubuntu VPS.
Project Overview
Personal productivity tool I built and self-hosted on my own VPS. Drop a free-text message on Telegram ("remind me about the dentist at 4 tomorrow") and it became a real Google Calendar event with a reminder pushed back through the bot. FastAPI orchestrated an asyncio long-poll loop, a shared HTTP/2 httpx client to Telegram, OpenAI for natural-language parsing, the Google Calendar API for event upserts, and a SQLite-backed reminders engine with a windowed scan and dedup cache. Deployed as a hardened systemd unit (non-login user, ProtectSystem=strict, scoped ReadWritePaths) via an idempotent install script. Secrets were environment variables — nothing sensitive is committed. The service is no longer running day-to-day, but the full codebase and deployment setup are on GitHub.
