Catch every spark, before it fades.
An Obsidian plugin for journaling — built around two ideas:
- Shoot first, write later. Drop a photo into the sidebar and Spark Memo reads its EXIF capture time and GPS location, then writes the memo as if you'd jotted it down back then, at that place — the same experience Day One gave you, now inside your Obsidian vault.
- Never lose the thought. The quick-capture sidebar is always one click away: type, dictate, paste an image, or hit record — the memo lands in today's daily note before the moment passes.
Under the hood it highlights HH:MM timestamps inside a designated Memo section, rolls up everything you've written into a yearly heatmap, and plots every geo-tagged memo on an offline world map — so you can look back on a whole year, or a whole map, at a glance.
Originally forked from zhaohongxuan/journal-partner. Thanks to the original author for the timestamp-highlighting core.
- Timestamp highlighting in the
## Memosection — pill badges in Source, Live Preview, and Reading view, with customizable colors and an optional read-only mode - Quick-capture sidebar — write, dictate, paste images, or record audio; entries are appended to today's daily note under
## Memo - Photo-driven memos — pasted or uploaded images with EXIF time / GPS are turned into memos at the original moment and place, stored as
[Name](geo:lat,lon)links - Tag & location roll-ups — every
#tagand every geo-tagged memo grouped for review, with rename / merge / delete for tags - Offline world map — the Locations tab opens on a map of everywhere you've written, drawn from a vector basemap bundled with the plugin: no tile server, no network request, no account. Nearby memos cluster into a single dot sized by how much you wrote there; hover for the count, click to read them, and scroll sideways to wrap around the globe
- Yearly heatmap — GitHub-style grid per year, with total words, writing days, entry count, and longest streak
- Random rewind — open the Search tab and a random past memo greets you, so old thoughts get another moment in the light
- Chat about a memo (off by default, desktop only) — right-click any memo and pick "Chat about this" to think it through with Claude, images and all. It drives the Claude Code CLI you already have installed, so there is no API key to store and nothing leaves your machine except the conversation itself. The chat gets no tools and no file access — it can only talk. Turn it on in Settings → Chat
- Multi-language — follows Obsidian's UI language (English / 简体中文)
Requires Obsidian's built-in Daily Notes core plugin.
Once the plugin is accepted into the community catalog, install it from Settings → Community plugins → Browse → "Spark Memo".
Manual install: download main.js, manifest.json, and styles.css from the latest GitHub Release into <vault>/.obsidian/plugins/spark-memo/, then enable it in Settings → Community plugins.
- Click the feather-pen icon in the ribbon (or run "Open Quick Capture sidebar" from the Command Palette) to open the sidebar
- Type into the input, then click submit — the memo is written to today's daily note as
- HH:MM text - Paste an image or hit record to attach media; images with EXIF time / GPS will prompt you to use their moment and place
- Switch to the
Search/Tags/Locations/Statstabs to browse across days —Locationsopens on the world map, with the city list one click away - To chat about an entry, enable Settings → Chat first (requires Claude Code on your machine), then right-click any memo and choose "Chat about this"
MIT


