{"id":19079162,"url":"https://github.com/lukesthl/digital-break-app","last_synced_at":"2026-03-15T07:45:23.085Z","repository":{"id":207910948,"uuid":"720374122","full_name":"lukesthl/digital-break-app","owner":"lukesthl","description":"📱 iOS Screen Time Focus App built with Expo, React Native and Tamagui","archived":false,"fork":false,"pushed_at":"2024-02-10T13:50:03.000Z","size":73466,"stargazers_count":19,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-12-25T04:54:43.870Z","etag":null,"topics":["appintents","bun","expo","ios","react-native","tamagui"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukesthl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-11-18T09:34:10.000Z","updated_at":"2024-12-21T11:19:59.000Z","dependencies_parsed_at":"2024-02-10T14:41:14.049Z","dependency_job_id":null,"html_url":"https://github.com/lukesthl/digital-break-app","commit_stats":null,"previous_names":["lukesthl/digital-break-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesthl%2Fdigital-break-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesthl%2Fdigital-break-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesthl%2Fdigital-break-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesthl%2Fdigital-break-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukesthl","download_url":"https://codeload.github.com/lukesthl/digital-break-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232242735,"owners_count":18493786,"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":["appintents","bun","expo","ios","react-native","tamagui"],"created_at":"2024-11-09T02:13:35.364Z","updated_at":"2026-03-15T07:45:18.057Z","avatar_url":"https://github.com/lukesthl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Digital Break - Screen Time Focus\n\nTake control of your screen time with Digital Break - a app designed to introduce a break before you dive into your social media apps.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#about-the-project\"\u003e\u003cstrong\u003eAbout The Project\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#key-features\"\u003e\u003cstrong\u003eKey Features\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#getting-started\"\u003e\u003cstrong\u003eGetting Started\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#tech-stack\"\u003e\u003cstrong\u003eTech Stack\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#license\"\u003e\u003cstrong\u003eLicense\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cbr/\u003e\n\n## About The Project\n\n\u003cp align=\"left\"\u003e\n  \u003cvideo src=\"https://github.com/lukesthl/digital-break-app/assets/44963006/5a0268a2-1964-4832-9295-a02a9f2c1df5\"\u003e\u003c/video\u003e\n\u003c/p\u003e\n\n App Store: [Digital Break on the App Store](https://apps.apple.com/de/app/digitalbreak-screentime-focus/id6474795966)  \n📱 Play Store: **not supported**\n\n## Key Features\n\n- **App Blocking**: Personalize your experience by choosing which apps and websites trigger a pause.\n- **Progress Tracking**: Monitor your digital well-being with analytics on usage patterns.\n- **Privacy-First**: Operates without collecting personal data, ensuring your privacy.\n\n## Getting Started\n\nStart by cloning the repository and installing the dependencies.\n\n1. Install the dependencies\n\n```sh\nbun i\n```\n\n2. Install app and run dev-client\n\n```sh\nbun run ios\n```\n\n## Tech Stack\n\n###\n\n- [Expo](https://expo.dev/) with [Expo Config Plugins](https://docs.expo.dev/guides/config-plugins/)\n- [React Native](https://reactnative.dev/)\n- [Tamagui](tamagui.dev)\n- [Bun](https://bun.sh/)\n\nMonorepo structure:\n\n```\n├── apps\n│   ├── expo (App)\n│   │   ├── ...\n├── packages\n│   ├── shortcuts-generator\n│   ├── expo-exit-app\n│   ├── target-plugin\n```\n\n### About the packages\n\n- **shortcuts-generator**: Generates shortcuts for the defined [apps.json](/public/apps.json) via the [shortuctu.template.plist](/public/shortcut.template.plist) and signs them with `shortcuts sign` command.\n- **expo-exit-app**: A simple package to exit the app. It's used to close the app when the user presses the \"I don't want to open xxx app\" button.\n- **target-plugin**: The Plugin for setting up the iOS AppIntent target [DigitalBreak.swift](/apps/expo/targets/intents/DigitalBreak.swift)\n\n## Architecture\n\n\u003cimg src=\"https://lukesthl.github.io/digital-break-app/public/architecture.png\"\u003e\n\nThe app uses the [AppIntent](https://developer.apple.com/documentation/appintents) framework to intercept the app opening event.  \nWhen the user opens an app that is defined in the [apps.json](/public/apps.json) the app will intercept the event and displays a break screen. When break is over the user can decide to open the app via the defined url scheme or close the app.\n\n## CI/CD\n\nThe project is build locally with Github Actions. Uploaded as an artifact and then automatically uploaded via Expo auto submit to the App Store.  \nThankfully, Github Actions now allows M1 Macs to be used for the build process.\n\n## Ideas\n\n- [ ] Android Support\n- [ ] Multi Language Support\n- [ ] Customizable Breaks\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukesthl%2Fdigital-break-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukesthl%2Fdigital-break-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukesthl%2Fdigital-break-app/lists"}