A mindfulness layer that sits between you and the apps and sites that pull you in. minded interrupts doom-scrolling, social-media compulsion, and procrastination with short interventions — a breath, a check-in, a moment to ask whether you actually meant to open this.
- Browser extension for Chrome and Firefox (Manifest V3)
- Android app (native Kotlin host + shared web UI)
- Shared SolidJS codebase across platforms
Browser extension
| A pause before the scroll — name what you actually came to do. | A calm dashboard of the day's intentions and check-ins. |
Android
| The same gentle nudges on Android — a breath, a check-in, a moment to ask whether you meant to open this. | ||
- Chrome / Edge / Brave — Chrome Web Store
- Android — Google Play
- Firefox — load
dist/as an unpacked extension after building locally (AMO listing pending)
Learn more at minded.today.
Requires Node.js 21+ and npm.
cd extension
npm install
npm start # browser-extension dev build (watches files, output in dist/)
npm run startDroid # android dev build (writes into android/app/src/main/assets/web/)Load the extension in Chrome by opening chrome://extensions, enabling Developer mode, and pointing Load unpacked at extension/dist/.
For the Android app, open /android in Android Studio after running startDroid once.
cd extension
npm run build # production browser extension → dist/ + minded.zip
npm run buildDroid # production android assetscd extension
npm test # jest
npm run lint # eslint --fixRun a single test: npx jest path/to/test.spec.ts.
extension/ Browser-extension build (Vite + CRXJS) and shared SolidJS UI
android/ Native Android host (Kotlin) wrapping the shared web UI
landing-page/ Marketing site (Astro) at minded.today
common/ Shared assets (logos, icons)
docs/ Architecture and design notes
The web UI under extension/src/shared/ is reused across all platforms. Platform-specific data access goes through the dataInterface pattern documented in CLAUDE.md — that file is the best entry point for understanding the architecture.
iOS note: iOS code paths exist under
extension/src/ios/but are not actively developed. Real interventions on iOS are blocked by platform restrictions on inspecting other apps. New features should target the browser extension and Android.
See CONTRIBUTING.md. Bug reports, feature ideas, and PRs are welcome.
Found a vulnerability? Please don't open a public issue — see SECURITY.md.
MIT © Johannes Millan