Personal Data & Automation Hub
Unified Personal Data & Workflow Automation Platform
Unified data and automation environment integrating task management, job-search data, Google Calendar, Google Drive, Telegram, and Garmin Connect. It combines automated data collection, cross-system workflows, dashboards, and AI-generated daily summaries.
PostgreSQL API Integration Workflow Automation FastAPI Next.js Telegram MTProto Garmin Connect LLM Integrations
Overview
Unified data and automation environment integrating task management, job-search data, Google Calendar, Google Drive, Telegram, and Garmin Connect. It combines automated data collection, cross-system workflows, dashboards, and AI-generated daily summaries. PostgreSQL connects data across modules, while scheduled integrations support recurring collection and reporting. FastAPI and Next.js provide the backend and web interface.
Architecture
┌─────────────────────────────────────────────────────┐
│ Frontend (Vercel) │
│ Next.js 16 · React 19 · TypeScript · Tailwind v4 │
│ shadcn/ui · React Query · Recharts │
└──────────────────────┬──────────────────────────────┘
│ REST API + JWT Auth
┌──────────────────────▼──────────────────────────────┐
│ Backend (Railway) │
│ FastAPI · Python 3.12 · SQLAlchemy 2.0 · Alembic │
├──────────┬───────────┬───────────┬──────────────────┤
│PostgreSQL│ Google │ Telegram │ AI Providers │
│ (asyncpg)│ Calendar │ MTProto + │ OpenAI / Anthropic│
│ 19 models│ OAuth2 │ Bot API │ / Gemini │
│ │ │ │ │
│ │ Garmin │ Job APIs │ │
│ │ Connect │ Adzuna / │ │
│ │ │ SerpAPI │ │
└──────────┴───────────┴───────────┴──────────────────┘
Key Features
- Task Manager — Kanban board with drag-and-drop, priorities, subtasks, timeline, and reminders
- Job Hunt Tracker — full application pipeline with AI-generated resumes, ATS scoring, gap analysis, and cover letters
- Calendar — two-way Google Calendar sync with meeting notes stored locally
- Notes — Markdown editor synced with Google Drive, cross-linked to tasks and events
- Telegram Pulse — channel monitoring via MTProto with AI-generated digests (daily/weekly schedules)
- Vitals — Garmin Connect sync (steps, heart rate, sleep, exercises) with AI daily briefings
- Dashboard — centralized overview with widgets from every module
- Demo Mode — production-quality demo account with realistic data, role-based isolation at DB/API/UI levels
Technical Highlights
| Challenge | Solution |
|---|
| Multi-provider AI (OpenAI, Anthropic, Gemini) | Adapter pattern with factory; API keys encrypted with Fernet |
| Telegram channel reading | Dual approach: Telethon (MTProto) for reading + Bot API for notifications |
| Garmin rate limiting (no public API) | Circuit breaker with exponential backoff (15→120 min), sync log table |
| Demo data isolation | Three-level guard: DB query filter, API dependency, frontend flag |
| Background scheduling | APScheduler with timezone support for polling, digests, and sync jobs |
Tech Stack
| Layer | Technology |
|---|
| Frontend | Next.js 16 (App Router), React 19, TypeScript |
| Styling | Tailwind CSS v4, shadcn/ui |
| State | TanStack React Query, React Table |
| Charts | Recharts |
| Backend | FastAPI, Python 3.12 |
| ORM | SQLAlchemy 2.0 (async), Alembic |
| Database | PostgreSQL (asyncpg) |
| Auth | JWT + bcrypt, role-based access |
| AI | OpenAI, Anthropic, Google Gemini (multi-provider) |
| Integrations | Google Calendar, Telegram (Telethon + Bot), Garmin Connect |
| Deploy | Vercel (frontend), Railway (backend + DB) |
| Testing | Vitest, Pytest |