Your complete academic companion. A modern, all-in-one workspace for university students that combines powerful note-taking, task management, course tracking, exam preparation, and AI-powered study assistance in one beautiful, intuitive interface.
- Overview
- Key Features
- Complete Feature List
- Getting Started
- How to Use
- Keyboard Shortcuts
- Tech Stack
- Project Structure
- Deployment
- Contributing
NOTELOFT is a comprehensive student productivity platform inspired by Notion, but specifically designed for academic life. It helps you:
- Organize your courses, tasks, and exams
- Track your study time and progress
- Plan your semester with smart scheduling
- Study with focused sessions and AI assistance
- Collaborate with classmates on shared workspaces
- Succeed with data-driven insights and recommendations
Whether you're managing a single course or a full semester load, NOTELOFT adapts to your workflow and helps you stay on top of everything.
Your command center for the semester:
- Today Panel - See what you need to do right now
- Focus Streak - Track consecutive study days
- Time per Course - Visual breakdown of study time
- Progress Cards - Weekly goals and achievements
- Quick Actions - Start sessions, add tasks, create pages instantly
Powerful note-taking with block-based editing:
- Rich Text Editor - Powered by TipTap with full formatting
- Slash Commands - Type
/for quick block insertion - 17+ Block Types - Headings, lists, quotes, code, callouts, images, and more
- Page Templates - Pre-built templates for common use cases
- Version History - Track changes and restore previous versions
- Public Sharing - Share pages with public links
- Backlinks - See all pages that link to this one
Stay organized with flexible task views:
- Table View - Sortable, filterable spreadsheet interface
- Board View - Kanban board with drag-and-drop
- Smart Filtering - By course, status, priority, due date
- Quick Add - Natural language input (e.g., "math hw due Fri")
- Context Menus - Right-click for quick actions
- Relations - Link tasks to courses, exams, and pages
Complete course tracking:
- Course Cards - Visual overview with color coding
- Grade Calculator - Automatic GPA computation
- Assessment Tracking - Track assignments, quizzes, exams
- Study Time Analytics - Hours per course per week
- Progress Indicators - Visual progress bars
- Course Pages - Dedicated notes page per course
Never miss a class or deadline:
- Weekly Timetable - Interactive grid view
- Calendar View - Month view for exams and tasks
- Drag & Drop - Easy scheduling
- Color-Coded - Course colors for quick identification
- Calendar Sync - Import from Google Calendar (ready)
- Study Block Suggestions - AI suggests optimal study times
Track and optimize your study time:
- Session Templates - Deep Work, Light Review, Exam Cram
- Pomodoro Timer - Focused sessions with breaks
- Course Association - Link sessions to courses/tasks
- Session History - Complete activity log
- Post-Session Summary - Review what you accomplished
- Micro Journals - Quick reflections after each session
Smart study assistance:
- AI Study Agent - Context-aware study planning
- Today's Focus - Personalized daily recommendations
- Smart Suggestions - Based on deadlines and progress
- Page Summarization - AI-powered note summaries
- Flashcard Generation - Auto-generate study cards
- Task Extraction - Extract tasks from notes
Make studying fun and engaging:
- Boss Fight Mode - Turn exams into boss battles
- Study Runs - Structured semester-long study plans
- Focus Rooms - Study with others (shared timers)
- Study Debts - Track missed sessions
- Streaks - Daily study streak tracking
- Achievements - Unlock rewards for consistency
Find anything instantly:
- Global Search - Search across pages, tasks, courses, exams
- Command Palette - Press
Ctrl+K/Cmd+Kfor quick actions - Quick Switcher - Jump to any page instantly
- Backlinks - Discover page connections
- Activity Feed - See all workspace activity
Work together with classmates:
- Shared Workspaces - Invite team members
- Comments & Mentions - Threaded discussions
- Page Sharing - Public or private sharing
- Activity Log - See what everyone is working on
- Role Management - Owner, Admin, Member, Viewer roles
Make it yours:
- Light/Dark Mode - Beautiful themes
- Sidebar Position - Left or right
- Collapsible Sidebar - Icon-only mode
- Keyboard Shortcuts - Full keyboard navigation
- Custom Themes - Personalize colors (coming soon)
- ✅ Semester Dashboard with overview cards
- ✅ Today Panel with smart suggestions
- ✅ Focus Streak tracking
- ✅ Time per Course analytics
- ✅ Weekly Progress tracking
- ✅ GPA Calculator
- ✅ Study Statistics
- ✅ Activity Feed
- ✅ Block-based rich text editor (TipTap)
- ✅ 17+ block types (headings, lists, quotes, code, callouts, etc.)
- ✅ Slash commands (
/) for quick insertion - ✅ Page templates (6+ templates)
- ✅ Page properties (Notion-style)
- ✅ Version history
- ✅ Public page sharing
- ✅ Backlinks system
- ✅ Favorites system
- ✅ Drag & drop page organization
- ✅ Nested pages (hierarchical)
- ✅ Task creation and management
- ✅ Table view (sortable, filterable)
- ✅ Board/Kanban view
- ✅ Calendar view
- ✅ Priority levels (High, Normal, Low)
- ✅ Status tracking (Not Started, In Progress, Done)
- ✅ Due date management
- ✅ Course association
- ✅ Task relations
- ✅ Quick add with natural language
- ✅ Context menus (right-click actions)
- ✅ Course management
- ✅ Grade calculator
- ✅ Assessment tracking
- ✅ GPA projection
- ✅ Course pages
- ✅ Study time per course
- ✅ Progress indicators
- ✅ Color coding
- ✅ Weekly timetable
- ✅ Calendar view
- ✅ Drag & drop scheduling
- ✅ Class management
- ✅ Study block suggestions
- ✅ Calendar sync (Google, Outlook ready)
- ✅ Free time detection
- ✅ Session timer (Pomodoro-style)
- ✅ Session templates (Deep Work, Light Review, Exam Cram)
- ✅ Course/task association
- ✅ Session history
- ✅ Post-session summaries
- ✅ Micro journals (mood, intent, outcome)
- ✅ Session analytics
- ✅ AI Study Agent
- ✅ Today's Focus recommendations
- ✅ Smart session suggestions
- ✅ Page summarization (stub)
- ✅ Flashcard generation (stub)
- ✅ Task extraction (stub)
- ✅ Practice question generation (stub)
- ✅ Study Runs (semester plans)
- ✅ Boss Fight Mode (gamified exam prep)
- ✅ Focus Rooms (shared study sessions)
- ✅ Knowledge Graph (Topics)
- ✅ Study Debts tracker
- ✅ Exam Storyboard
- ✅ Smart Templates Store
- ✅ Global search (Cmd/Ctrl+K)
- ✅ Command Palette
- ✅ Quick switcher
- ✅ Backlinks
- ✅ Activity feed
- ✅ Sidebar search
- ✅ Shared workspaces
- ✅ Comments system
- ✅ @Mentions
- ✅ Page sharing (public/private)
- ✅ Workspace members
- ✅ Role management
- ✅ Onboarding wizard
- ✅ Quick Add (Q key)
- ✅ Keyboard shortcuts
- ✅ Focus Mode
- ✅ Responsive design (mobile-friendly)
- ✅ Undo system
- ✅ Auto-save indicators
- ✅ Context menus
- ✅ Empty states with helpful content
- ✅ Calendar sync (ready)
- ✅ File attachments (Resources)
- ✅ Web clipper (Resources API)
- ✅ RESTful API
- ✅ Export/Import (ready)
- Node.js 18+ (LTS recommended)
- pnpm (or npm/yarn)
- Git
- Clone the repository:
git clone https://github.com/Lingz450/NoteLoft.git
cd NoteLoft- Install dependencies:
pnpm install
# or
npm install- Set up environment variables:
Create a .env.local file in the root directory:
DATABASE_URL="file:./dev.db"For production, use PostgreSQL:
DATABASE_URL="postgresql://user:password@localhost:5432/noteloft"- Initialize the database:
# Run Prisma migrations
pnpm prisma migrate dev
# Generate Prisma client
pnpm prisma generate
# (Optional) Seed with demo data
pnpm prisma db seed- Start the development server:
pnpm dev
# or
npm run dev- Open your browser:
Navigate to http://localhost:3000
You'll be redirected to /workspace/demo to get started! 🎉
When you first open NOTELOFT, you'll see an onboarding wizard:
- Set Semester Dates - Choose your semester start and end dates
- Add Courses - Add your courses with codes and names
- Add First Exam/Assignment - Optionally add your first important item
After onboarding, you'll land on your dashboard!
The Semester Dashboard is your home base:
- Today Panel (top) - Shows overdue tasks, today's tasks, next exam, and suggested study session
- Progress Card - Weekly study time and streak counter
- Focus Cards - Focus streak, time per course, today's focus
- Courses Section - All your courses with grades and progress
- Upcoming Tasks - Tasks due this week
- Upcoming Exams - Exams coming up
Method 1: Quick Add (Recommended)
- Press
Qkey anywhere (or click the floating + button) - Type natural language:
"math hw due Fri"or"CS exam next week" - Preview and create!
Method 2: Tasks Page
- Go to Study Tasks in the sidebar
- Click "+ Add task"
- Fill in the form and save
Method 3: From Course
- Open a course page
- Click "Add Task" button
- Task is automatically linked to that course
- Go to Courses in the sidebar
- Click "+ Add course"
- Enter:
- Course code (e.g., "CS 201")
- Course name (e.g., "Data Structures")
- Credits
- Color (for visual organization)
- Add assessment items to track grades
Method 1: From Sidebar
- Click "+ New" in the Pages section
- Choose a template or start blank
- Start typing!
Method 2: Command Palette
- Press
Ctrl+K/Cmd+K - Type "Create new page"
- Press Enter
Method 3: Templates
- Go to Templates page
- Browse available templates
- Click "Use Template"
The page editor supports:
- Slash Commands - Type
/to see all available blocks - Keyboard Shortcuts:
Ctrl+B/Cmd+B- BoldCtrl+I/Cmd+I- ItalicCtrl+Shift+F/Cmd+Shift+F- Focus Mode
- Block Types:
- Headings (H1, H2, H3)
- Lists (Bullet, Numbered, Todo)
- Quote
- Code block
- Callout (Info, Warning, Error, Success, Tip)
- Divider
- Image
- Link
Method 1: Today Panel
- Look at the Today Panel on dashboard
- Click "Start My Next Session" (smart suggestion)
- Or click a suggested session card
Method 2: Study Mode
- Go to Study Mode in sidebar
- Choose a template (Deep Work, Light Review, Exam Cram)
- Select course and duration
- Click "Start"
Method 3: From Task
- Open a task
- Click "Start Session" button
- Session is pre-filled with task info
- Go to Study Runs in sidebar (Advanced section)
- Click "Create Study Run"
- Select course, goal type, dates
- System generates weekly plan
- Track progress as you complete sessions
- Go to Boss Fights in sidebar
- Each exam becomes a "boss"
- Study sessions "damage" the boss
- Defeat the boss before exam date!
- Go to Focus Rooms in sidebar
- Join an existing room or create new
- Study together with shared timer
- Send reactions (checkmark, coffee, etc.)
- Go to Topics in sidebar
- Create topics and link them to tasks/exams
- View connections in graph view
- Track topic completion
Command Palette (Ctrl+K / Cmd+K):
- Search pages, tasks, courses, exams
- Quick actions (Create page, Add task, etc.)
- Navigate without mouse
Global Search:
- Searches across all content
- Filters by type
- Shows recent items
Backlinks:
- Open any page
- See "Backlinks" panel
- View all pages that link to this one
| Shortcut | Action |
|---|---|
Ctrl+K / Cmd+K |
Open command palette |
Q |
Quick add |
Ctrl+Shift+? / Cmd+Shift+? |
Show keyboard shortcuts |
Esc |
Close modal/menu |
| Shortcut | Action |
|---|---|
Ctrl+B / Cmd+B |
Bold |
Ctrl+I / Cmd+I |
Italic |
Ctrl+Shift+F / Cmd+Shift+F |
Toggle Focus Mode |
/ |
Open slash commands |
Ctrl+Enter / Cmd+Enter |
Submit comment |
Esc |
Close slash menu |
- Arrow Keys - Navigate in command palette
- Enter - Select item
- Tab - Navigate between fields
💡 Tip: Press
Ctrl+Shift+?(orCmd+Shift+?on Mac) to see all shortcuts in a modal!
| Category | Technology |
|---|---|
| Framework | Next.js 14 (App Router) |
| Language | TypeScript 5.9 |
| Styling | Tailwind CSS 3.4 |
| Database | SQLite (dev) / PostgreSQL (prod) |
| ORM | Prisma |
| Rich Text Editor | TipTap |
| UI Components | Custom + Radix UI primitives |
| State Management | React Hooks + TanStack Query |
| Drag & Drop | @hello-pangea/dnd |
| Icons | Lucide React |
| Validation | Zod |
| Animations | Tailwind CSS transitions |
noteloft/
├── app/ # Next.js 14 App Router
│ ├── workspace/[workspaceId]/ # Workspace pages
│ │ ├── page.tsx # Dashboard
│ │ ├── tasks/ # Task management
│ │ ├── courses/ # Course management
│ │ ├── exams/ # Exam tracking
│ │ ├── schedule/ # Weekly timetable
│ │ ├── sessions/ # Study sessions
│ │ ├── stats/ # Analytics
│ │ ├── pages/ # Note pages
│ │ ├── study-runs/ # Study Runs
│ │ ├── boss-fights/ # Boss Fight Mode
│ │ ├── focus-rooms/ # Focus Rooms
│ │ ├── topics/ # Knowledge Graph
│ │ ├── study-debts/ # Study Debts
│ │ ├── templates/ # Template gallery
│ │ ├── activity/ # Activity feed
│ │ └── onboarding/ # Onboarding wizard
│ ├── ai/ # AI Assistant
│ ├── profile/ # User profile
│ ├── settings/ # App settings
│ ├── templates/ # Global templates
│ ├── p/[slug]/ # Public pages
│ └── api/ # API routes
├── components/
│ ├── layout/ # Sidebar, TopBar, Shell
│ ├── dashboard/ # Dashboard widgets
│ ├── tasks/ # Task components
│ ├── courses/ # Course components
│ ├── pages/ # Page components
│ ├── editor/ # Editor components
│ ├── sessions/ # Session components
│ ├── ai/ # AI components
│ ├── common/ # Shared components
│ ├── database-views/ # Database view components
│ ├── comments/ # Comments system
│ ├── resources/ # Resources/attachments
│ ├── onboarding/ # Onboarding wizard
│ └── workspace/ # Workspace components
├── lib/
│ ├── db.ts # Prisma client
│ ├── utils.ts # Utility functions
│ ├── hooks/ # Custom React hooks
│ ├── services/ # Business logic
│ ├── validation/ # Zod schemas
│ ├── actions/ # Server actions
│ └── tiptap-extensions/ # TipTap extensions
├── prisma/
│ ├── schema.prisma # Database schema
│ ├── migrations/ # Database migrations
│ └── seed.ts # Seed data
├── docs/ # Documentation
└── public/ # Static assets
-
Push to GitHub:
git push origin main
-
Import to Vercel:
- Go to vercel.com
- Click "New Project"
- Import your GitHub repository
-
Set Environment Variables:
DATABASE_URL- Your PostgreSQL connection string- (Optional)
NEXTAUTH_SECRET- For authentication - (Optional)
NEXTAUTH_URL- Your deployment URL
-
Deploy!
- Vercel will automatically build and deploy
- Your app will be live at
your-project.vercel.app
For Production:
- Neon - Serverless PostgreSQL (recommended)
- Supabase - Open-source Firebase alternative
- Railway - Simple database hosting
- PlanetScale - MySQL-compatible
Setup:
- Create a database on your chosen platform
- Copy the connection string
- Add to Vercel environment variables as
DATABASE_URL - Run migrations:
pnpm prisma migrate deploy
NOTELOFT uses a block-based editor similar to Notion:
- 17+ Block Types: Paragraph, Headings (H1-H3), Bullet List, Numbered List, Todo List, Quote, Callout, Code Block, Divider, Image, Link
- Slash Commands: Type
/to see all available blocks - Keyboard Shortcuts: Bold, Italic, and more
- Autosave: Changes save automatically every second
- Version History: View and restore previous versions
- Properties: Add custom properties to pages (Status, Tags, Dates, etc.)
Table View:
- Sort by any column
- Filter by course, status, priority
- Inline editing
- Bulk actions
Board View:
- Kanban-style columns (Not Started, In Progress, Done)
- Drag & drop between columns
- Visual progress tracking
- Quick task creation
Smart Features:
- Natural language parsing in Quick Add
- Automatic course detection
- Due date parsing
- Priority suggestions
Session Templates:
- Deep Work: 50 min focus, 10 min break
- Light Review: 25 min, 5 min break
- Exam Cram: 90 min, 15 min break
Features:
- Timer with visual countdown
- Task completion tracking
- Session notes
- Mood tracking (Very Bad → Great)
- Post-session summary
- Next session suggestions
The AI Study Agent provides:
- Today's Focus: Personalized daily recommendations
- Weekly Goals: Suggested study targets
- Smart Suggestions: Based on deadlines and progress
- Context Awareness: Considers all your courses, tasks, and exams
- Action Items: Clear next steps
Turn exam prep into a game:
- Each exam = a "Boss" with HP
- Study sessions = damage to the boss
- Skipped sessions = boss heals
- Goal: Defeat boss (reach 0 HP) before exam date
- Difficulty levels: Easy, Normal, Hard, Nightmare
Create structured semester plans:
- Set goal (A grade, Pass, Catch Up, Custom)
- System generates weekly session templates
- Track progress week by week
- Adapts when you skip or add sessions
- Visual progress indicators
Study together (even if remote):
- Join shared study rooms
- Synchronized timer
- Presence indicators
- Reactions (checkmark, coffee, sleepy)
- No chat (distraction-free)
Build connections between topics:
- Create topics and link to tasks/exams
- Visual graph view of relationships
- Track topic completion
- Identify knowledge gaps
- AI-powered topic extraction (ready)
NOTELOFT supports:
- Light Mode - Clean, bright interface
- Dark Mode - Easy on the eyes
- System Preference - Auto-switch based on OS
Change in Settings → Appearance → Theme
- Position: Left or Right
- Collapse: Icon-only mode
- Sections: Expand/collapse Advanced, Favorites, Pages
- Search: Search pages within sidebar
All shortcuts are customizable (coming soon). For now, see the shortcuts modal (Ctrl+Shift+?).
- Local-First: Data stored in your database
- No Tracking: We don't track your usage
- Private by Default: All pages are private unless you share them
- Secure: Passwords hashed with bcrypt
- Export: Export your data anytime
# Reset database
pnpm prisma migrate reset
# Regenerate Prisma client
pnpm prisma generate
# Check database connection
pnpm prisma studio# Clear Next.js cache
rm -rf .next
# Reinstall dependencies
rm -rf node_modules
pnpm install# Kill process on port 3000
# Windows:
netstat -ano | findstr :3000
taskkill /PID <PID> /F
# Mac/Linux:
lsof -ti:3000 | xargs kill- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices)
- First Load: < 100KB JavaScript
- Code Splitting: Automatic route-based splitting
- Image Optimization: Next.js Image component
- Lazy Loading: Components load on demand
We welcome contributions! Here's how:
- Fork the repository
- Create a feature branch:
git checkout -b feature/AmazingFeature - Make your changes
- Commit:
git commit -m 'Add some AmazingFeature' - Push:
git push origin feature/AmazingFeature - Open a Pull Request
- Follow TypeScript best practices
- Use Tailwind CSS for styling
- Write descriptive commit messages
- Add comments for complex logic
- Test your changes locally
This project is licensed under the MIT License - see the LICENSE file for details.
Lingz450
- Built with Next.js
- UI inspired by Notion and Linear
- Icons by Lucide
- Database powered by Prisma
- Editor powered by TipTap
- Documentation: See
/docsfolder for detailed guides - Issues: GitHub Issues
- Feature Requests: Open an issue with the
enhancementlabel
NOTELOFT is constantly evolving! Upcoming features:
- 🔜 Real-time collaboration
- 🔜 Mobile app (React Native)
- 🔜 Advanced AI features (OpenAI integration)
- 🔜 More templates
- 🔜 Custom themes
- 🔜 Export to PDF/Markdown
- 🔜 Browser extension
Ready to ace your semester? Start using NOTELOFT today! 📚✨
Made with ❤️ for students everywhere.
Last Updated: December 2024