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.