A lightweight Android app for quickly capturing notes and sending them directly to your Capacities.io daily note. Built with Jetpack Compose and Material 3.
Testers Google Group: https://groups.google.com/g/capacities-quick-note-testers
Android App (Pre-release): https://play.google.com/apps/testing/com.dnnypck.capacitiesquicknotepro
- Quick Note Capture: Simple, distraction-free text input for rapid note-taking
- Share Target Integration: Share text from any app directly to your Capacities daily note
- Multiple Space Support: Settings allow you to configure multiple spaces and choose one upon posting
- Auto-detect Web Links: If you save a URL only, your note gets saved as a Capacities Weblink automatically
- Direct API Integration: Seamlessly sends notes to Capacities via their official API
- Secure Credential Storage: API keys stored securely using Android's SharedPreferences
- Modern Material 3 UI: Clean, intuitive interface following Material Design 3 guidelines
- Edge-to-Edge Design: Modern Android UI with immersive edge-to-edge display
- Error Handling: Detailed error messages to help troubleshoot API connectivity issues
- Backup/Restore: Back up your settings to your phone, Google Drive, etc, and restore them later or on another device
- Android 7.0 (API 24) or higher
- A Capacities.io Pro account
- Capacities API key and Space ID
-
API Key:
- Open Capacities app
- Go to Settings → Capacities API
- Create a new API key
- Copy the generated key
-
Space ID:
- Open Capacities app
- Go to Settings → Space settings
- Find and copy your Space ID
- Download the latest APK from the Releases page
- Install on your Android device
- Open the app and tap the settings icon (⚙️)
- Enter your API Key and Space ID
- Tap "Save Settings"
You're ready to start capturing quick notes!
- Open the Capacities Quick Note app
- Select your target space from the dropdown (if you have multiple spaces configured)
- Type your note in the text field
- Tap "Send" to save to Capacities
- Your note will be appended to today's daily note in Capacities
- Select text or a URL in any app (browser, messaging app, etc.)
- Tap "Share" and choose "Capacities Quick Note"
- The app opens with the shared text pre-filled
- Review and tap "Send"
The app supports all Capacities markdown shortcuts. Tap "Formatting your notes" to see the full reference:
#,##,###, and####for headings-for bullets1.for numbered lists>for quotes**text**for bold text*text*for italic text()for tasks#tagsfor tags[links](https://example.com)for links
When you enter only a URL (e.g., https://example.com), the app automatically saves it as a Capacities weblink with preview and metadata. If you include text with a URL, it's saved as a markdown note.
- Android Studio Ladybug or newer
- JDK 11 or higher
- Android SDK with API 36
git clone https://github.com/yourusername/CapacitiesQuickNote.git
cd CapacitiesQuickNote
export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"
./gradlew assembleDebugThe debug APK will be at: app/build/outputs/apk/debug/app-debug.apk
For release builds, you'll need a signing keystore:
export KEYSTORE_PASSWORD="your_keystore_password"
export KEY_PASSWORD="your_key_password"
./gradlew assembleReleaseOr use the provided script:
./build-release.shThe release APK will be at: app/build/outputs/apk/release/app-release.apk
- Language: Kotlin
- UI Framework: Jetpack Compose
- Architecture: MVVM (Model-View-ViewModel)
- HTTP Client: Ktor
- Navigation: Jetpack Navigation Compose
- Serialization: kotlinx.serialization
- Build System: Gradle (Kotlin DSL)
- Minimum SDK: 24 (Android 7.0)
- Target SDK: 36 (Android 14+)
app/src/main/java/com/dnnypck/capacitiesquicknote/
├── MainActivity.kt # Main activity, handles shared text intents
├── data/
│ └── network/
│ ├── HttpClient.kt # Ktor HTTP client configuration
│ └── PostRequest.kt # API request logic
├── ui/
│ ├── main/
│ │ ├── MainScreen.kt # Main note input screen
│ │ ├── MainViewModel.kt # Main screen business logic
│ │ └── components/
│ │ ├── ContentTextField.kt # Custom text input component
│ │ └── SendButton.kt # Custom send button component
│ ├── settings/
│ │ ├── SettingsScreen.kt # Settings configuration screen
│ │ └── SettingsViewModel.kt # Settings business logic
│ ├── navigation/
│ │ └── Navigation.kt # Navigation graph setup
│ └── theme/
│ ├── Color.kt # Material 3 color scheme
│ ├── Theme.kt # App theme configuration
│ └── Type.kt # Typography definitions
└── util/
├── PreferencesManager.kt # SharedPreferences wrapper
└── ViewModelFactory.kt # ViewModel instantiation
./gradlew test # Unit tests
./gradlew connectedAndroidTest # Instrumented testsThis project follows standard Kotlin coding conventions and Android best practices.
The app intelligently uses two Capacities API endpoints:
- Endpoint:
https://api.capacities.io/save-weblink - Method: POST
- Authentication: Bearer token (API key)
- Required Fields:
spaceId: Your Capacities space identifierurl: The URL to save as a weblink
- Endpoint:
https://api.capacities.io/save-to-daily-note - Method: POST
- Authentication: Bearer token (API key)
- Required Fields:
spaceId: Your Capacities space identifiermdText: Markdown-formatted note contentorigin: Set to "commandPalette"
The app automatically detects if your input is only a URL and uses the appropriate endpoint.
- API credentials are stored locally on your device using Android's SharedPreferences
- All communication with Capacities API uses HTTPS
- No data is collected, stored, or shared by this app beyond what you explicitly send to Capacities
- The app requires only internet permission to communicate with the Capacities API
- Verify your API key and Space ID are correct in Settings
- Check your internet connection
- Ensure your Capacities API key has the necessary permissions
- Review the detailed error message displayed in the app
- Ensure the app is installed properly
- Try restarting your device
- Check that you're sharing plain text (not images or other media)
- v1.0.3 (Build 4) - Current release
- Initial public release with core functionality
Contributions are welcome! Please feel free to submit issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the Capacities.io ecosystem
- Uses the official Capacities API
For issues, questions, or suggestions, please open an issue on GitHub.
Note: This is an unofficial third-party app and is not affiliated with or endorsed by Capacities.io.