A Modern, Intelligent Task Management System for Students
Manage your academic journey with smart AI assistance, beautiful UI, and zero dependencies on external servers
β¨ Try it Live β https://studenttasky.netlify.app/ β¨
Features β’ Getting Started β’ Usage Guide β’ Tech Stack β’ Architecture
Student Task Tracker is a powerful, offline-first task management application specifically designed for students. Built with modern web technologies, it provides an intuitive interface for tracking assignments, projects, and academic goals with intelligent AI-powered suggestions.
β
100% Free & Open Source - No subscriptions, no hidden costs
β
Privacy-First - All data stored locally on your device
β
AI-Powered - Smart task breakdown using Google Gemini
β
Beautiful UI - Modern, responsive design with smooth animations
β
Zero Setup - No backend servers or databases required
β
Offline-Ready - Works completely offline after initial load
- π Smart Task Management: Create, edit, and delete tasks with title, description, deadline, and progress tracking
- β Auto-Checklist Detection: Type numbered lists (1., 2., 3.) - they automatically become interactive checkboxes
- π― Auto-Progress Tracking: Progress calculated automatically from checked items (e.g., 2/4 checked = 50%)
- π Thread-Based Activity Logs: Comprehensive history of all updates with timestamps (persistent even after task deletion)
- π Deadline Alerts: Automatic overdue detection and visual indicators
- π€ User Profiles: Personalized welcome with optional API key input during onboarding
π Important Note: When you check/uncheck a box, the system logs it as a thread entry (e.g., "Checked 'First step' - Progress: 25%"). The original checklist item text is never changed - only the completion status and progress are updated.
- βοΈ MongoDB Cloud Database: All data persisted to MongoDB Atlas (single source of truth)
- π Encrypted API Keys: AES-256 encryption using crypto-js for secure storage
- ποΈ RESTful API: Complete Express.js backend with Mongoose ODM
- π Persistent Logs: Activity logs survive task deletion (separate collection)
- β±οΈ Safe Data Management: 10-second countdown with cancel button for clearing data
- π€ AI Assistant: Get intelligent task breakdowns powered by Google Gemini 2.5 Flash Lite
- π Celebration Effects: Confetti animation when you reach 100% completion
- π± Responsive Design: Works on desktop, tablet, and mobile
- π¨ Professional Icons: Lucide React icons throughout (no emojis!)
- π¨ Modern UI: Beautiful gradients, glassmorphism effects, and smooth transitions
- βΏ Accessible: Semantic HTML and keyboard-friendly navigation
- Single Tap/Click: Open task detail view with progress slider
- Long Press (500ms): Open context menu for edit/delete options
- AI Assist Button: Generate smart subtask suggestions based on task title
- Clear Data: Reset all data with double-confirmation safety
- Node.js (v18 or higher) - Download here
- npm or yarn package manager
- (Optional) Google Gemini API key for AI features - Get free key
-
Clone the repository
git clone <repository-url> cd student-task-tracker
-
Install dependencies
npm install
-
Configure API Key (Optional - for AI features)
Edit
.env.localand add your Gemini API key:VITE_GEMINI_API_KEY=your_actual_api_key_here
Note: The app works perfectly fine without an API key. AI Assist will simply show a message to configure the key when clicked.
-
Start the development server
npm run dev
-
Open your browser
Navigate to
http://localhost:3000and start tracking your tasks! π
npm run buildOptimized production files will be in the dist/ folder, ready to deploy to any static hosting service (Netlify, Vercel, GitHub Pages, etc.).
- Onboarding: Enter your name when prompted on first launch
- Create Your First Task: Click the floating "+" button
- Fill Task Details:
- Title: Assignment or project name
- Description: Details, notes, or subtasks
- Deadline: Due date for the task
- Status: Initial status (Pending/In Progress/Completed)
- Progress: How much is complete (0-100%)
- Click the floating action button (bottom-right corner)
- Fill in task details
- Use AI Assist button for smart subtask suggestions
- Click Create Task to save
- Tap/Click any task card to open detail view
- Adjust progress using the slider (in 5% increments)
- Add an optional note to document what you did
- Click Update Progress & Add Log to save
- Long-press (hold for 500ms) any task card
- Select Edit Task from the menu
- Modify any fields and save
- Long-press the task card
- Select Delete Task from the menu
- Confirm deletion
Your dashboard shows:
- Overall Progress: Average completion across all tasks
- Pending Tasks: Number of incomplete tasks
- Completed Tasks: Number of finished tasks
- Task Cards: All your tasks sorted by creation date
Click β¨ AI Assist in the task form description field to:
- Get suggested study plans
- Break down complex tasks into steps
- Receive actionable subtasks
Requires a valid Gemini API key in .env.local
Click your name in the top-right corner to update your profile.
Click Clear Data button (trash icon) in the header:
- Double-confirmation required for safety
- Removes all tasks and user profile
- Triggers onboarding flow again
- React 19 - Latest React with improved hooks and performance
- TypeScript 5.8 - Type-safe development
- Vite 6.2 - Lightning-fast build tool and dev server
- TailwindCSS - Utility-first CSS via CDN
- Google Gemini 2.5 Flash - Advanced AI for task suggestions
- @google/genai - Official Gemini SDK
- LocalStorage API - Client-side data persistence
- Browser Cache - Offline-first architecture
- Canvas Confetti - Celebration animations
- Google Fonts (Inter) - Modern typography
- Custom Components - Handcrafted UI components
student-task-tracker/
βββ components/ # Reusable UI components
β βββ ui/ # Base UI components (Button, Modal, Input, etc.)
β βββ TaskList.tsx # Task grid display
β βββ TaskItem.tsx # Individual task card with gestures
β βββ TaskForm.tsx # Create/Edit form with AI assist
β βββ TaskDetailModal.tsx # Progress slider & logs
β βββ TaskActionMenu.tsx # Context menu (edit/delete)
β βββ UserOnboardingModal.tsx # First-time user setup
βββ pages/ # Page components
β βββ Home.tsx # Main dashboard controller
βββ services/ # Business logic layer
β βββ taskService.ts # CRUD operations for tasks
β βββ userService.ts # User profile management
β βββ geminiService.ts # AI integration
β βββ audioService.ts # Sound effects
βββ types.ts # TypeScript interfaces
βββ .env.local # Environment variables
βββ index.html # Entry point with Tailwind config
User Action β Component β Service Layer β LocalStorage
β β
State Update Data Validation
β
UI Re-render
- Single Source of Truth: All state managed in
Home.tsx - Service Layer: Separation of UI and data logic
- Error Boundaries: Comprehensive try-catch blocks
- Optimistic Updates: Immediate UI feedback with rollback on error
- Defensive Programming: Input validation at multiple levels
- No External Servers: All data stays on your device
- No Tracking: Zero analytics or user tracking
- No Authentication: No account creation needed
- Local-Only Storage: Data lives in browser localStorage
- API Key Safety: Gemini API key stored in environment variables (never in code)
β οΈ Important: Clearing browser data will delete all tasks. Export your data manually if needed (feature can be added).
- β
Check that
VITE_GEMINI_API_KEYis set in.env.local - β Verify API key is valid on Google AI Studio
- β
Restart dev server after changing
.env.local - β Check browser console for specific error messages
- β Check if localStorage is enabled in browser settings
- β Verify you're not in incognito/private mode
- β Check if storage quota is exceeded (shows alert)
- β Try clearing old tasks to free up space
- β
Ensure Node.js is installed:
node --version - β
Delete
node_modulesand runnpm installagain - β Check if port 3000 is available
- β Try a different browser
- Clear browser cache and cookies for localhost
- Check browser console for localStorage errors
- Verify browser supports localStorage API
While this project is feature-complete, potential improvements include:
- Data export/import (JSON, CSV)
- Dark mode toggle
- Calendar view for deadlines
- Task categories/tags
- Search and filter functionality
- Task templates
- Backend API with MongoDB (optional)
- Multi-device sync
This is an educational project, but contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
Built with β€οΈ for students, by students.
Project Maintainer: [Your Name]
Google AI Studio: View App
- React Team - For the amazing framework
- Google Gemini - For powerful AI capabilities
- Tailwind Labs - For beautiful styling utilities
- Vite Team - For the blazing-fast dev experience