Daily Dashboard is an LLM-powered adaptive productivity web application that helps users manage tasks, build habits, and optimize their daily workflow. Unlike traditional to-do apps, it:
- β¨ Dynamically generates tasks using AI based on your goals
- π§ Learns from your behavior without removing control
- π Adapts to your energy levels and life circumstances
- π Provides transparent explanations for all decisions
- π― Detects habits automatically from your patterns
- π¬ Conversational AI assistant for task management
Built with React, Node.js, PostgreSQL, and LLaMA 3 (via Ollama).
- Generate actionable tasks from high-level goals
- Get personalized suggestions based on your context
- Receive explanations for why each task was suggested
- Automatically break down large tasks into manageable subtasks
- Adapt task size to your preferences and energy levels
- Transparent reasoning for each breakdown
- Dynamic priority calculation based on:
- Urgency (deadlines)
- Energy requirements
- Historical completion patterns
- Current user state
- View detailed priority explanations on demand
- Automatic pattern detection from repeated behaviors
- Opt-in habit suggestions with supporting evidence
- Streak tracking without pressure
- Flexible frequency options (daily, weekly, custom)
- Log daily energy, pain levels, and cycle phases (all optional)
- System adapts suggestions without making assumptions
- No tasks removed on low-energy daysβonly reordered
- Daily and weekly behavioral summaries
- Pattern analysis with confidence levels
- Gentle, supportive suggestions
- Complete transparency in observations
- Ask questions about your tasks and priorities
- Request task suggestions via natural language
- Get explanations for system decisions
- Context-aware responses
Frontend:
- React 18
- Framer Motion (animations)
- Axios (HTTP client)
- React Router v6
- Lucide React (icons)
Backend:
- Node.js 18+ / Express
- PostgreSQL 15
- Passport.js (OAuth authentication)
- Axios (LLM communication)
AI/LLM:
- Ollama (LLM runtime)
- LLaMA 3 (default model)
- Fallback support for API-based LLMs
Infrastructure:
- Docker & Docker Compose
- Multi-container orchestration
- Volume persistence
βββββββββββββββββββ
β React Frontend β
ββββββββββ¬βββββββββ
β
ββββββΌββββββ
β API β
β Gateway β
ββββββ¬ββββββ
β
ββββββΌβββββββββββββββββββββββ
β Express Backend API β
β β
β ββββββββββββ β
β β Auth β β
β β Routes β β
β ββββββββββββ β
β β
β ββββββββββββ β
β β Task β β
β β Service β β
β ββββββββββββ β
β β
β ββββββββββββ β
β β LLM β β
β β Service β β
β βββββββ¬βββββ β
ββββββββββΌβββββββββββββββββββ
β β
ββββββββΌββββ ββββΌβββββββββ
βPostgreSQLβ β Ollama β
β Database β β (LLaMA) β
ββββββββββββ βββββββββββββ
- Docker Desktop (v20.10+)
- 8GB RAM minimum (16GB recommended)
- 10GB free disk space
- Git (optional)
# If you have git
git clone <repository-url>
cd daily-dashboard-app
# Or extract the provided ZIP file
unzip daily-dashboard-app.zip
cd daily-dashboard-appcp backend/.env.example backend/.envEdit backend/.env and add your OAuth credentials:
For Google OAuth:
- Visit https://console.cloud.google.com/
- Create project β Enable Google+ API
- Create OAuth 2.0 credentials
- Set redirect URI:
http://localhost:5000/api/auth/google/callback - Add credentials to
.env
For GitHub OAuth:
- Visit https://github.com/settings/developers
- Register new OAuth app
- Set callback URL:
http://localhost:5000/api/auth/github/callback - Add credentials to
.env
docker-compose up -dFirst startup takes 10-15 minutes (downloading images, building containers).
docker exec -it daily-dashboard-ollama ollama pull llama3This downloads the LLaMA 3 model (~4GB). Takes 10-20 minutes depending on connection.
docker exec -it daily-dashboard-backend npm run init-dbOpen your browser and navigate to:
- Application: http://localhost:3000
- API Health Check: http://localhost:5000/health
For comprehensive setup instructions including:
- Development mode setup
- Troubleshooting common issues
- Production deployment guidelines
- API endpoint reference
- Testing checklist
See: SETUP.md
This application features a distinctive cyberpunk-inspired aesthetic with:
- Typography: Syne (display) + Space Mono (body)
- Color Scheme: Dark theme with electric green (#00ff88) and hot pink (#ff0066) accents
- Animation: Smooth transitions and micro-interactions via Framer Motion
- Layout: Brutalist grid-based design with bold borders
- Accessibility: High contrast, clear focus states, keyboard navigation
The design intentionally avoids generic "AI slop" aesthetics commonly seen in productivity apps.
- users: User accounts (OAuth)
- user_profiles: Goals, preferences, settings
- tasks: All tasks and subtasks
- habits: Detected and manual habits
- habit_logs: Daily habit completions
- behavioral_logs: Action tracking for ML
- daily_states: Energy, pain, cycle tracking
- insights: Generated reviews and patterns
For detailed schema, see backend/scripts/initDatabase.js
GET /api/auth/google- Google OAuthGET /api/auth/github- GitHub OAuthGET /api/auth/me- Current userPOST /api/auth/logout- Logout
GET /api/tasks- List tasksPOST /api/tasks- Create taskPOST /api/tasks/generate- AI generationPOST /api/tasks/:id/breakdown- Break down taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete taskGET /api/tasks/:id/priority-explanation- Priority factors
GET /api/habits- List habitsPOST /api/habits/detect- Detect patternsPOST /api/habits/:id/log- Log completionGET /api/habits/:id/streak- Streak info
GET /api/profile- Get profilePUT /api/profile- Update profilePOST /api/profile/state- Log daily state
POST /api/insights/daily-review- Daily summaryPOST /api/insights/weekly-review- Weekly patterns
POST /api/assistant/query- Ask questionGET /api/assistant/health- LLM status
- OAuth login (Google/GitHub)
- Complete onboarding flow
- Create manual task
- Generate AI tasks
- Break down task into subtasks
- View priority explanation
- Complete task
- Log daily energy state
- Detect habit from patterns
- Accept/decline habit suggestion
- Ask AI assistant question
- Generate daily review
- Generate weekly review
# Backend tests (if implemented)
cd backend
npm test
# Frontend tests (if implemented)
cd frontend
npm test1. Containers won't start:
docker-compose down
docker-compose up -d --build2. Database connection error:
docker-compose restart postgres
docker exec -it daily-dashboard-backend npm run init-db3. LLM not responding:
docker exec -it daily-dashboard-ollama ollama list
docker exec -it daily-dashboard-ollama ollama pull llama3
docker-compose restart ollama4. Frontend can't reach backend:
- Check backend is running:
curl http://localhost:5000/health - Check logs:
docker-compose logs backend - Restart:
docker-compose restart backend
5. OAuth fails:
- Verify credentials in
backend/.env - Ensure redirect URIs match exactly
- Restart backend:
docker-compose restart backend
- Typical: 3-8 seconds per request
- Hardware dependent: Better CPU/GPU = faster responses
- Consider: Smaller models like
phifor faster but less capable responses
- Indexes already optimized for common queries
- Monitor slow queries in production
- Consider read replicas for scale
- Code splitting implemented
- Lazy loading for heavy components
- Optimistic UI updates
- OAuth-based authentication
- Session-based auth (HTTP-only cookies)
- CORS protection
- Rate limiting on API routes
- Helmet.js security headers
- Enable HTTPS (required)
- Use strong SESSION_SECRET
- Implement CSRF protection
- Add input sanitization
- Set up monitoring/alerting
- Regular security audits
# Build for production
docker-compose -f docker-compose.prod.yml build
# Deploy
docker-compose -f docker-compose.prod.yml up -dRecommended:
- Backend & Database: Railway, Render, Fly.io
- Frontend: Vercel, Netlify
- LLM: Self-hosted Ollama or OpenAI API fallback
See SETUP.md for detailed deployment guide.
Backend:
cd backend
npm install
cp .env.example .env
# Edit .env with local PostgreSQL URL
npm run init-db
npm run devFrontend:
cd frontend
npm install
npm startOllama:
ollama serve
ollama pull llama3Contributions are welcome! This is a portfolio project designed to demonstrate:
- Full-stack development
- LLM integration
- Database design
- Docker containerization
- OAuth authentication
- React best practices
- API design
Feel free to fork and extend!
MIT License - Free for personal and commercial use
- Anthropic - Claude for architecture guidance
- Meta - LLaMA 3 model
- Ollama - Local LLM runtime
- Open Source Community - All the amazing libraries
For issues, questions, or feedback:
- Check SETUP.md for detailed guides
- Review Docker logs:
docker-compose logs - Verify all services:
docker-compose ps
- Calendar integration (Google Calendar, Outlook)
- Mobile app (React Native)
- Voice input for tasks
- Team collaboration features
- Advanced analytics dashboard
- Wearable integration (optional)
- Multi-language support
- Dark/light theme toggle
- Export data (JSON, CSV)
- Backup & restore
- Native desktop app (Electron)
- Browser extension
- Slack/Discord integration
- Public API for third-party apps
Built with β€οΈ for real humans with real variability
Not idealized productivity. Just better days.