Local-first, privacy-focused voice memo to knowledge workflow
What is LIMA? A voice-to-knowledge pipeline that runs entirely on your machine. Record voice memos, get AI-powered transcription and insight extraction, all without sending data to the cloud.
Why local-first?
- Privacy: Your voice recordings never leave your machine
- No subscriptions: No API costs, no monthly fees
- Works offline: Once set up, no internet required
- You own your data: Plain markdown files, open formats
- Docker (Desktop for personal use, Engine for Linux/corporate)
- Local LLM: LM Studio (recommended) or Ollama
- uv: astral.sh/uv - Python package manager for LIMA's scripts
- make: Usually pre-installed (see Getting Started if missing)
Corporate laptops: Docker Desktop requires a paid license for larger organizations. See Getting Started for alternatives.
git clone https://github.com/leoric-crown/lima.git
cd lima
make setupThe interactive wizard will:
- Generate
.envwith secure credentials - Build and start Docker services
- Wait for n8n to be ready
- Guide you through creating an n8n API key
- Configure your LLM (LM Studio or Ollama)
- Import the Voice Memo workflows
- Start LM Studio (Developer → Start Server) or ensure Ollama is running
- In n8n (http://localhost:5678), open Voice Memo Processor (Speaches) and toggle Active
- Open http://localhost:8888/lima/recorder/
- Click the microphone, speak, click again to process
Check your output:
cat data/notes/*.md🎤 Voice Recording
↓
🗣️ Transcription (Whisper)
↓
🤖 AI Analysis (Local LLM)
↓
📝 Markdown Note
The workflow:
- Transcribes audio via local Whisper (speech-to-text)
- Extracts title, summary, key points, action items via local LLM
- Generates Obsidian-compatible markdown with YAML frontmatter
- Saves to
data/notes/and archives audio todata/audio-archive/
| Service | URL | Purpose |
|---|---|---|
| Voice Recorder | http://localhost:8888/lima/recorder/ | Browser-based recording |
| n8n | http://localhost:5678 | Workflow editor |
| Whisper | http://localhost:9000 | Transcription API |
make setup # Interactive first-time setup
make up # Start services
make down # Stop services
make status # Check health
make seed # Import workflows (safe to re-run)
docker compose logs -f # View all logs
docker compose logs n8n -f # View n8n logs
docker compose logs whisper -f # View Whisper (Speaches) logs
make whisper-native # Start Whisper (CUDA/MLX Native) server in background
make whisper-native-stop # Stop Whisper (CUDA/MLX Native) server
make whisper-native-logs # Stream Whisper (CUDA/MLX Native) server logs
make whisper-native-status # Check Whisper (CUDA/MLX Native) server status
lms log stream --source server # View LM Studio Server logs| Guide | Description |
|---|---|
| Getting Started | Detailed setup walkthrough |
| Customizing Your AI | LLM configuration, context windows, prompts |
| Using on Your Phone | Remote access via Tailscale |
| Where Is My Data? | File locations, Obsidian, backups |
| Recipes | Use case examples |
| Troubleshooting | Common issues |
| Audio Processing | Long recordings, ffmpeg |
| Native Whisper | GPU acceleration |
| Resource | Description |
|---|---|
| MCP Setup | AI-assisted workflow development |
| BACKLOG | Ideas and future directions |
Safe to tinker: If you break a workflow, rename it (to keep your work) or delete it, then run
make seedto reimport the defaults. Experiment freely!
The BACKLOG is full of ideas waiting to be explored:
- Conversational memory query (ask your notes questions)
- Context-aware routing (auto-categorize memos)
- Multi-speaker diarization
- And more...
- PostgreSQL 17 with pgvector
- n8n workflow automation (custom image with ffmpeg)
- Whisper (Speaches) for transcription
- Caddy reverse proxy
- LM Studio or Ollama for local LLM inference