my-memory/README.md
Cal Corum 9356122591 docs: add CLAUDE.md, README, and fix desktop Exec path
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>
2026-02-11 14:54:46 -06:00

2.3 KiB

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 --capture or --board signals 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.