A minimal, open-source grounding app for overwhelming moments.
Anchor is a simple tool for when emotions feel overwhelming. It provides gentle phrases and reminders to help you stay grounded during moments of panic, anxiety, sadness, or anger.
Design Philosophy:
- Minimal — Clean, distraction-free interface
- Private — All data stays on your device
- Customizable — Add your own phrases and modes
- Evidence-based — Techniques backed by science and reviewed by experts
Important: Anchor is not a medical tool or therapy replacement. It's simply a reading tool that provides phrases you can reflect on during difficult moments. If you're experiencing a mental health crisis, please reach out to a professional or crisis helpline.
- Six Built-in Modes — Panic, Anxiety, Sadness, Anger, Grounding, and Values
- Custom Modes — Create your own modes with personalized names
- Custom Phrases — Add, edit, or hide phrases for any mode
- Multi-language — English, Spanish (Español), and Portuguese (Português)
- Five Themes — Black, Dark, Light, White, and Auto (follows system)
- Cross-platform — iOS, Android, and Web
- Privacy-first — No accounts, no analytics, no tracking
- Evidence-based — Techniques backed by science and reviewed by mental health experts
# Clone the repository
git clone https://github.com/NicoDeGiacomo/anchor.git
cd anchor
# Install dependencies
npm install
# Start the development server
npm startAfter starting the development server:
| Platform | Command |
|---|---|
| iOS Simulator | Press i |
| Android Emulator | Press a |
| Web Browser | Press w |
| Physical Device | Scan the QR code with Expo Go |
anchor/
├── app/ # Screens and navigation (Expo Router)
│ ├── (tabs)/ # Tab screens (home, settings, about)
│ └── mode/ # Mode display screen
├── components/ # Reusable React components
├── content/ # Phrase data (JSON, multi-language)
│ ├── panic/
│ ├── anxiety/
│ ├── sadness/
│ ├── anger/
│ ├── grounding/
│ └── values/
├── contexts/ # React Context providers (language, theme)
├── hooks/ # Custom React hooks
├── utils/ # Utility functions
├── assets/ # Images, fonts, icons
└── scripts/ # Build scripts
- Open the app and go to Settings
- Under any mode, tap Edit Phrases
- Add new phrases or hide existing ones
- Go to Settings
- Tap Add Mode
- Enter a name for your custom mode
- Add phrases to your new mode
In Settings, you can:
- Switch between English, Spanish, and Portuguese
- Choose from five themes: Black, Dark, Light, White, or Auto
- Expo ~54.0 — React Native framework
- React Native 0.81 — Cross-platform mobile development
- React 19 — UI library
- TypeScript — Type-safe JavaScript
- Expo Router — File-based routing
- AsyncStorage — Local data persistence
- Reanimated — Smooth animations
Anchor's grounding techniques are:
- Evidence-based — Rooted in established psychological practices
- Expert-reviewed — Techniques reviewed by mental health professionals
- Research-informed — Based on proven methods for managing anxiety and panic
We are committed to providing scientifically-validated approaches you can trust.
Anchor is designed with privacy as a core principle:
- 100% Local — All your data (phrases, settings, preferences) is stored only on your device
- No Accounts — No sign-up, no login required
- No Analytics — We don't track your usage
- No Network — The app works completely offline
Contributions are welcome! Whether it's:
- Reporting bugs
- Suggesting features
- Adding translations
- Improving documentation
- Submitting pull requests
See CONTRIBUTING.md for guidelines on how to get started.
See PUBLISHING.md for detailed instructions on building and publishing to:
- iOS App Store
- Google Play Store
- Web
If you find Anchor helpful and want to support its development:
This project is licensed under the MIT License — see the LICENSE file for details.
Made with care for those moments when you need a gentle anchor.


