TaskTitan is a comprehensive productivity and task management iOS application with AI-powered coaching features.
TaskTitan combines modern task management with personalized AI coaching to help users overcome procrastination and achieve their goals through a supportive, gamified experience.
- Task Management: Create, track, and manage tasks with AI-powered breakdown
- 5 Unique AI Coaches: Personalized coaching with distinct personalities (Natalie, Leeko, Buto, Sutton, Molten)
- Photo Gallery: Capture completed tasks with device camera or photo library
- Progress Analytics: Visual performance metrics and insights
- Smart Notifications: AI-generated reminders with coach personalities
- Multi-language Support: Full English and Chinese localization
- Theme System: Dark/light mode with elegant orange accent
- Subscription Tiers: Basic and Pro feature sets
- Local-First Architecture: All data stored on device, works offline
TaskTitan/
βββ frontend/ # React/TypeScript/Capacitor iOS app
β βββ src/
β β βββ components/ # React components (tracker, coach, statistics, etc.)
β β βββ services/ # Notification services
β β βββ utils/ # API service, storage, analytics
β β βββ assets/ # Images and static files
β β βββ styles/ # Global CSS and theme
β βββ ios/ # iOS Capacitor native project
β βββ build/ # Production build output
β βββ package.json # Frontend dependencies
βββ backend/ # Node.js/Express backend (optional)
β βββ src/
β β βββ routes/ # API routes (ai-coach, notifications, purchase)
β β βββ services/ # GLM-4 AI and notification services
β β βββ database/ # PostgreSQL schema (future)
β βββ package.json # Backend dependencies
βββ README.md # This file
The TaskTitan frontend is a local-first iOS application that stores all data on the device. It can run independently without the backend.
- Navigate to frontend directory:
cd frontend- Install dependencies (includes camera & IAP plugins):
npm install- Development server (web preview):
npm run dev
# Open http://localhost:5173- Build for iOS:
npm run ios:build- Open in Xcode:
npm run cap:open iosRun the automated camera setup script:
./install-camera.shThe backend provides AI coaching via Zhipu GLM-4 API and push notifications via Tencent TPNS.
- Navigate to backend:
cd backend- Install dependencies:
npm install- Configure environment (.env file):
# Create .env file in backend directory with:
PORT=3001
GLM_API_KEY=your_glm_api_key_here
APPLE_SHARED_SECRET=your_apple_shared_secret_here
# Optional - Tencent Push Notifications
TPNS_ACCESS_ID=your_tpns_access_id
TPNS_SECRET_KEY=your_tpns_secret_key- Start server:
npm run dev
# Backend runs on http://localhost:3001The app features 5 unique AI coaching personalities powered by GLM-4-flash:
| Coach | Personality | Icon | Description |
|---|---|---|---|
| Natalie | Empathetic & Supportive | π | Gentle encouragement and emotional support |
| Leeko | Young & Energetic | β‘ | Playful motivation with a rebellious edge |
| Buto | Direct & No-Nonsense | π‘οΈ | Tough love and accountability |
| Sutton | Cool & Trendy | β | Hip, modern coaching style |
| Molten | Wise & Reflective | π | Thoughtful, philosophical guidance |
Each coach has unique response styles and adapts to English or Chinese automatically.
Celebrate completed tasks with photos:
- Take Picture: Use device camera to capture completion moments
- From Gallery: Select photos from your photo library
- Photo Cards: Beautiful card-based gallery with task details
- Timing Metrics: Track if you finished early or late
- Local Storage: Photos stored as Base64, works offline
iOS Permissions Required:
- Camera access
- Photo library read access
- Photo library write access
Dual notification architecture:
- Local Notifications: Immediate, offline browser notifications
- Push Notifications: Server-side via TPNS with AI-generated messages
Notification Types:
- 24 hours before goal deadline
- 12 hours before goal deadline
- 1 hour before goal deadline
- Goal deadline overdue
- Final deadline warning
- React 18 - UI framework
- TypeScript - Type safety
- Vite - Build tool & dev server
- Capacitor 7 - Native iOS bridge
- Tailwind CSS - Utility-first styling
- Radix UI - Accessible component primitives
- Framer Motion - Smooth animations
- Lucide React - Icon library
- Sonner - Toast notifications
- Node.js - Runtime
- Express - Web framework
- TypeScript - Type safety
- Axios - HTTP client
- PostgreSQL - Database (schema ready)
- Zhipu GLM-4 - AI coaching API
- Tencent TPNS - Push notifications
- @capacitor/camera - Camera & photo library access
- @capacitor/local-notifications - Local notifications
- @capacitor/push-notifications - Push notifications
npm run dev # Start dev server (web preview)
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run type-check # TypeScript type checking
npm run ios:build # Build and sync to iOS
npm run ios:dev # Build and open Xcode
npm run cap:sync # Sync native plugins
npm run cap:open ios # Open iOS project in Xcodenpm run dev # Start with hot reload
npm run build # Build TypeScript
npm run start # Run production build
npm run lint # Run ESLintBasic (Free):
- 10 tasks per month
- 10 notifications per month
- Access to 1 coach (Natalie)
Pro (Β₯4.90/month):
- Unlimited tasks
- Unlimited notifications
- Access to all 5 coaches
-
App Store Connect:
- Create subscription group: "Pro Subscriptions"
- Product ID:
com.quesx.tasktitan.pro - Duration: 1 Month
- Price: Β₯4.90 (China)
-
Get Shared Secret:
- App Store Connect β Your App β General β App Information
- Generate App-Specific Shared Secret
- Add to backend
.envasAPPLE_SHARED_SECRET
-
Create Sandbox Tester:
- App Store Connect β Users and Access β Sandbox Testers
- Add tester account for testing purchases
-
Backend Verification:
- Backend automatically verifies receipts with Apple
- Endpoint:
/api/purchase/verify
- macOS with Xcode 14+
- Apple Developer Account ($99/year)
- iOS device or simulator
- Build the app:
cd frontend
npm run ios:build-
Configure in Xcode:
- Set Bundle Identifier:
com.quesx.tasktitan - Team: Select your Apple Developer account
- Signing: Enable "Automatically manage signing"
- Capabilities:
- β Push Notifications
- β Background Modes (Remote notifications)
- β In-App Purchase
- Set Bundle Identifier:
-
Info.plist Permissions:
- Camera: "We need access to capture photos of completed tasks"
- Photo Library: "We need access to select photos for your task gallery"
- Notifications: "We send reminders for your tasks and deadlines"
-
TestFlight Distribution:
- Archive: Product β Archive (in Xcode)
- Distribute: Select archive β Distribute App
- Upload to App Store Connect
- Add testers (internal: up to 100, external: up to 10,000)
- Wait for processing (~5-10 minutes)
-
App Store Submission:
- Complete app metadata in App Store Connect
- Add screenshots (required: 6.5" & 5.5" displays)
- Write description and keywords
- Set age rating
- Submit for review
Full bilingual support with automatic language detection:
English:
- Primary language
- Full UI translations
- Coach personalities in English
δΈζ (Chinese):
- Complete Chinese translations
- Localized date/time formatting
- Chinese coach responses
Language switching in Settings β Language
Light Theme:
- Clean white background
- Orange primary accent (
#FF6B35) - High contrast for readability
Dark Theme:
- Pure black background (
#0A0A0A) - Same orange accent for consistency
- OLED-friendly
Toggle in Settings β Theme
Local-First Architecture:
- All data stored in browser LocalStorage
- No cloud dependency
- Works completely offline
- Export/import functionality
- Privacy-focused
Stored Data:
- Tasks and progress
- Chat conversations
- Gallery photos (Base64)
- User preferences
- Analytics data
- No user accounts - Device-based identification
- Local storage - All data stays on device
- Optional backend - Only for AI features
- No data collection - Privacy-first design
- Device fingerprinting - For future cloud sync (optional)
Currently no test files. Future: Jest + React Testing Library
- Task creation with AI breakdown
- Task completion flow
- Coach chat interactions
- Camera photo capture
- Photo library selection
- Notification scheduling
- Language switching
- Theme switching
- Statistics display
- Gallery card creation
- Check iOS Settings β TaskTitan β Enable Camera/Photos access
- Re-sync Capacitor:
npm run cap:sync(in frontend directory) - Rebuild:
npm run ios:build
# Check backend is running
curl http://localhost:3001/health
# Check frontend proxy in vite.config.ts
# Should point to http://localhost:3001# Clean and rebuild
cd frontend
rm -rf node_modules build ios/App/build
npm install
npm run ios:buildCurrent Version: 1.0.0
Status: β
Production Ready
Recent Updates (Oct 2025):
- β Camera plugin integration for gallery
- β iOS permissions configured
- β Notification system fixed
- β Code cleanup (removed ~1,200 lines of unused code)
- β Documentation consolidated
Completed Features:
- Task management with AI breakdown
- 5 AI coach personalities
- Photo gallery with camera access
- Smart notifications
- Statistics and analytics
- English/Chinese support
- Dark/light themes
- iOS Capacitor setup
- Local-first storage
Future Enhancements:
- Image compression for photos
- Cloud backup (optional)
- Social sharing
- Photo editing
- Android support
- Backend database implementation
- Purchase verification
This is a private project. For issues or suggestions, contact the development team.
Proprietary - All rights reserved
- Figma Design: https://www.figma.com/design/bu6Mf6DORIdP6KArRgHykc/TaskTitan
- Zhipu GLM-4 API: https://open.bigmodel.cn/
- Capacitor Docs: https://capacitorjs.com/
This project includes:
- Components from shadcn/ui - MIT License
- Photos from Unsplash - Unsplash License
For setup help or bug reports:
- Check troubleshooting section above
- Review console logs for detailed errors
- Verify all dependencies are installed
- Ensure backend is running (for AI features)
Built with β€οΈ for productivity and personal growth