← Back to archive
Project
PAI — Personal Automation Platform
PAI (Personal Assistant AI) is a self-hosted automation platform that runs a suite of independent, recurring workflows from a single Python service on a small VPS, all controlled through one Telegram bot.
What it does
- Content pipeline — researches a topic, writes an article, generates a cover image, and pushes the result as a draft to a headless blog via an HTTP ingest API, with owner approval before publishing.
- Portfolio curation — scans the owner's GitHub repositories (public and private), scores each one against a fullstack curation rubric, and drafts ready-to-review portfolio entries.
- Personal task automation — a separate module for recurring chores such as scheduled form submissions, with pre-notification, cancellation windows, and holiday-aware scheduling.
Key features
- Every job is modeled as an explicit state machine persisted in SQLite (WAL mode), with idempotent, safely re-runnable stages and hard failures on illegal transitions.
- A rolling 7-day circuit breaker tracks LLM/image-generation usage per provider and automatically pauses jobs before quota is exhausted.
- Human-in-the-loop control via a Telegram bot: menu-driven navigation, inline Approve/Reject actions, cancel windows, and live status/queue reporting.
- Integrates with GitHub, Telegram, Discord, and a blog ingest API entirely over HTTP/CLI boundaries, keeping the platform decoupled from the systems it automates.
- Automated setup verification, an idempotent deployment script, and a scheduled health check that only alerts when something is actually wrong.
Tech stack
Python 3.10+, SQLite (WAL), Telegram Bot API, Discord webhooks, GitHub API, shell scripting for deployment, cron-based scheduling.
Role
Designed and built solo end-to-end: the state machine and job queue, the quota/circuit-breaker system, the Telegram control bot, the GitHub portfolio scoring pipeline, and the deployment tooling.