base on Your Ultimate Companion for Focus and Well-being.
<div align="center">
<a href="https://bemindful.vercel.app/"><img alt="Icon" src="docs/assets/mindful.png" width="144px" /></a>
<h1> <b>Mindful</b></h1>
<a href="https://play.google.com/store/apps/details?id=com.mindful.android"><img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="96" /></a>
<a href="https://github.com/akamrnagar/mindful/releases/latest"><img src="docs/assets/github_badge.png" height="96" /></a>
</div>
**Mindful** is a free and open-source app designed to help you regain control over your digital habits, improve your focus, and boost productivity. Whether you're battling social media addiction, struggling to stay focused, or simply looking for a way to better manage your screen time, Mindful is here to assist.
[](docs/API.md)
[](docs/CONTRIBUTING.md)
[](docs/VERIFICATION.md)
[](https://bemindful.vercel.app/privacy)
[](docs/FAQS.md)
[](docs/FEATURED.md)
[](https://github.com/akamrnagar/mindful/releases/latest)
[](https://play.google.com/store/apps/details?id=com.mindful.android)
[](https://t.me/fossmindful)
[](https://instagram.com/lasthopedevelopers)
---
| <img src="docs/assets/screenshots/screenshot_1.png"> | <img src="docs/assets/screenshots/screenshot_2.png"> | <img src="docs/assets/screenshots/screenshot_3.png"> | <img src="docs/assets/screenshots/screenshot_4.png"> |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| <img src="docs/assets/screenshots/screenshot_5.png"> | <img src="docs/assets/screenshots/screenshot_6.png"> | <img src="docs/assets/screenshots/screenshot_7.png"> | <img src="docs/assets/screenshots/screenshot_8.png"> |
# 💪 Features
- ### 1. Focus Mode
Stay on track with session types like Study, Work, or Creative. Use countdown or stopwatch modes, and review your session timeline to track progress and stay consistent.
- ### 2. Screen Time Limits
Set daily usage limits for apps — especially for addictive short content like Reels or Shorts. Group similar apps, add shared limits, and enable Invincible Mode to lock restrictions after they're hit.
- ### 3. Detailed Usage Insights
Check weekly screen time, app usage, and data consumption. Mindful helps you understand your habits so you can take control of your time.
- ### 4. App & Internet Blocking
Block distracting apps or cut off internet access with one tap. Filter adult content and create a focused, safe environment for work or study.
- ### 5. Notification Management
Batch notifications, schedule delivery, or mute apps during focus time. Keep interruptions low and your attention high.
- ### 6. Bedtime Mode
Wind down with paused apps and DND during sleep hours. Wake up to a clean slate — apps resume automatically when the day begins.
- ### 7. Parental Controls
Set healthy digital habits for children with tamper-proof restrictions, invincible mode, and optional biometric lock.
- ### 8. Privacy-First & Open Source
No ads. No tracking. Mindful works completely offline, keeping your data on your device and it's fully open-source, forever.
> [!IMPORTANT]
> ## Why _internet_ permission in manifest?
>
> Android restricts apps from creating and protecting Local VPN tunnels without network permission. The Local VPN allows Mindful to block internet access for selected apps. This is why you see the network permission in Mindful's manifest. However, rest assured that Mindful does not collect or transmit any user data. You can verify this by checking the network usage in the app or in your device settings.
# Donate
Mindful is a Free and Open Source Software (FOSS) that took months of dedicated, restless work to develop. If you find this app helpful, please consider making a donation to support our efforts and ensure continued development. Your generosity will help us keep improving and maintaining Mindful for everyone.
_Note: Drop your socials along with your donation to get recognized as a supporter._
<a href="https://buymeacoffee.com/akamrnagar"><img src="docs/assets/donation/bmc_qr.png" height="184" ></a>
 
<a href="https://github.com/akaMrNagar/Mindful?tab=readme-ov-file#donate"><img src="docs/assets/donation/upi_qr.png" height="184" ></a>
[](https://www.buymeacoffee.com/akamrnagar)
[]()
[](https://github.com/sponsors/akamrnagar)
# Feedback and Support
Your feedback is invaluable to us! If you have suggestions, encounter issues, or simply want to share your thoughts, please reach out to us through the following channels :
* **[GitHub (bug)](https://github.com/akaMrNagar/Mindful/issues/new?&template=bug_report.md)**
* **[GitHub (enhancement)](https://github.com/akaMrNagar/Mindful/issues/new?&template=feature_request.md)**
* **[GitHub (vulnerability)](https://github.com/akaMrNagar/Mindful/security/advisories/new)**
* **[Write to us via email](mailto:
[email protected])**
---
# Translation & Localization

[](https://crowdin.com/project/mindful)
A huge thank you to our amazing localization contributors in making Mindful accessible to the world.
[*@michelangelodepascale02*](https://crowdin.com/profile/michelangelodepascale02),
[*@mysticxz*](https://crowdin.com/profile/mysticxz),
[*@wreckingbang*](https://crowdin.com/profile/wreckingbang),
[*@eric*.nevard](https://crowdin.com/profile/eric.nevard),
[*@deltridev*](https://crowdin.com/profile/deltridev),
[*@luxdev01*](https://crowdin.com/profile/luxdev01),
[*@na7m*](https://crowdin.com/profile/na7m),
[*@riikun*](https://crowdin.com/profile/riikun),
[*@kareemkimo*](https://crowdin.com/profile/kareemkimo),
[*@uito*](https://crowdin.com/profile/uito),
[*@netobloom*](https://crowdin.com/profile/netobloom),
[*@marcmaderhome123*](https://crowdin.com/profile/marcmaderhome123),
[*@alpereneryilmaz03*](https://crowdin.com/profile/alpereneryilmaz03),
[*@keremk*](https://crowdin.com/profile/keremk),
[*@nolhanproduction*](https://crowdin.com/profile/nolhanproduction),
[*@lefetrtp*](https://crowdin.com/profile/lefetrtp),
[*@ceceayo*](https://crowdin.com/profile/ceceayo),
[*@jihuayu*](https://crowdin.com/profile/jihuayu),
[*@ngocanh*.tve](https://crowdin.com/profile/ngocanh.tve),
[*@vinaooooo*](https://crowdin.com/profile/vinaooooo),
[*@nlhm*](https://crowdin.com/profile/nlhm),
[*@nevena2ooo*](https://crowdin.com/profile/nevena2ooo),
[*@nerisal*](https://crowdin.com/profile/nerisal),
[*@andriik*](https://crowdin.com/profile/andriik),
[*@mateuszam*](https://crowdin.com/profile/mateuszam),
[*@jrodenas*](https://crowdin.com/profile/jrodenas),
[*@andre*.fernandes.it](https://crowdin.com/profile/andre.fernandes.it),
[*@fireflurry*](https://crowdin.com/profile/fireflurry),
[*@youquan0914*](https://crowdin.com/profile/youquan0914),
[*@e_cllf*](https://crowdin.com/profile/e_cllf).
[*@cypherzane*](https://crowdin.com/profile/cypherzane).
[*@none_baiano*](https://crowdin.com/profile/none_baiano).
", Assign "at most 3 tags" to the expected json: {"id":"14660","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"