Skip to content

mungdungus/omnimode

Repository files navigation

MultiTimer - Offline-First Multi-Timer App

Transform complex multi-step processes into shareable, executable templates. The GitHub for time-based workflows.

Features

Phase 1 (MVP) - Completed ✅

  • Core Timer Engine

    • Countdown, stopwatch, and interval timers
    • 10ms precision timing
    • Background operation support
    • Local persistence with MMKV
  • Built-in Templates

    • 🍳 Cooking: Turducken, Beef Wellington, Sourdough Bread
    • 💪 Fitness: HIIT, Tabata, Strength Training
    • 🎯 Productivity: Pomodoro, Deep Work, Time Blocking
    • 🧘 Meditation: Mindfulness, Box Breathing
  • Modern UI

    • Bottom tab navigation (Active, Templates, Create, Community, Profile)
    • Circular progress indicators
    • Card-based layouts
    • Dark mode support
  • Offline-First Architecture

    • All data stored locally with MMKV
    • No network required for core functionality
    • Fast, responsive experience

Phase 2 (Coming Soon)

  • Social features (template sharing, user profiles)
  • Cloud sync
  • Premium subscription
  • Template marketplace
  • Advanced analytics

Tech Stack

  • Framework: React Native 0.73.2
  • Language: TypeScript
  • State Management: Zustand
  • Storage: MMKV (fast, persistent key-value store)
  • Navigation: React Navigation v6
  • Notifications: Notifee
  • UI: Custom design system based on Apple HIG

Getting Started

Prerequisites

  • Node.js >= 18
  • React Native development environment (Setup Guide)
  • iOS: Xcode 14+ and CocoaPods
  • Android: Android Studio and SDK

Installation

# Install dependencies
npm install

# iOS only - Install pods
cd ios && pod install && cd ..

# Run on iOS
npm run ios

# Run on Android
npm run android

# Start Metro bundler
npm start

Development

# Type checking
npm run type-check

# Linting
npm run lint

# Testing
npm test

Project Structure

multitimer/
├── src/
│   ├── components/       # Reusable UI components
│   │   ├── Button.tsx
│   │   ├── Card.tsx
│   │   └── CircularProgress.tsx
│   ├── data/            # Built-in templates and static data
│   │   └── builtInTemplates.ts
│   ├── navigation/      # Navigation configuration
│   │   └── AppNavigator.tsx
│   ├── screens/         # Screen components
│   │   ├── HomeScreen.tsx
│   │   ├── TemplatesScreen.tsx
│   │   ├── CreateScreen.tsx
│   │   ├── TimerViewScreen.tsx
│   │   ├── TemplateDetailScreen.tsx
│   │   ├── CommunityScreen.tsx
│   │   └── ProfileScreen.tsx
│   ├── services/        # Core services
│   │   ├── timerEngine.ts
│   │   ├── notificationService.ts
│   │   └── storage.ts
│   ├── store/           # Zustand state management
│   │   ├── timerStore.ts
│   │   └── templateStore.ts
│   ├── theme/           # Design system tokens
│   │   ├── tokens.ts
│   │   ├── useTheme.ts
│   │   └── index.ts
│   ├── types/           # TypeScript type definitions
│   │   ├── timer.types.ts
│   │   └── user.types.ts
│   └── utils/           # Utility functions
│       ├── helpers.ts
│       └── index.ts
├── App.tsx              # App entry point
├── index.js             # React Native entry
└── package.json

Architecture

Timer Engine

The core timer engine (src/services/timerEngine.ts) handles:

  • Multiple concurrent timers with 10ms precision
  • Countdown, stopwatch, and interval modes
  • Background execution
  • Pause/resume functionality
  • Completion callbacks

State Management

Zustand stores provide:

  • Timer state management (timerStore.ts)
  • Template management (templateStore.ts)
  • Automatic persistence to MMKV storage

Offline-First

All data is stored locally using MMKV:

  • Active timers and sessions
  • Custom templates
  • User preferences
  • No network required for core functionality

Design System

Based on Apple Human Interface Guidelines:

  • Colors: iOS system colors with dark mode support
  • Typography: SF Pro Display / SF Mono
  • Spacing: 8px base unit
  • Radii: 4, 8, 12, 16, 24px
  • Animations: Spring physics with haptic feedback

Built-in Templates

Cooking

  • Turducken Marathon (8h 45m): Multi-step holiday centerpiece
  • Beef Wellington Precision (3h 15m): Gordon Ramsay approved timing
  • Artisan Sourdough Bread (18h): Naturally leavened bread

Fitness

  • HIIT Classic 20 (4m): 20s work / 10s rest
  • Tabata Protocol (20m): Scientific 4-minute workout
  • StrongLifts 5x5 (45m): Strength training with rest intervals

Productivity

  • Pomodoro Classic (2h): 25m focus / 5m break
  • Deep Work Sprint (2h 10m): Cal Newport inspired
  • Time Blocking Work Day (8h): Structured full day

Meditation

  • Mindfulness Meditation (20m): Guided breath awareness
  • Box Breathing (10m): Navy SEAL stress reduction

Roadmap

Phase 1: MVP (Weeks 1-8) ✅

  • ✅ Core timer engine
  • ✅ Local storage
  • ✅ Built-in templates
  • ✅ Basic UI

Phase 2: Social (Weeks 9-12)

  • Template sharing
  • User profiles
  • Community discovery
  • Rating and comments

Phase 3: Monetization (Weeks 13-16)

  • Premium subscription ($4.99/mo)
  • Paid templates with revenue share
  • Cloud sync
  • Advanced analytics

Phase 4: Growth (Month 4+)

  • App Store launch
  • Influencer partnerships
  • Reddit/TikTok marketing
  • B2B enterprise licenses

Contributing

This is currently a private project. Contributions will be opened after Phase 1 launch.

License

Proprietary - All rights reserved

Contact

  • Website: Coming soon
  • Email: Coming soon
  • Twitter: Coming soon

Built with ⏱️ by the MultiTimer team

Version 1.0.0 - MVP

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors