projects.back_all
ProductivityDashboardFeatured
Personal OS — Self-Hosted Dashboard
Self-hosted personal dashboard with calendar, todos, goals, financials, file browser, and AI-powered features. Runs entirely on your machine via Docker — no cloud accounts, no subscriptions. Local-first, secure by default.
< 2s
Page load time
< 200ms p95
API response
< 512MB idle
Container memory
3 (Gemini/OpenAI/Claude)
AI providers
projects.dataset
Self-hosted dashboard with calendar, todos, goals, financials, file browser, and AI features
projects.approach
Docker-containerized full-stack dashboard with local PostgreSQL persistence and multi-provider AI integration
projects.tech_stack
Next.js 14FastAPIPostgreSQL 16NginxDockerNextAuthTailwind CSSRecharts
projects.keywords
Next.jsFastAPIDockerPostgreSQLSelf-hostedAIPrivacyProductivity
projects.deep_dive
Self-contained personal dashboard replacing scattered tools (calendar apps, note apps, finance trackers, file managers) with a unified, extensible interface that runs locally and persists across sessions.
Architecture
Browser
└── Nginx :80
├── /api/auth/* → Next.js :3000 (NextAuth)
├── /api/v1/* → FastAPI :8000
└── /* → Next.js :3000
│
▼
PostgreSQL 16 (named volume)
Why Self-Hosted?
- ▸All data stays on your machine (PostgreSQL volume)
- ▸No monthly subscriptions or cloud accounts
- ▸Full control over your data and privacy
- ▸AI keys encrypted with AES-256 at rest
- ▸Sessions survive container restarts
Security Features
- ▸NextAuth v4 with JWT + database sessions
- ▸bcrypt password hashing
- ▸Rate limiting (Nginx + FastAPI middleware)
- ▸Path traversal protection for file browser
- ▸Security headers (CSP, HSTS, X-Frame-Options)
Results
| Metric | Value |
|---|---|
| Page load (cold) | < 2s |
| API response (CRUD) | < 200ms p95 |
| Container memory | < 512MB idle |
| Session persistence | Survives restarts |
| AI providers | Gemini / OpenAI / Claude |