A React Native mobile app for capturing, transcribing, and organizing notes from real-life interactions, with Apple Watch support.
- Voice Recording: Capture your thoughts and conversations on the go
- Automatic Transcription: Convert speech to text in real-time
- Markdown Support: View and edit notes with full markdown formatting
- Note Summarization: Automatically generate concise summaries of your notes
- Mind Map Visualization: View your notes as visual mind maps for better comprehension
- Export Functionality: Share your notes in markdown format
- Search Functionality: Quickly find notes by content or title
- Offline Support: All notes are stored locally on your device
- Apple Watch App: Record notes directly from your Apple Watch
- Node.js (v14 or newer)
- npm or yarn
- React Native development environment set up
- iOS: XCode and CocoaPods
- Android: Android Studio and Android SDK
- Clone the repository:
git clone https://github.com/yourusername/hermit-weekend.git
cd hermit-weekend
- Install dependencies:
npm install
# or
yarn install
- Install iOS dependencies (iOS only):
cd ios && pod install && cd ..
- Start the Metro bundler:
npm start
# or
yarn start
- Run the app:
# For iOS
npm run ios
# or
yarn ios
# For Android
npm run android
# or
yarn android
- Tap "Record New Note" on the home screen
- Speak clearly to record your thoughts
- Tap "Stop Recording" when finished
- Add a title (optional) and tap "Save Note"
- Tap "View My Notes" to see all your saved notes
- Use the search bar to find specific notes
- Tap on a note to view its details
- In the note view, switch between different tabs:
- Content: View the full note with markdown formatting
- Summary: See an automatically generated summary of your note
- Mind Map: Visualize the key topics in your note as a mind map
- Tap the pencil icon to edit a note
- Use markdown formatting to structure your note
- Tap the three-dot menu to access additional options
- Select "Export as Markdown" to share your note
The Hermit Weekend app includes an Apple Watch companion app that allows you to:
- Record voice notes directly from your watch
- Transcribe speech to text on the watch
- Send notes to your iPhone app
To use the Apple Watch app:
- Install the iOS app on your iPhone
- The Watch app will automatically be installed on your paired Apple Watch
- Open the Watch app and tap "Record" to start recording a note
- When finished, tap "Stop" and then "Send to iPhone"
- The note will appear in your iPhone app, where you can edit, summarize, and visualize it
Pierre-Henry Soria — a super passionate and enthusiastic software engineer. A genuine lover of cheese, coffee, and chocolate. You can reach me at PH7.me.
Enjoying the project? Support me with a coffee — my go-to brew is an almond flat white.
👉 Click Here to Watch on YouTube
hermit-weekend/
├── src/
│ ├── screens/ # Screen components
│ ├── components/ # Reusable UI components
│ │ └── MindMap.tsx # Mind map visualization component
│ ├── utils/ # Utility functions
│ │ └── summarization.ts # Text summarization utilities
│ └── assets/ # Images, fonts, etc.
├── ios/
│ ├── HermitWeekend/ # iOS app
│ ├── HermitWeekendWatch/ # Apple Watch app
│ └── HermitWeekendWatchExtension/ # Apple Watch extension
├── App.tsx # Main application component
├── package.json # Dependencies and scripts
└── README.md # Project documentation
There are several reasons why I didn't use Expo for this project:
Native Module Requirements: This app requires several native modules like react-native-voice for speech recognition and WatchConnectivity for Apple Watch integration. While Expo now supports many native modules through config plugins, some advanced integrations (especially Apple Watch) still require a bare React Native workflow.
Apple Watch Integration: Expo doesn't provide direct support for developing Apple Watch companion apps. For the Apple Watch functionality, we need direct access to native code and the ability to configure the Xcode project, which is limited in the Expo managed workflow.
Custom Native Code: The app requires custom native code for the WatchConnectivity framework to enable communication between the iPhone app and the Apple Watch app. Full Control: For a production app with complex requirements like iCloud integration and Apple Watch support, having full control over the native code provides more flexibility.
This project is licensed under the MIT License - see the LICENSE file for details.
