Track your developer journey. Prove your consistency. Connect learning to real work.
DevTrack is a full-stack application that helps developers track their learning progress, document their projects, and build a provable record of consistent growth with AI-powered insights.
| Problem | Solution |
|---|---|
| Scattered Learning | Centralized tracking of courses, tutorials, and skills |
| Invisible Progress | Visual proof of consistent daily/weekly activity |
| Disconnected Skills | Links what you learn β what you build |
| No Portfolio Proof | AI-analyzed project progress reports |
| Forgetting Tasks | Calendar-based task management with push notifications |
- Log daily learning sessions with start/end times
- Track what you learned each day
- Tag skills and technologies
- Mood tracking for productivity insights
- Edit and delete log entries
- Document projects with GitHub repository links
- AI-powered project analysis using Groq (Llama 3.3)
- Automatic language detection from repos
- Progress tracking based on actual code, not just commits
- Support for private repositories via OAuth
- Interactive calendar view for task management
- Create, edit, and delete tasks with due dates
- Priority levels (Low, Medium, High)
- Task completion tracking
- Visual indicators for task density per day
- Firebase Cloud Messaging integration
- Daily consistency reminders
- Task due date notifications
- Adaptive or fixed-time reminder modes
- Works on desktop and mobile browsers
- Animated pill-shaped navbar with Framer Motion
- Quick stats overview (streaks, commits, skills)
- Weekly activity chart with gradient bars
- 30-day streak grid visualization
- Recent activity timeline
- Context-aware coding help
- Access to your project and learning data
- Powered by Groq API with Gemini fallback
- Code review and suggestions
- Private repo access via user OAuth tokens
- Fetch commits, PRs, issues, and languages
- Analyze repository structure and key files
- Commit pattern analysis (features/fixes/docs/tests)
- Auto-extract technologies from package.json, etc.
- Notification preferences (adaptive/fixed time)
- Work pattern configuration
- Break detection settings
- Goal tracking
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, React Router, Framer Motion, GSAP |
| Backend | Node.js, Express.js |
| Database | Firebase Firestore |
| Authentication | Clerk (GitHub OAuth) |
| AI | Groq API (Llama 3.3), Google Gemini (fallback) |
| GitHub API | Octokit |
| Notifications | Firebase Cloud Messaging (FCM) |
| Styling | Tailwind CSS |
| Deployment | Render (Static Site + Web Service) |
DevTrack/
βββ client/ # React Frontend (Vite)
β βββ public/
β β βββ firebase-messaging-sw.js # FCM Service Worker
β βββ src/
β β βββ components/ # Reusable UI components
β β β βββ ui/ # Button, Card, Badge, etc.
β β β βββ layout/ # AppLayout, Navbar
β β β βββ settings/ # NotificationSettings
β β β βββ dashboard/ # Dashboard widgets
β β βββ pages/ # Page components
β β β βββ Dashboard.jsx
β β β βββ Learning.jsx
β β β βββ Projects.jsx
β β β βββ Chat.jsx
β β β βββ Onboarding.jsx
β β β βββ SystemInfo.jsx
β β β βββ Landing.jsx
β β βββ hooks/ # Custom hooks (useNotifications)
β β βββ config/ # Firebase client config
β β βββ services/ # API service (Axios)
β β βββ App.jsx
β β βββ main.jsx
β βββ package.json
β
βββ server/ # Node.js Backend
β βββ src/
β β βββ config/ # Firebase Admin SDK
β β βββ controllers/ # Route controllers
β β βββ services/ # Business logic (notificationService)
β β βββ routes/ # Express routes
β β βββ middleware/ # Auth, validation, errors
β β βββ app.js
β βββ package.json
β
βββ .gitignore
βββ README.md
- Node.js (v18 or higher)
- npm or yarn
- Firebase project with Firestore + Cloud Messaging
- Clerk account with GitHub OAuth enabled
- Groq API key (and optionally Gemini API key)
# Clone the repository
git clone https://github.com/Vortex-16/DevTrack.git
cd DevTrack
# Install server dependencies
cd server
npm install
# Install client dependencies
cd ../client
npm installServer .env:
PORT=5000
NODE_ENV=development
CORS_ORIGIN=http://localhost:5173
# Firebase Admin SDK
FIREBASE_PROJECT_ID=your-project-id
FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
FIREBASE_CLIENT_EMAIL=firebase-adminsdk-xxx@your-project.iam.gserviceaccount.com
# Clerk Authentication
CLERK_PUBLISHABLE_KEY=pk_test_xxxxx
CLERK_SECRET_KEY=sk_test_xxxxx
# GitHub API (PAT for public repos fallback)
GITHUB_PAT=ghp_xxxxxxxxxxxx
# AI - Groq & Gemini
GROQ_API_KEY=gsk_xxxxxxxxxxxx
GEMINI_API_KEY=AIzaxxxxxClient .env:
VITE_API_URL=http://localhost:5000/api
VITE_CLERK_PUBLISHABLE_KEY=pk_test_xxxxx
# Firebase Client SDK (for FCM)
VITE_FIREBASE_API_KEY=AIzaxxxxx
VITE_FIREBASE_AUTH_DOMAIN=your-project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your-project-id
VITE_FIREBASE_STORAGE_BUCKET=your-project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=123456789
VITE_FIREBASE_APP_ID=1:123456789:web:xxxxx
VITE_FIREBASE_VAPID_KEY=BLxxxxxx # From Firebase Console > Cloud Messaging# Start the backend server (from server directory)
npm run dev
# Start the frontend (from client directory)
npm run dev- Create a new Static Site on Render
- Connect your GitHub repo, set root directory to
client - Build command:
npm install && npm run build - Publish directory:
dist - Add all
VITE_*environment variables
- Create a new Web Service on Render
- Connect your GitHub repo, set root directory to
server - Build command:
npm install - Start command:
npm start - Add all server environment variables
- Set
CORS_ORIGINto your frontend URL
- Initial project setup
- Clerk authentication (GitHub OAuth)
- Firebase Firestore integration
- Learning entry CRUD
- Project tracking CRUD
- GitHub API integration
- Private repository support
- AI-powered project analysis
- AI Chat assistant
- Dashboard with stats
- Beautiful landing page with animations
- Streak tracking & contribution heatmaps
- System info documentation page
- Calendar-based task management
- Push notifications (FCM)
- Onboarding flow with preferences
- Deployed to Render
- Export/share progress reports
- Mobile app (PWA enhancements)
- Team collaboration features
Built by the @Alpha Coders team.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ to help developers prove their growth