A full-stack personal operating system built for students who want to stop managing their life across 10 different apps and start actually getting things done.
Nexus is a dark-themed, single-user life dashboard built to answer two questions every day:
"What should I do right now?" "Why am I not doing it?"
It combines task management, habit tracking, Pomodoro focus sessions, exam prep, project management, and anti-procrastination mechanics into one cohesive system — all in a clean, opinionated UI that feels like a real product, not a side project.
Built by a BTC Computer Science student, for students.
- Daily check-in flow — every morning, log your energy level (Low / Medium / High) and make a daily promise to yourself before the dashboard unlocks
- Smart top-3 scheduler — the system suggests your 3 most important tasks based on deadline, priority, and energy level; you can swap any suggestion with tasks from your backlog before confirming
- Daily promise banner — your morning promise stays visible on the dashboard all day
- End-of-day reflection — appears automatically after 8 PM, asks how the day went against your promise
- Unified timeline — see classes, study blocks, gym, and leisure in one scrollable day view
- Full CRUD task management with priority (
URGENT / HIGH / MEDIUM / LOW) and energy requirement (HIGH / MEDIUM / LOW) - Auto-ranking scheduler — scores every task by deadline proximity × priority × energy match
- Filter by status, sort by priority / due date / created date
- Status context menu (mark pending, in progress, done, skipped)
- Overdue detection with visual indicators
- When adding a task, an AI tab suggests 4 personalized tasks based on your current backlog context
- Powered by Groq (free tier, llama-3.1-8b-instant)
- Suggestions are subject-aware (Algorithms, CAO, Data Science, etc.), gym-aware, and leisure-balanced
- Click any suggestion to pre-fill the form, then confirm or edit
- Click any task to open the Unstuck modal
- Shows the smallest possible next step (auto-generated or manually set)
- Shows last progress note and last worked timestamp
- 5-minute start timer — "just try it" approach with a circular countdown
- After 5 minutes: "Keep going?" prompts a full 25-minute Pomodoro extension
- Pomodoro timer (15 / 25 / 50 min presets) with circular progress ring
- Tracks actual elapsed time on stop — not the full session duration
- Links sessions to top-3 tasks
- Session history with timestamps and coin earnings per session
- Daily focus stats (sessions count, total minutes)
- Earn coins by completing Pomodoro sessions (1 coin per 5 minutes focused)
- Bet coins on completing a task by a deadline — win double or lose all
- Active pledges show on dashboard with "Done ✓" / "Failed ✗" resolve buttons
- Expired pledges flagged with visual warning
- Coin balance shown in sidebar and on focus page
- Daily habit checklist with streak tracking
- Frequency options: Daily / 3× per week / Weekdays
- Streak displayed as fire badge — breaks on missed days
- GitHub-style 6-month heatmap per habit (expandable on Habits page)
- Completion rate stats
- Tap-to-increment counters separate from main habits
- Quick presets: Water (glasses), Pushups (reps), Meals
- Progress bar fills with glow effect when daily target is hit
- Decrement button for corrections
- Resets automatically each day
- Dedicated Subjects page for exam prep
- Add subjects with color coding and exam dates
- Add topics per subject, check them off as you revise
- Progress bar per subject with percentage coverage
- Days-until-exam countdown that turns red when close
- Daily topic budget calculated automatically (remaining topics ÷ days left)
- Quick-add presets for all 5 subjects
- Overall coverage stats across all subjects
- Lives on the dashboard, always visible
- Shows days remaining per exam with urgency-based color (green → orange → red)
- Highlights the most neglected subject
- Shows daily topic budget required to finish on time
- Dedicated Notes page with Ctrl+Enter to save
- Tag notes to a subject for context
- Filter notes by subject
- Long notes collapse with "show more" toggle
- No context switching — everything stays inside Nexus
- Separate Review page auto-populated with completed and ignored tasks from the last 7 days
- Weekly stats: tasks finished, tasks missed, focus time, habit days
- Write next week's plan and save it
- Previous week's plan shown for reference
- Soft nudge to review on weekends
- Lightweight Kanban for coding projects
- Three columns: To Do / In Progress / Done
- Drag-and-drop cards between columns
- Add cards inline by typing and pressing Enter
- Color-coded projects with sidebar project list
- Done cards display with strikethrough styling
- Visual timeline with 1-hour grid from 6 AM to 10 PM
- Live "now" line showing current time
- Color-coded event blocks by type (Class / Gym / Leisure / Personal)
- Events repeat on selected days of the week
- Morning check-in shows today's events as quick confirm/skip checkboxes
- 8 stat cards: completion rate, tasks done this week, focus time, reliability score, overdue count, best focus hour, top-3 completed, active habits
- Bar charts for daily focus minutes and habit completions over 7 days
- Peak focus hours heatmap (which hour of day you focus most)
- Donut charts for tasks by priority and status
- Health score bars: completion rate, pledge reliability, overdue ratio
- Habit streak leaderboard with color-coded bars
- 30-day energy trend line chart built from daily check-in data
- Smooth spline curve with colored dots (red = low, amber = medium, purple = high)
- Best day and worst day cards (useful for scheduling harder vs easier tasks)
- Gradient area fill under the curve
- Sidebar streak badge that tracks consecutive days you complete the daily check-in
- Color shifts: gray (0) → blue (3+) → glowing orange (7+)
- Glow effect intensifies as streak grows
- Best streak tracked separately
| Layer | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite |
| Styling | CSS variables (custom dark design system), Tailwind (utility classes) |
| State | Zustand |
| Routing | React Router v6 |
| HTTP | Axios with JWT interceptors |
| Backend | Node.js, Express 4, TypeScript |
| Database | PostgreSQL 18 |
| ORM | Prisma 7 |
| Validation | Zod |
| Auth | JWT (jsonwebtoken) + bcrypt |
| AI | Groq API (llama-3.1-8b-instant) — free tier |
| Fonts | Syne (display), Outfit (body), JetBrains Mono (numbers) |
User
├── Task (priority, energy, status, isTop3, smallestNextStep, lastProgressNote)
├── Subject → Topic[]
├── Event (class, gym, leisure, personal — recurring by day of week)
├── Habit → HabitLog[]
├── MicroHabit → MicroHabitLog[]
├── PomodoroLog
├── Pledge (commitment coins)
├── DailyLog (energy, promise, reflection, top3Confirmed)
├── Note (linked to task or subject)
├── WeeklyReview
└── Project → ProjectCard[]
nexus/
├── server/
│ ├── prisma/
│ │ ├── schema.prisma
│ │ └── migrations/
│ └── src/
│ ├── routes/
│ ├── controllers/
│ ├── services/ ← all business logic lives here
│ ├── middleware/
│ ├── schemas/ ← Zod validation
│ └── lib/ ← prisma client, jwt utils
└── client/
└── src/
├── pages/ ← Dashboard, Tasks, Habits, Focus, Schedule,
│ Subjects, Notes, Analytics, Projects, Review
├── components/
│ ├── ui/ ← Button, Card, Badge, Sidebar
│ ├── dashboard/ ← Top3Scheduler, FocusTimer, HabitTracker,
│ │ PledgeCard, ExamCountdown, MicroHabitTracker,
│ │ EnergyChart
│ ├── tasks/ ← TaskList, AddTaskModal (AI suggestions), UnstuckModal
│ └── checkin/ ← DailyCheckIn, ReflectionPrompt, EventCheckIn
├── store/ ← Zustand stores (one per domain)
├── api/ ← Axios API functions (one per domain)
└── hooks/
- Node.js 20+
- PostgreSQL 15+ (local or Supabase free tier)
- Groq API key (free at console.groq.com)
git clone https://github.com/yourusername/nexus.git
cd nexus
# Install server dependencies
cd server && npm install
# Install client dependencies
cd ../client && npm installCreate server/.env:
DATABASE_URL="postgresql://postgres:yourpassword@localhost:5432/nexus_db"
JWT_SECRET="your-secret-key-change-this"
PORT=5000Create client/.env:
VITE_GROQ_API_KEY=your_groq_api_key_herecd server
npx prisma migrate dev --name init
npx prisma generate# Terminal 1 — backend
cd server && npm run dev
# Terminal 2 — frontend
cd client && npm run devOpen http://localhost:5173, register an account, and start building your day.
| Route | Description |
|---|---|
/dashboard |
Home — daily check-in, top-3, timeline, focus, habits, pledges, exam countdown |
/tasks |
Full task list with filters, sort, status management |
/habits |
Habit list with streaks and heatmaps |
/focus |
Full-screen Pomodoro timer + pledge system |
/schedule |
Weekly timetable with visual time grid |
/subjects |
Exam prep — subjects, topics, progress tracking |
/notes |
Quick capture with subject tagging |
/projects |
Kanban board for coding projects |
/analytics |
Stats, charts, energy trends, habit streaks |
/review |
Weekly review — what finished, what was ignored, next week's plan |
Nexus uses a custom dark design system called Obsidian OS — deep dark purple-tinted surfaces, violet accent, monospace number displays, and subtle glow effects.
--bg-base: #06060a /* page background */
--bg-card: #111118 /* card surface */
--accent: #6d65f0 /* primary violet */
--success: #2dd4a0 /* teal green */
--warning: #f5a623 /* amber */
--danger: #f06060 /* soft red */
--font-display: 'Syne' /* headings */
--font-body: 'Outfit' /* paragraphs */
--font-mono: 'JetBrains Mono' /* numbers, labels, badges */- Chrome extension — block distracting sites during Pomodoro sessions
- Push notifications — habit reminders, deadline alerts, streak at-risk warnings
- Mobile app — React Native with Expo (same API, new UI layer)
- AI daily briefing — morning summary generated from your actual data
- Drag-to-reorder tasks
- Keyboard shortcuts (N = new task, F = focus, C = check-in)
- Export data as CSV
- Accountability partner — share top-3 with a friend
I was using 6 different apps — Notion for notes, Google Calendar for schedule, a habit app, a timer app, a to-do app, and my phone's notes for quick capture. Context switching between them killed my focus.
Nexus is the single system that replaces all of them. Every feature is something I actually use daily. The AI suggestions are tuned for my subjects and my life (gym, badminton, DSA, Btech CS exams). The anti-procrastination mechanics (unstuck engine, commitment coins, 5-min start timer) are built around the actual psychological barriers that stop students from starting.
MIT — use it, fork it, make it yours.
Built with obsession during exam season. Exams in 1 month. Send help.