Skip to content

johannesjo/minded

minded

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

minded pausing a distracting site to ask what you actually came to do minded dashboard showing the day's intentions and reflections
A pause before the scroll — name what you actually came to do. A calm dashboard of the day's intentions and check-ins.

Android

minded's grounding breath on Android minded's daily check-in prompt on Android minded asking what you came to do on Android
The same gentle nudges on Android — a breath, a check-in, a moment to ask whether you meant to open this.

Install

  • Chrome / Edge / BraveChrome Web Store
  • AndroidGoogle Play
  • Firefox — load dist/ as an unpacked extension after building locally (AMO listing pending)

Learn more at minded.today.

Develop

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.

Build

cd extension
npm run build      # production browser extension → dist/ + minded.zip
npm run buildDroid # production android assets

Test

cd extension
npm test           # jest
npm run lint       # eslint --fix

Run a single test: npx jest path/to/test.spec.ts.

Repository layout

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 ships as a deliberately minimal widget-only variant — the companion sun as a Home Screen widget (extension/ios/App/MindedWidget/), presence + invitation only. It does not attempt the forced intervention/overlay, which is the wrong shape for iOS (see docs/ios-platform-fit.md). New intervention features still target the browser extension and Android. iOS builds and TestFlight ship from CI with no local Mac — see RELEASING.md.

Contributing

See CONTRIBUTING.md. Bug reports, feature ideas, and PRs are welcome.

Security

Found a vulnerability? Please don't open a public issue — see SECURITY.md.

License

MIT © Johannes Millan

Packages

 
 
 

Contributors