A comprehensive productivity dashboard that transforms your GitHub activity into actionable insights. Track your coding patterns, analyze productivity metrics, and get intelligent suggestions to improve your development workflow.
- π Productivity Analytics: Deep insights into your coding patterns and habits
- π― Focus Metrics: Track session length, interruption rates, and concentration patterns
- π Coding Velocity: Visualize daily code changes with interactive charts
- π Peak Hours: Heatmap showing when you're most productive
- π Active Pull Requests: Monitor PR status with approval tracking
- π Recent Commits: View your latest contributions across repositories
- π‘ Smart Suggestions: AI-powered recommendations based on your coding patterns
- π Language Distribution: Analyze your programming language usage
- π± Responsive Design: Optimized for all screen sizes with full-width layout
- π Dark Mode Support: Beautiful interface that adapts to your preference
- β‘ Real-time Updates: Live data with intelligent caching
- π― Interactive Tooltips: Detailed explanations for all metrics
- π Visual Analytics: Charts, heatmaps, and progress indicators
-
Clone and Install
git clone https://github.com/your-username/daily-dashboard.git cd daily-dashboard npm install -
Run Development Server
npm run dev
-
Configure GitHub Integration
- Navigate to
http://localhost:3000 - Click the settings icon (βοΈ) in the top right
- Enable GitHub integration
- Add your GitHub Personal Access Token and username
- Select repositories to track (optional)
- Navigate to
- Go to GitHub Settings β Developer settings β Personal access tokens β Tokens (classic)
- Click "Generate new token (classic)"
- Select scopes:
- β
repo- Access to repositories - β
user:email- Access to user email - β
read:user- Read user profile data
- β
- Copy the generated token
- Open dashboard settings (βοΈ icon)
- Toggle "GitHub" to enabled
- Enter your Personal Access Token
- Enter your GitHub username
- Optionally select specific repositories to track
- Save configuration
- Average Session Length: Time between first and last commit in a day
- Longest Session: Your longest continuous coding session
- Total Focus Time: Cumulative active coding time
- Interruption Rate: Average gaps between commits (lower is better)
- Daily Changes: Lines added/removed per day over the last week
- Trend Analysis: Visual representation of your coding output
- Net Change Tracking: Positive/negative code changes with color coding
- 24-Hour Heatmap: Visual representation of your most active coding hours
- Activity Intensity: Color-coded blocks showing commit frequency
- Focus Sessions: Identified time blocks of concentrated work
- Pattern Recognition: Understand your natural productivity rhythms
The dashboard analyzes your recent commits and provides intelligent recommendations:
- Frontend Heavy? β Suggests backend tasks and API-related issues
- Backend Focused? β Recommends UI improvements and frontend work
- Low Test Coverage? β Suggests testing and quality improvements
- Missing Documentation? β Recommends documentation tasks
- Balanced Development β Encourages continued diverse contributions
Each suggestion includes relevant open issues from your repositories!
src/
βββ app/ # Next.js 13+ app directory
β βββ globals.css # Global styles and responsive utilities
β βββ layout.tsx # Root layout with providers
β βββ page.tsx # Main dashboard page
βββ components/
β βββ dashboard.tsx # Main dashboard layout
β βββ settings/ # Configuration management
β β βββ settings-modal.tsx
β βββ ui/ # Reusable UI components
β βββ widgets/
β βββ github-widget.tsx # Complete GitHub integration
βββ lib/
β βββ config.ts # Configuration and localStorage utilities
βββ types/ # TypeScript definitions
- Next.js 13+ with App Router
- React 18 with Hooks and Context
- TypeScript for type safety
- Tailwind CSS for styling
- React Query for data fetching and caching
- Lucide React for icons
-
Extend Analytics:
// Add new metrics to ProductivityMetrics interface interface ProductivityMetrics { // ... existing metrics newMetric: { value: number; trend: "up" | "down" | "stable"; }; }
-
Add New Suggestions:
// Extend Smart Suggestions logic in fetchSmartSuggestions if (customCondition) { suggestionType = "custom"; message = "Your custom suggestion message"; }
-
Customize UI:
/* Add custom styles in globals.css */ .custom-widget { @apply bg-gradient-to-r from-blue-500 to-purple-600; }
- Mobile: < 640px
- Tablet: 640px - 1024px
- Desktop: 1024px - 1280px
- Large: > 1280px
The dashboard uses a carefully crafted color palette:
- Primary: Blue gradient for main actions
- Success: Green for positive metrics
- Warning: Orange for attention items
- Error: Red for issues
- Info: Purple for analytics
/* Main container uses full screen width */
.max-w-[100rem] /* ~160rem = 2560px */
/* Responsive grid system */
.grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6-
No Data Showing
- β Verify GitHub token has correct permissions
- β Check if repositories are selected in settings
- β Ensure username is correct
-
API Rate Limits
- β GitHub allows 5,000 requests/hour for authenticated users
- β Dashboard implements intelligent caching
- β Consider reducing refresh frequency for large repositories
-
CORS Errors
- β Some GitHub API endpoints have CORS restrictions
- β Dashboard handles these gracefully with fallbacks
- β Review browser console for specific error details
Enable React Query DevTools:
// Add to your layout or providers
import { ReactQueryDevtools } from "@tanstack/react-query-devtools";
// Include in your component tree
<ReactQueryDevtools initialIsOpen={false} />;npm run build
npx vercel --prodnpm run build
# Deploy the 'out' directoryFROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "start"]- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests if applicable
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Submit a Pull Request
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Implement proper error handling
- Add JSDoc comments for complex functions
- Test responsive design on multiple screen sizes
- Multi-platform Support: GitLab, Bitbucket integration
- Team Analytics: Collaborative productivity insights
- Export Features: PDF reports, CSV data export
- Notification System: Desktop notifications for important events
- Advanced Filtering: Date ranges, repository filtering
- Performance Optimization: Virtual scrolling, lazy loading
- Accessibility: Full WCAG 2.1 compliance
- π Documentation: Check this README and inline code comments
- π Bug Reports: Open an issue
- π‘ Feature Requests: Start a discussion
- π§ Contact: karlevedant7@gmail.com
Built with β€οΈ for developers who love data-driven productivity insights.
π‘ Pro Tip: Use the Smart Suggestions feature to discover new areas of contribution in your repositories and maintain a balanced development approach across frontend, backend, and quality assurance tasks.