Shimer is a feature-rich time-tracking and personal productivity app built entirely from scratch with React Native (Expo). Inspired by time.to.me, it goes beyond with more features — all running fully offline on your device.
Every timer session, activity, goal, and event is stored locally in a single JSON file. No accounts, no cloud, no data collection. Your data belongs to you.
| Feature | Description |
|---|---|
| ⏱️ Live Timer | Countdown, stopwatch, goal, and break modes with overtime tracking |
| 🎯 Goal System | Track goals with progress, completion alerts, and +5min/+1hr quick-add |
| 🏃 Activity Tracking | Custom activities with icons, colors, and categories |
| 📜 Session History | Auto-logged timeline with edit, delete, and smart overlap handling |
| 📊 Analytics | SVG donut chart, period comparison, and trend indicators |
| 📅 Calendar | Month grid with events, time picker, and plan integration |
| 📋 Daily Planner | JSON-based scheduler with live progress tracking |
| ✅ Checklists | Multiple checklists with drag-to-reorder and activity linking |
| 📁 Folders | Today, Tomorrow, and custom task folders with auto-move at midnight |
| 🔒 Secure Vault | PIN/Pattern/Biometric-protected file storage |
| 💾 Backup & Restore | Full data export/import as JSON with auto-backup scheduling |
| 🎨 iOS Design | Dark mode, Apple-style modals, smooth animations |
- Node.js v18+
- Expo CLI (
npm install -g expo-cli) - Android Studio (for Android emulator) or Xcode (for iOS simulator)
git clone https://github.com/AmirabbasRouintan/Shimer.git
cd Shimer
npm install
npx expo startScan the QR code with Expo Go on your phone, or press a for Android emulator / i for iOS simulator.
npx eas build --platform android --profile preview| Layer | Technology |
|---|---|
| Framework | React Native 0.81, Expo 54 |
| Language | TypeScript |
| Navigation | Expo Router 6, React Navigation 7 |
| Styling | NativeWind 4 (Tailwind for RN) |
| Animations | React Native Reanimated 4, Gesture Handler |
| Charts | React Native SVG (custom donut chart) |
| Storage | Expo File System (JSON file) |
| Security | Expo Local Authentication (biometric) |
| Icons | Ionicons, Solar Icons |
Shimer/
├── app/ # Expo Router file-based routing
│ ├── (tabs)/ # Tab-based screens
│ │ ├── index.tsx # Home — Timer, Goals, Checklists
│ │ ├── main.tsx # Tasks & Events
│ │ ├── things.tsx # Activities management
│ │ ├── history.tsx # Time history log
│ │ ├── summary.tsx # Analytics & donut chart
│ │ ├── calendar.tsx # Calendar & JSON Planner
│ │ ├── settings.tsx # All settings & backups
│ │ ├── folders.tsx # Folder management
│ │ ├── secure-files.tsx # PIN/Pattern/Biometric vault
│ │ └── ...
│ ├── activitiesStore.ts # Global state + file persistence
│ ├── components/ # Shared components
│ └── _layout.tsx # Root layout
├── components/ # UI components
│ ├── JSONPlanner.tsx # Daily JSON plan viewer
│ ├── CustomAlert.tsx # Apple-style alerts
│ └── ui/ # shadcn-style components
├── constants/ # Theme & design tokens
├── hooks/ # Custom hooks
└── assets/ # Images, icons, splash
┌─────────────────────────┐
│ activitiesStore.ts │
│ (Global state + pub/sub) │
└──────────┬──────────────┘
│
┌──────────▼──────────────┐
│ shimer_data.json │
│ (FileSystem persistence)│
└─────────────────────────┘
All data is managed through a single pub/sub store that persists to a JSON file on the device. Every screen subscribes to changes and re-renders automatically. No backend, no cloud, no external APIs.
| Screen | Description |
|---|---|
| Home | Live timer with goal/break modes, checklists, pause/resume |
| Tasks | Folder-based task list with calendar events and JSON planner |
| Activities | Create and manage activities with icons, colors, timers |
| History | Day-by-day timeline with edit, delete, and calendar navigation |
| Summary | SVG donut chart with period comparison and trend analysis |
| Calendar | Month grid, events, and daily plan integration |
| Settings | Full settings: backups, checklists, folders, home customization |
| Secure Vault | PIN/Pattern/Biometric-protected file storage |
This project is MIT licensed.