Diexar Labs399 downloadsA private, open-source Google Keep alternative: a Google Keep-style quick-capture card grid with a companion Android app and Chrome web clipper. Offline, no account, plain Markdown.
Google Keep, on your own files.
JotDrop is a free, open-source Google Keep alternative for Obsidian — a trio: the plugin (the card grid in your vault), a companion Android app (share-sheet capture, OCR, voice memos), and a Chrome web clipper. Sync them with Syncthing and you have Google Keep — fully offline, fully yours.
For the full Google Keep experience, install all three. The plugin shows and organises your notes; the Android app and Chrome extension are what give you Google Keep's capture-from-anywhere. Grab them from the latest release.
JotDrop is a private, open-source Google Keep alternative. Google Keep is great - until you remember Google reads everything you put in there. JotDrop gives you the same fast, friction-free "dump a thought" experience, but every note is a plain Markdown file in your own Obsidian vault. No cloud account, no ads, no telemetry, no lock-in. Sync between phone and laptop with Syncthing (free) or any folder-sync you already use.
.md files with YAML frontmatter. They live in your vault. You can edit them anywhere - Obsidian, VS Code, Vim, mobile.
Obsidian desktop - Keep-style card grid
Quick-note editor - colors, tags, checklist, pin |
Android - home screen |
.m4a) and the Obsidian plugin (.webm/opus); a confirmation dialog asks before saving, audio lands as a card with an equalizer-banner thumbnail- [ ] checklists with smart toolbar toggle![[image.jpg]]) shown as thumbnails on the card![[memo.m4a]]) — inline player in both the Android editor and the Obsidian edit modal; tap a voice-memo card to play it back<date>-<slug>.md with YAML frontmatter (color, tags, archived, pinned)TL;DR: grab the files from the latest release, drop them in the right place, done. No build tools needed.
JotDrop is a trio. Each part works on its own, but you only get the full Google Keep experience when all three are installed:
Easiest — via Community plugins (recommended):
Manual install (for offline / pre-release versions):
manifest.json, main.js, and styles.css.<your-vault>/.obsidian/plugins/jotdrop/ (create the folder if it doesn't exist).jotdrop.apk from the latest release.Note: the APK keeps the same signing key across releases (so you can install over a previous version, including older
jotdrop-debug.apkinstalls, without uninstalling). It's safe - built by GitHub Actions in this repo, you can see the build log on the releases page.
Install Syncthing on phone + laptop, point both at your vault folder. Within 30 seconds of capturing on your phone, the note shows up in Obsidian. That's the entire setup.
Recommended Syncthing setting: enable File Versioning on the shared folder (Simple Versioning is fine), on both devices. Deleted and overwritten files are kept in
.stversions/so an accidental delete — or a sync race, see Known issues — is recoverable instead of permanent.
Part three of the trio - this is what replaces Keep's browser extension.
chrome-extension/ folder as an unpacked extension in Chrome (chrome://extensions → Developer mode → Load unpacked).The clip server only binds to 127.0.0.1 and never exposes itself on the network. Off by default.
Manual installs don't auto-update, so here's how to get notified of new releases:
Diexar-Labs/jotdrop as a beta plugin; BRAT watches this repo's releases and updates the plugin for you.https://github.com/Diexar-Labs/jotdrop as an app and it tracks releases and installs new APKs automatically (the debug signature is stable, so updates install cleanly over the old version).JotDrop is intentionally simple plumbing:
<vault>/Mini Notes/ (folder configurable).---
color: amber
tags: [idea, work]
archived: false
pinned: false
---
This is why JotDrop needs no server, no account, no API key - and why anything that can write to the same folder (e.g. a curl script, a Shortcuts automation) can capture into it.
If you bulk-delete many notes in the plugin while another device (phone or laptop) running Syncthing is offline, the deletes may be "resurrected" when that peer reconnects: the offline peer still has those files with valid version metadata, and on reconnect Syncthing can side with the peer and push the files back to the device that deleted them.
This is Syncthing reconciliation behavior, not specific to JotDrop — single deletes you do while everything is online propagate fine. It's the combination of bulk delete and an offline peer that triggers it. Mitigations:
.stversions/ to delete from properly.UI in English (default) and Dutch. Skeletons exist for Spanish, German, French, Italian - empty files are present in src/i18n.ts and android/app/src/main/res/values-*/. PRs with translations very welcome - see Contributing.
This is a hobby project I share publicly. PRs welcome for:
src/i18n.ts and the matching android/.../values-*/strings.xmlFor larger ideas, open an issue first to chat about it. No CLA, no commit-message gatekeeping; just keep it tidy.
Open source, MIT-licensed, no premium tiers. If JotDrop saves you time and you feel like saying thanks:
No subscriptions, no obligations, no DMs. Totally optional.
If you'd rather build yourself than trust a debug APK:
Plugin:
npm install
npm run build
# main.js + manifest.json + styles.css end up in repo root
Android:
cd android
gradle :app:assembleDebug
# APK at android/app/build/outputs/apk/debug/app-debug.apk
Requires JDK 17, Android SDK 34, and Gradle 8.7 (the wrapper jar isn't committed - either install Gradle system-wide or run gradle wrapper once to generate ./gradlew).
Built by Diexar Labs. Uses Obsidian's plugin API, Jetpack Compose, and Google's ML Kit Text Recognition.
Inspired by Google Keep (the good parts) and by the Obsidian community's belief that your notes belong to you.
MIT - do whatever you want with it.