DV
Back to all projects

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
Personal Data & Automation Hub

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

Technical Highlights

ChallengeSolution
Multi-provider AI (OpenAI, Anthropic, Gemini)Adapter pattern with factory; API keys encrypted with Fernet
Telegram channel readingDual 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 isolationThree-level guard: DB query filter, API dependency, frontend flag
Background schedulingAPScheduler with timezone support for polling, digests, and sync jobs

Tech Stack

LayerTechnology
FrontendNext.js 16 (App Router), React 19, TypeScript
StylingTailwind CSS v4, shadcn/ui
StateTanStack React Query, React Table
ChartsRecharts
BackendFastAPI, Python 3.12
ORMSQLAlchemy 2.0 (async), Alembic
DatabasePostgreSQL (asyncpg)
AuthJWT + bcrypt, role-based access
AIOpenAI, Anthropic, Google Gemini (multi-provider)
IntegrationsGoogle Calendar, Telegram (Telethon + Bot), Garmin Connect
DeployVercel (frontend), Railway (backend + DB)
TestingVitest, Pytest