Low-friction thought capture (text + voice)
Add project context file for AI agents and a user-facing README covering features, installation, usage, and configuration. Update the desktop file Exec to use the full uv path for autostart. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| src/my_memory | ||
| .gitignore | ||
| .python-version | ||
| CLAUDE.md | ||
| my-memory.desktop | ||
| pyproject.toml | ||
| README.md | ||
My Memory
A low-friction capture app for thoughts, text, and voice. Lives in your system tray and lets you quickly jot down or dictate ideas, then organize them on a kanban board.
Features
- Text capture — Type a thought and save it with Ctrl+Enter
- Voice capture — Record audio, auto-transcribed via Whisper
- Kanban board — Drag entries through On Docket, In Progress, and Complete
- Collapsible Complete column — Collapsed by default with count badge; expand to filter by 7 days, 30 days, or all time
- Cancel entries — Archive notes you no longer need without deleting the file
- System tray — Stays resident; click the icon to capture, right-click for menu
- Single instance — Running
my-memory --captureor--boardsignals the existing instance - Plain files — Entries are markdown with YAML frontmatter, stored in
~/.my-memory/entries/
Requirements
- Python 3.13+
- uv for dependency management
- A working audio input device (for voice capture)
- CUDA toolkit (optional, for GPU-accelerated transcription; falls back to CPU)
Installation
git clone https://git.manticorum.com/cal/my-memory.git
cd my-memory
uv sync
To pre-download the Whisper model:
uv run my-memory --download-model
Usage
uv run my-memory # Launch (lives in system tray)
uv run my-memory --capture # Open capture window
uv run my-memory --board # Open kanban board
Autostart
Copy or symlink the desktop file to autostart at login:
ln -s /path/to/my-memory/my-memory.desktop ~/.config/autostart/
Configuration
Create ~/.my-memory/config.toml to override defaults:
[whisper]
model_size = "base" # tiny, base, small, medium, large-v3
device = "auto" # auto, cuda, cpu
compute_type = "float16"
[audio]
sample_rate = 16000
channels = 1
Data Format
Entries are stored as ~/.my-memory/entries/YYYY-MM-DD/{uuid}.md:
---
id: "550e8400-e29b-41d4-a716-446655440000"
timestamp: "2026-02-11T14:30:00"
source: "voice"
tags: []
status: "docket"
audio_file: "550e8400-...440000.wav"
duration_seconds: 12.5
---
The captured thought content here.
Voice entries have a paired .wav file in the same directory.
License
Private project.