A self-hosted personal productivity hub built with Next.js 16, designed to run on a Raspberry Pi and be accessible from anywhere.
- Dashboard — customizable widget grid with clock, weather, today's tasks/events, productivity stats, focus timer, habits, mail badges, GitHub activity, AI briefing, and Home Assistant scenes
- Tasks — full task management with projects, subtasks, priorities, due dates, time blocking, snoozing, blocker dependencies, task templates, comments, and linked emails/events
- Calendar — day/week/month views, iCloud CalDAV sync, ICS feed subscriptions, Outlook integration, exportable merged ICS feed
- Mail — unified inbox for Outlook and Gmail with email rules (alert/mute/spam), triage, and insights
- Notes — daily markdown notes organized by date
- Someday — "maybe" list for ideas that aren't tasks yet — promote to tasks when ready
- Grades — class/category/assignment grade tracker with weighted GPA calculation
- Chat — built-in assistant with Claude Code and Home Assistant Assist backends
- Spaces — Home Assistant smart home control (devices, scenes, live state via WebSocket)
- Habits — daily habit tracker with streak visualization
- Framework: Next.js 16 (App Router, React 19, standalone output)
- Database: SQLite via Prisma 7 + better-sqlite3
- Styling: Tailwind CSS 4 + custom earthy glassmorphism design system
- Integrations: Home Assistant, Outlook (Microsoft Graph), Gmail, iCloud CalDAV, ICS feeds, GitHub, Open-Meteo weather, Claude Code CLI
- Auth: Single-user password auth with HMAC-signed session cookies
# Clone the repository
git clone https://github.com/dszurek/controlhub.git
cd controlhub
# Install dependencies
npm install
# Set up environment
cp .env.example .env.local
# Run database migrations
npx prisma migrate deploy
# Start development server
npm run devOpen http://localhost:3000 — you'll be prompted to set a password on first visit.
See GUIDE.md for complete Raspberry Pi deployment instructions including:
- OS and Node.js setup
- Building and running the standalone server
- Cloudflare Tunnel for secure remote access
- Home Assistant integration
- systemd auto-start service
- Full feature guide
Private / Personal use.