A powerful task management and productivity application with multi-view organization, intelligent filtering, mobile-first design, and AI-powered insights.
- Multi-View Interface โ Dashboard (focus view), Daily (timeline view), and Calendar (monthly overview)
- Smart Task Organization โ Categories, priorities (low/medium/high), and due dates with time support
- Recurring Tasks โ Daily, weekly, or monthly recurrence with customizable start/end dates
- Dependencies & Blocking โ Track task dependencies and see what's blocking progress
- Subtasks โ Break down complex tasks into manageable subtasks with individual completion tracking
- Advanced Filtering โ Filter by status, priority, category, due dates, and custom search
- Watched Tasks โ Pin important tasks for quick access
- AI Assistant โ Integrate with Gemini AI for task suggestions and insights
- Multi-Tab Sync โ Real-time synchronization across browser tabs via localStorage
- Dark/Light Mode โ Built-in theme switching with next-themes
- Responsive Design โ Fully responsive layout that adapts from 375px mobile to 1440px+ desktop
- Off-Canvas Sidebar โ Hamburger menu drawer on mobile (fixed) / always-visible on desktop (static)
- Swipe Gestures โ Swipe right to complete task (green โ) or left to delete (red ๐๏ธ) with visual feedback
- Mobile-Optimized Header โ Compact hamburger navigation, hidden clock, responsive search
- Bottom Sheet Quick-Add โ Floating action button (FAB) opens mobile-native slide-up sheet for fast task creation
- Touch-Friendly Actions โ Tap menu (โฎ) reveals Complete / Edit / Delete buttons; Desktop uses hover-reveal
| Category | Technology |
|---|---|
| Frontend Framework | React 19 + TypeScript |
| Build Tool | Vite 6 |
| Styling | Tailwind CSS v4 + Animate |
| UI Components | Base UI + shadcn-style custom components |
| State Management | React hooks + localStorage |
| Forms | React Hook Form |
| Animations | Motion (Framer Motion) v12 |
| Notifications | Sonner |
| Icons | Lucide React |
| Date Handling | date-fns |
| Testing | Vitest + React Testing Library |
| AI Integration | Gemini AI API (@google/genai) |
- Node.js 18+
# 1. Install dependencies
npm install
# 2. Set up environment variables
cp .env.example .env.local
# Edit .env.local and add your Gemini API key
GEMINI_API_KEY=your_api_key_here
# 3. Start development server (http://localhost:3000)
npm run dev
# 4. Test mobile features: Toggle device toolbar to 375px viewportnpm run dev # Start dev server with HMR
npm run build # Create production build
npm run preview # Preview production build locally
npm run lint # TypeScript type-checking
npm test # Run test suite with Vitest
npm run clean # Remove dist/ directorysrc/
โโโ App.tsx # Main application component
โโโ main.tsx # Entry point
โโโ types.ts # TypeScript type definitions
โโโ useTasks.ts # Core task management hook
โโโ setupTests.ts # Test configuration
โ
โโโ components/ # Reusable UI components
โ โโโ TaskForm.tsx # Task editor with recurrence & dependencies
โ โโโ CategoryForm.tsx # Category creation/editing
โ โโโ TaskRow.tsx # Individual task display (with swipe gestures)
โ โโโ BottomSheet.tsx # Mobile slide-up sheet component
โ โโโ QuickAddForm.tsx # Mobile quick-add task form
โ โโโ AdvancedFilterBar.tsx # Smart filtering interface
โ โโโ DependencyGraph.tsx # Task dependency visualization
โ โโโ SettingsModal.tsx # User preferences & settings
โ โโโ Header.tsx # Responsive app header & search
โ โโโ Sidebar.tsx # Off-canvas drawer (mobile) / static nav (desktop)
โ โโโ Footer.tsx # Footer content
โ โโโ DevTools.tsx # Development utilities
โ โโโ ui/ # Base UI shadcn components
โ
โโโ views/ # Page-level views
โ โโโ DashboardView.tsx # Focus dashboard (today's tasks)
โ โโโ DailyView.tsx # Day-specific view with timeline
โ โโโ CalendarView.tsx # Monthly calendar view
โ
โโโ hooks/ # Custom React hooks
โ โโโ useHistory.ts # History/undo management
โ โโโ useSwipeGesture.ts # Swipe gesture detection for mobile
โ
โโโ lib/ # Utilities & helpers
โโโ recurringTasks.ts # Recurrence calculation logic
Tasks and categories are automatically saved to localStorage:
chronos-tasksโ Task data arraychronos-categoriesโ Category definitions
Changes sync across multiple browser tabs in real-time via storage events.
Create .env.local in the project root:
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-2.0-flash
APP_URL=http://localhost:3000- Title & Description โ Task name and optional details
- Priority โ low, medium, high (affects sorting and filtering)
- Category โ Organize tasks by custom categories
- Due Date & Time โ Schedule tasks with optional time
- Recurrence โ Set as daily, weekly, monthly with start/end dates
- Subtasks โ Nested tasks for complex workflows
- Dependencies โ Mark tasks that block other tasks
- Status โ Active, completed, or overdue
- Watched โ Pin tasks for quick access
| View | Purpose |
|---|---|
| Dashboard | Focus on today's tasks with smart filtering and quick stats |
| Daily | Deep dive into a specific day with timeline layout |
| Calendar | Month-at-a-glance with task indicators |
- All โ Show all tasks
- Active โ Incomplete tasks
- Completed โ Finished tasks
- Urgent โ High priority due soon
- Blocked โ Tasks waiting on dependencies
- Overdue โ Tasks past due date
- Unscheduled โ Tasks without due dates
| Action | Mobile | Desktop |
|---|---|---|
| Open Sidebar | Tap hamburger menu (๐ฑ appears in header) | Always visible |
| Complete Task | Swipe right on task row | Click checkbox |
| Delete Task | Swipe left on task row OR tap โฎ โ Delete | Hover-reveal delete button |
| Edit Task | Tap โฎ โ Edit | Hover-reveal edit button |
| Quick Add | Tap FAB (+) button โ bottom sheet | Use "Add Task" button in header |
Tests are located alongside source files (*.test.ts and *.test.tsx):
npm testUses Vitest with React Testing Library (jsdom environment).
This app is deployed on Google Cloud AI Studio:
- View: https://ai.studio/apps/b59b5c33-6250-43c4-97f7-ab42a208c8d6
- API Keys: Injected at runtime from AI Studio secrets
- Build: Automatic on commit
- Mobile-responsive design (sidebar drawer, responsive header)
- Swipe-to-complete / swipe-to-delete gestures
- Bottom sheet quick-add for mobile
- Mobile-optimized task actions (tap menu)
- Recurring task improvements (custom intervals, exceptions)
- Subtask templates for common workflows
- Team collaboration & shared tasks
- Native mobile app (React Native) with offline sync
- Integration with calendar services (Google Calendar, Outlook)
- Advanced analytics & productivity insights
- Custom themes & styling options
- Keyboard shortcuts for power users
- Voice-to-task creation (AI-powered)
Contributions welcome! To add features:
- New Task Properties โ Update
Tasktype insrc/types.ts, add form fields inTaskForm.tsx - New Views โ Create
src/views/NewView.tsx, add tab inApp.tsx - New Filters โ Update
activeFilterstate andfilteredTaskslogic inApp.tsx - Mobile Features โ Update
useSwipeGesture.tsfor new gestures, or add toQuickAddForm.tsxfor quick-add enhancements - New Components โ Add to
src/components/and import in relevant views
- Use Tailwind's
max-md:(below 768px) andmd:(768px+) breakpoints - Test with DevTools device toolbar at 375px (iPhone) and 1024px (tablet)
- Sidebar is
fixedon mobile,staticon desktop - Header uses responsive classes for padding, icon visibility, and search width
useSwipeGesture.tswraps Motion's drag API for 80px swipe threshold- Desktop hovers remain unchanged; mobile uses tap menus to preserve accessibility
- All animations use
motion/react(notframer-motion)
MIT License โ See LICENSE file for details.
Made with โค๏ธ using React, TypeScript, Tailwind CSS, and Motion