{"id":29547959,"url":"https://github.com/katavinanguyen/adhd_productivity_app","last_synced_at":"2026-05-15T21:37:45.783Z","repository":{"id":302661628,"uuid":"1009022143","full_name":"KatavinaNguyen/adhd_productivity_app","owner":"KatavinaNguyen","description":"Tiny Tasks is a mobile productivity app designed to support students with ADHD by helping them focus on one task at a time. It offers a simplified interface, real-time Google Calendar sync, and motivational modes like Focus and Pomodoro to reduce overwhelm, increase structure, and build long-term habits in a distraction-free environment.","archived":false,"fork":false,"pushed_at":"2025-07-03T14:46:38.000Z","size":4163,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-03T15:48:54.812Z","etag":null,"topics":["adhd","calendar-application","flutter","mental-health","mobile-development","pomodoro-technique","productivity-tool","task-management-system"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KatavinaNguyen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-26T13:03:22.000Z","updated_at":"2025-07-03T14:46:41.000Z","dependencies_parsed_at":"2025-07-03T15:59:13.994Z","dependency_job_id":null,"html_url":"https://github.com/KatavinaNguyen/adhd_productivity_app","commit_stats":null,"previous_names":["katavinanguyen/adhd_productivity_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/KatavinaNguyen/adhd_productivity_app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatavinaNguyen%2Fadhd_productivity_app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatavinaNguyen%2Fadhd_productivity_app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatavinaNguyen%2Fadhd_productivity_app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatavinaNguyen%2Fadhd_productivity_app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KatavinaNguyen","download_url":"https://codeload.github.com/KatavinaNguyen/adhd_productivity_app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KatavinaNguyen%2Fadhd_productivity_app/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265660770,"owners_count":23807216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adhd","calendar-application","flutter","mental-health","mobile-development","pomodoro-technique","productivity-tool","task-management-system"],"created_at":"2025-07-17T20:43:34.437Z","updated_at":"2026-05-15T21:37:45.693Z","avatar_url":"https://github.com/KatavinaNguyen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tiny Tasks – ADHD Productivity App\n\n**Tiny Tasks** is a lightweight, single-screen productivity app designed for students with ADHD. Built using **React Native** with **MMKV** for local storage, the app helps users stay focused by breaking down daily goals, syncing with Google Calendar, and enabling motivational modes like Focus and Pomodoro.\n\n![Showcase Poster](https://github.com/user-attachments/assets/24bc6dc2-a63c-4b2f-9f1d-a45ec62f96fe)\n\n---\n\n## Features\n\n### Google Calendar Integration\n- Read-only import of upcoming events using **Google Calendar API**\n- OAuth2 flow for secure sign-in with Google\n- Calendar events are locked and visually distinct from tasks\n\n### Local Task Management with MMKV\n- Fast, efficient task storage using **react-native-mmkv**\n- Tasks persist across sessions with near-instant read/write\n- Overflow system for saving unscheduled or non-priority tasks\n\n### Full / Half-Day View Toggle\n- Toggle between showing full-day and half-day task sets\n- Reduces cognitive load by focusing only on relevant times\n\n### Motivation Modes\n- **Focus Mode**: Minimalist layout to reduce visual distractions\n- **Pomodoro Mode**: 25/5 work-break intervals with built-in timer\n\n### ADHD-Friendly Design\n- Animated motivational prompts\n- Dopamine-boosting UI elements like progress icons and colors\n- Mobile-first layout for fast mental reward cycles\n\n---\n\n## Tech Stack\n\n| Layer            | Technology                          |\n|------------------|--------------------------------------|\n| Framework        | React Native                         |\n| Auth             | Google OAuth2 via `expo-auth-session` |\n| Calendar Sync    | Google Calendar API                  |\n| Local Storage    | `react-native-mmkv`                  |\n| Animations       | `react-native-reanimated`    |\n| Timer Logic      | JS `setInterval`, `clearInterval`    |\n| Build Tools      | Expo  |\n\n---\n\n## Architecture Overview\n\n### Core Screens\n- `HomeScreen.js` – Task list + calendar items\n- `OverflowScreen.js` – Stores unscheduled tasks\n- `TaskModal.js` – Input modal for adding/editing tasks\n- `ModeScreen.js` – UI for Pomodoro/Focus Modes\n\n### Modules\n- `calendarService.js` – Handles OAuth2 + Calendar API\n- `taskStorage.js` – Uses `react-native-mmkv` for storing and updating tasks\n- `usePomodoro.js` – Manages intervals and timers with custom hooks\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js (\u003e= 16.x)\n- `npm` or `yarn`\n- Expo CLI\n- Google Cloud Console account with Calendar API enabled\n\n---\n\n### 1. Clone \u0026 Install Dependencies\n\n```bash\ngit clone https://github.com/KatavinaNguyen/adhd_productivity_app.git\ncd adhd_productivity_app\nnpm install\n```\n\n---\n\n### 2. Set Up Google Calendar API\n\n- Go to [Google Cloud Console](https://console.cloud.google.com/)\n- Enable **Google Calendar API**\n- Create **OAuth 2.0 Client ID** for \"Web\" (for Expo) or \"iOS/Android\" (for bare RN)\n- Copy your client ID\n\nThen create a `.env` file in the project root:\n\n```env\nGOOGLE_CLIENT_ID=your-client-id-here.apps.googleusercontent.com\n```\n\n---\n\n### 3. Run the App\n\nUsing **Expo**:\n\n```bash\ncd frontend\nnpx expo run:android\n```\n\n---\n\n## Troubleshooting\n\n### Google Sign-In Not Working\n- Make sure your `GOOGLE_CLIENT_ID` matches the correct platform type\n- Use `AuthSession.makeRedirectUri({ useProxy: true })` for Expo development\n\n### Calendar Not Syncing\n- Ensure scope `https://www.googleapis.com/auth/calendar.readonly` is used\n- Check console logs for API errors from `calendarService.js`\n\n### Tasks Not Saving\n- Confirm `react-native-mmkv` is installed and linked\n- For bare RN, run `npx pod-install` after install (iOS only)\n\n---\n\n## Future Improvements\n\n- **Routine Tasks \u0026 Habit Formation**  \n  Implement a system for recurring tasks and routines to help users establish consistent, healthy habits. This includes daily/weekly templates and streak tracking for behavioral reinforcement.\n\n- **Handwritten Task Recognition (OCR)**  \n  Integrate on-device OCR to scan and convert handwritten notes into digital tasks, enabling users to capture physical sticky notes, planners, or whiteboards directly into the app.\n\n-  **Firebase Cloud Backup \u0026 Sync**  \n  Implement Firebase integration to back up task data in the cloud and enable cross-device syncing for seamless access and long-term retention.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatavinanguyen%2Fadhd_productivity_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkatavinanguyen%2Fadhd_productivity_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkatavinanguyen%2Fadhd_productivity_app/lists"}