A modern, offline-first Progressive Web App for managing your daily tasks with smart reminders and beautiful UI.
- β Install on mobile (Android/iOS) and desktop
- β Works completely offline
- β App-like experience with no browser UI
- β Add to home screen functionality
- β Auto-updates in the background
- β° Customizable task reminders
β οΈ Overdue task alerts (30 min after due time)- π Configurable notification settings
- π³ Sound and vibration support
- π Works on Android and iOS
- βοΈ Create tasks with title, description, and due dates
- π― Set priority levels (Low, Medium, High)
- π·οΈ Organize by categories (Work, Personal, Health, etc.)
- β° Smart reminder suggestions based on priority
- β Mark tasks as complete or postpone
- ποΈ Delete tasks easily
- π Weekly progress chart
- π Completion rate tracking
- π― Task statistics
- π Task history view
- π Motivational feedback
- πΏ All data stored locally
- π No internet required after installation
- β‘ Instant loading
- π Your data stays on your device
- π Works everywhere, even on planes
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Open in Chrome/Edge
- Tap "Install App" button or browser menu
- Confirm installation
- Find on home screen
- Open in Safari (required)
- Tap Share β Add to Home Screen
- Name the app
- Tap Add
- Open from home screen
π See INSTALL.md for detailed installation instructions
- Tap the + button
- Enter task title and optional description
- Set due date and time
- Choose priority (High/Medium/Low)
- Select category
- Enable Smart Reminder for automatic reminder time
- Edit reminder time if needed
- Tap Create Task
- Complete: Tap the circle icon
- Postpone: Tap the clock icon
- Delete: Tap the trash icon
- Tasks are grouped into: Overdue, Today, Upcoming, Backlog
- Analytics: Tap pie chart icon for stats
- History: Tap calendar icon to see completed tasks
- Settings: Tap gear icon to configure notifications
- React 18 with TypeScript
- Vite for blazing fast builds
- Framer Motion for smooth animations
- React Router for navigation
- date-fns for date handling
- Lucide React for beautiful icons
- vite-plugin-pwa with Workbox
- Service Worker for offline support
- Web App Manifest for installation
- Local Storage for data persistence
- Notification API for push notifications
- CSS Variables for theming
- Glassmorphism design pattern
- Dark Mode native support
- Mobile-first responsive design
src/
βββ components/ # Reusable UI components
β βββ BottomNav.tsx # Bottom navigation bar
β βββ TaskCard.tsx # Individual task display
β βββ CreateTaskModal.tsx # Task creation modal
β βββ InstallPWA.tsx # PWA install prompt
β βββ Layout.tsx # App layout wrapper
βββ pages/ # Route pages
β βββ Home.tsx # Main dashboard
β βββ Stats.tsx # Analytics page
β βββ History.tsx # Completed tasks
β βββ Settings.tsx # App settings
βββ hooks/ # Custom React hooks
β βββ useTasks.ts # Task CRUD operations
β βββ useNotificationSettings.ts # Notification config
βββ services/ # Business logic
β βββ notificationService.ts # Notification handling
βββ types/ # TypeScript types
β βββ index.ts # Shared types
βββ App.tsx # Root component
βββ main.tsx # Entry point
βββ index.css # Global styles
public/
βββ icon.svg # App icon (SVG)
βββ pwa-192x192.png # PWA icon (small)
βββ pwa-512x512.png # PWA icon (large)
βββ apple-touch-icon.png # iOS icon
All data is stored locally on your device:
- Tasks: localStorage (
taskflow_tasks) - Notification Settings: localStorage (
taskflow_notification_settings) - No external servers: Complete privacy
- No tracking: Your data stays with you
- Export/Import: Future feature planned
- Checks for reminders every 10 seconds
- Sends notification at scheduled time
- Sends overdue alert 30 min after due time
- Uses Service Worker for reliability
- Works even when app is in background (on Android)
Access via Settings page:
- β Enable/disable all notifications
- β Toggle task reminders
- β Toggle overdue alerts
- β Control sound & vibration
π See NOTIFICATIONS.md for detailed notification guide
- β Chrome (Android, Desktop)
- β Edge (Android, Desktop)
- β Safari (iOS, macOS)
- β Brave (Android, Desktop)
β οΈ Firefox (PWA features limited)- β Internet Explorer (not supported)
- Node.js 18+ and npm
- Modern browser
No environment variables needed - works out of the box!
# Development (with hot reload)
npm run dev
# Production build
npm run build
# Preview production
npm run preview
# Type check
npx tsc --noEmit- Service Worker caches all assets
- App works without internet
- Data persists locally
- Fast loading times
- Add to home screen on mobile
- Desktop installation support
- Native app-like experience
- No app store required
- Service Worker checks for updates
- Installs in background
- Activate on next launch
- No manual updates needed
- Mobile-first: Optimized for phone usage
- Dark Mode: Easy on the eyes
- Glassmorphism: Modern, premium feel
- Animations: Smooth, delightful interactions
- Accessibility: Clear hierarchy and contrast
- β No data collection
- β No analytics
- β No external requests
- β Everything stored locally
- β Open source (you can verify)
Future features planned:
- Task categories customization
- Recurring tasks
- Task templates
- Data export/import
- Multiple themes
- Widget support (Android)
- Siri shortcuts (iOS)
- Desktop notifications
- Task sharing
MIT License - feel free to use and modify!
Contributions welcome! Please:
- Fork the repository
- Create feature branch
- Make your changes
- Test thoroughly
- Submit pull request
Having issues? Check:
- INSTALL.md - Installation guide
- NOTIFICATIONS.md - Notification setup
Built with β€οΈ using React, TypeScript, and PWA technologies
Stay organized. Stay productive. TaskFlow.