TimeQuest is a revolutionary productivity application that transforms mundane task management into an engaging, gamified experience. With its retro-futuristic design and comprehensive feature set, TimeQuest makes productivity addictive through rewards, achievements, and social competition.
๐ Live Demo: TimeQuest App
- Smart Task Management: Create, organize, and track tasks with duration estimates
- Advanced Timer System: Pomodoro, Focus, Sprint, and Custom timer presets
- Real-time Progress Tracking: Live updates without page refreshes
- Persistent Mini Timer: Always-visible timer for active tasks
- Coin Economy: Earn coins for completed tasks and focus sessions
- Level Progression: Advance through levels with XP-based system
- Streak Tracking: Maintain daily productivity streaks
- Achievement System: Unlock badges for various milestones
- Multi-tier Shop: Power-ups, cosmetics, and premium items
- Rarity System: Common, Rare, Epic, and Legendary items
- Achievement Gallery: Track and showcase unlocked badges
- Personal Inventory: Manage purchased items and rewards
- Dynamic Timer Sounds: Background audio during active sessions
- Completion Alerts: Satisfying completion sounds
- Audio Library: Multiple sound options (Simple Bell, Soft Bell, Ting Tong, etc.)
- Smart Audio Management: No overlapping sounds, proper pause/resume
- Global Leaderboards: Compete with other Quest Masters
- Achievement Sharing: Showcase your productivity milestones
- Community Challenges: Participate in daily, weekly, and monthly challenges
- Friend System: Connect with other users (Coming Soon)
- Theme System: Dark/Light mode with retro-futuristic aesthetics
- Custom Timer Presets: Set your own work and break durations
- Audio Preferences: Choose and test different timer sounds
- Profile Customization: Personalize your Quest Master identity
timequest/
โโโ public/
โ โโโ sounds/ # Timer audio files
โ โโโ logotr.png # TimeQuest logo
โ โโโ favicon.ico # App favicon
โโโ src/
โ โโโ components/
โ โ โโโ ui/ # Reusable UI components
โ โ โ โโโ button.tsx
โ โ โ โโโ card.tsx
โ โ โ โโโ dialog.tsx
โ โ โ โโโ progress.tsx
โ โ โ โโโ tabs.tsx
โ โ โ โโโ ...
โ โ โโโ About.tsx # About page component
โ โ โโโ Auth.tsx # Authentication component
โ โ โโโ Contact.tsx # Contact page component
โ โ โโโ CreateTaskModal.tsx # Task creation modal
โ โ โโโ Dashboard.tsx # Main dashboard
โ โ โโโ HowToUse.tsx # Tutorial component
โ โ โโโ MiniTimer.tsx # Persistent mini timer
โ โ โโโ Navigation.tsx # App navigation
โ โ โโโ RewardsPage.tsx # Comprehensive rewards system
โ โ โโโ Settings.tsx # App settings
โ โ โโโ SocialPage.tsx # Social features hub
โ โ โโโ TimerModal.tsx # Quick timer modal
โ โ โโโ TimerPage.tsx # Advanced timer page
โ โ โโโ UserProfile.tsx # User profile management
โ โโโ contexts/
โ โ โโโ AppStateContext.tsx # Global state management
โ โ โโโ AuthContext.tsx # Authentication context
โ โโโ hooks/
โ โ โโโ use-mobile.tsx # Mobile detection hook
โ โ โโโ use-toast.ts # Toast notifications
โ โโโ lib/
โ โ โโโ utils.ts # Utility functions
โ โโโ pages/
โ โ โโโ Index.tsx # Main app page
โ โ โโโ NotFound.tsx # 404 page
โ โโโ services/
โ โ โโโ mockData.ts # Mock data service
โ โโโ utils/
โ โ โโโ audioManager.ts # Audio management system
โ โโโ App.tsx # Root component
โ โโโ index.css # Global styles
โ โโโ main.tsx # App entry point
โโโ package.json # Dependencies and scripts
โโโ tailwind.config.ts # Tailwind configuration
โโโ tsconfig.json # TypeScript configuration
โโโ vite.config.ts # Vite configuration
- React 18 - Modern React with hooks and concurrent features
- TypeScript - Type-safe development experience
- Vite - Lightning-fast build tool and dev server
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - High-quality, accessible component library
- Radix UI - Unstyled, accessible UI primitives
- Lucide React - Beautiful, customizable icons
- React Context - Global state management
- React Hooks - Local state and side effects
- Custom Hooks - Reusable stateful logic
- Web Audio API - Advanced audio management
- Custom Audio Manager - Singleton pattern for audio control
- ESLint - Code linting and quality
- TypeScript - Static type checking
- PostCSS - CSS processing
- Autoprefixer - CSS vendor prefixing
- Node.js (v18 or higher recommended)
- npm, yarn, or bun
-
Clone the repository
git clone https://github.com/jishanahmed-shaikh/TimeQuest.git cd timequest
-
Install dependencies
# Using npm npm install # Using yarn yarn install # Using bun (fastest) bun install
-
Start development server
# Using npm npm run dev # Using yarn yarn dev # Using bun bun dev
-
Open your browser
The app will automatically open at
http://localhost:8080
# Build the application
npm run build
# Preview the build locally
npm run preview
# Type checking
npm run type-check
# Lint and fix code
npm run lint:fix
npm run dev
- Start development server with hot reloadnpm run build
- Build for productionnpm run build:dev
- Build in development modenpm run preview
- Preview production build locallynpm run lint
- Run ESLintnpm run lint:fix
- Run ESLint with auto-fixnpm run type-check
- Run TypeScript type checkingnpm run clean
- Clean build artifacts and cache
- Primary Gold:
hsl(45, 100%, 50%)
- Main accent color - Success Green:
hsl(120, 80%, 40%)
- Positive actions - Background Dark:
hsl(0, 0%, 4%)
- Main background - Card Background:
hsl(0, 0%, 6%)
- Component backgrounds
- Orbitron: Futuristic headings and important text
- Inter: Clean, readable body text
- Glow Effects: Subtle pulsing glows on interactive elements
- Hover Transitions: Smooth 300ms transitions
- Loading States: Elegant loading animations
TimeQuest is fully responsive and optimized for:
- Desktop (1024px+): Full feature set with sidebar navigation
- Tablet (768px-1023px): Adapted layouts with touch-friendly controls
- Mobile (320px-767px): Bottom navigation with optimized touch targets
- Bottom navigation bar for easy thumb access
- Swipe gestures for navigation
- Optimized mini timer positioning
- Touch-friendly button sizes
Configure timer sounds in the Settings page:
- Choose from multiple audio files
- Adjust volume levels
- Test audio before applying
Customize timer durations:
- Pomodoro: 25min work, 5min break, 15min long break
- Focus: 45min work, 10min break, 20min long break
- Sprint: 15min work, 3min break, 10min long break
- Custom: User-defined durations
- Dark/Light mode toggle
- Retro-futuristic color schemes
- Customizable UI elements
interface Task {
id: string;
title: string;
description: string | null;
duration_minutes: number;
status: 'pending' | 'in_progress' | 'completed' | 'abandoned';
created_at: string;
completed_at?: string | null;
user_id: string;
tags?: string[];
}
- Coin Calculation:
Math.floor(duration_minutes / 5) * 10
- Level System: XP-based progression with increasing requirements
- Streak Logic: Daily activity tracking with bonus multipliers
class AudioManager {
// Singleton pattern for global audio control
// Prevents audio conflicts
// Manages background vs completion sounds
// Handles pause/resume functionality
}
- User profile data
- Real-time coin updates
- Cross-component communication
- Component-specific UI state
- Form data and validation
- Temporary user interactions
- LocalStorage for user preferences
- Settings persistence across sessions
- Custom timer configurations
- WAV (recommended)
- MP3
- OGG
- Background Timer Audio: Loops during active sessions
- Completion Sounds: Plays when timers finish
- UI Feedback: Button clicks and interactions
Place these files in public/sounds/
:
simple.wav
- Simple bell soundsoftbell.wav
- Soft bell soundtingtong.wav
- Ting tong soundticktockclose.wav
- Tick tock close soundretrogamingclock.wav
- Retro gaming clock soundsound1digital.mp3
- Digital sound
- Starter Badges: First quest, first week
- Consistency Badges: Streak milestones
- Volume Badges: Task completion counts
- Special Badges: Unique accomplishments
- Common: Basic achievements (gray)
- Rare: Moderate challenges (blue)
- Epic: Significant milestones (purple)
- Legendary: Ultimate achievements (gold)
- Power-ups: Temporary boosts and benefits
- Cosmetics: Visual customizations
- Premium: Exclusive features and themes
- Badges: Achievement markers
- Power-ups: 50-200 coins
- Cosmetics: 250-500 coins
- Premium items: 750-1000+ coins
- Memoized components with
React.memo
- Optimized re-renders with
useCallback
anduseMemo
- Lazy loading for non-critical components
- Singleton audio manager prevents memory leaks
- Audio preloading for smooth playback
- Efficient audio cleanup on component unmount
- Tree shaking for unused code elimination
- Code splitting for faster initial loads
- Optimized asset loading
- Client-side data validation
- Secure local storage practices
- No sensitive data in localStorage
- Safe audio file handling
- Error boundaries for audio failures
- Graceful degradation without audio files
npm run build
- Vercel: Connect GitHub repository
- Netlify: Drag and drop build folder
- Custom Server: Upload dist folder
No environment variables required for basic functionality.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- TypeScript for type safety
- ESLint for code quality
- Consistent naming conventions
- Comprehensive error handling
- shadcn/ui - For the beautiful component library
- Radix UI - For accessible UI primitives
- Tailwind CSS - For the utility-first styling approach
Audio not playing?
- Ensure audio files are present in
public/sounds/
- Check browser audio permissions
- Try refreshing the page
Timer not starting?
- Check console for JavaScript errors
- Ensure all dependencies are installed
- Try clearing browser cache
Build failing?
- Run
npm run clean
to clear cache - Delete
node_modules
and reinstall - Check Node.js version (v18+ recommended)
- Use
npm run build
for production builds - Enable browser caching for static assets
- Consider using a CDN for audio files
- Monitor bundle size with build analyzer
- Lighthouse Score: 95+ (Performance, Accessibility, Best Practices, SEO)
- Bundle Size: < 500KB gzipped
- First Contentful Paint: < 1.5s
- Time to Interactive: < 3s
For support and questions:
- Project URL: https://timequest-mauve.vercel.app/
- Issues: Use GitHub Issues for bug reports and feature requests
- Discussions: Use GitHub Discussions for questions and ideas
This project is open source and available under the MIT License.
Transform your daily tasks into epic adventures with TimeQuest.
โญ Star this repo if you found it helpful! โญ