Keep what you learn from fading — preserved like amber.
Concept flashcards, markdown notes, mermaid diagrams, a day planner and AI-written daily
reports
in one local-first macOS app, powered by the AI CLIs you already pay for.
Everything lives on your machine as plain text. No server, no accounts, no API keys stored. Korean and English UI — AI output follows your UI language, or a language you pick.
| Workspace | What it does |
|---|---|
| 🧠 Concepts | Turn an AI chat transcript into a flashcard. Confidence dots and a “learned” model keep the deck focused on what you haven’t internalized. |
| 📌 Desktop widget | An always-on-top sticker cycles through the cards you’re still learning, weakest first. |
| 📝 Notes | Real markdown files in real folders. Live preview, scroll-spy TOC, inline AI Q&A, and AI edits scoped to a sentence, a section or the whole note — always as a reviewable diff. |
| 📊 Diagrams | Mermaid .mmd files on a pan/zoom canvas with table search, focus mode and two layout engines. Paste DDL and get a house-style ERD. |
| 🗄️ Database sync | Connect MySQL. Amber reads information_schema, writes one deterministic ERD per schema without AI, and shows a diff when the live schema drifts. |
| ✅ To-dos & timetable | Nested checklists per day or per week, a Google-Calendar-style time-blocking grid, Korean public holidays and time-off marks. |
| 📋 Daily & weekly reports | The AI writes your day as “problem → fix” from your to-dos, GitHub activity and local Claude Code / Codex sessions. Weekly rolls the dailies up into Notion-ready text. |
Works fully without AI — notes, diagrams, to-dos and database sync never need a connection.
- Quick search —
⌘K(or⌘P) searches note and diagram names and bodies plus concepts in one box;⌘Ffinds within the current screen, including tables and columns on a diagram canvas - Sign in without leaving the app — when a CLI token expires, Amber opens the login flow for Claude Code and Codex in a modal (the code goes straight to the CLI’s stdin; Amber stores nothing)
- Pick the model per provider, and stop any AI run mid-way
- Korean & English UI — from your system language, switchable in Settings › Appearance; the AI response language can follow the UI or be fixed separately
- Light / dark theme — follows the system, one-click toggle, synced across windows
- Resizable panes — drag the divider in every two-pane view; each view remembers its own width
- Safe deletes — files go to the macOS Trash, not into the void
- One-click backup — Back up in Settings exports a consistent snapshot of your vault, any custom folders and the database. Don’t copy
amber.dbby hand: it runs in WAL mode, so a raw copy of a running database can miss recent writes - Open the data folder from Settings whenever you want to see the files yourself
| Main window | |
|---|---|
⌘1 – ⌘4 |
Switch workspace (To-dos · Concepts · Notes · Diagrams) |
⌘K / ⌘P |
Quick search across the vault |
⌘F |
Find in the current screen / diagram canvas |
⌘S |
Save the note, diagram or report you’re editing |
⌘, |
Settings |
Esc |
Close modal · leave full screen · deselect |
| Widget | |
|---|---|
← → |
Previous / next card |
↑ ↓ (or ] [) |
Raise / lower confidence |
Enter or D |
Mark learned |
O or Space |
Open the card in the main window |
Amber connects to the AI CLIs you already use — it auto-detects them from your login shell
PATH on first launch and reuses each CLI’s login session. No API keys are ever stored in the
app.
| CLI | Streaming | In-app sign-in | Notes |
|---|---|---|---|
| Claude Code | ✓ | ✓ | Required for Slack / Notion report sources (uses its MCP servers) |
| OpenAI Codex CLI | ✓ | ✓ (browser callback) |
Local-first, files-first. Long-form content is plain Markdown/text owned by the filesystem; only volatile metadata (card status, to-dos, time blocks, report metadata, connection profiles, settings) lives in SQLite.
~/Library/Application Support/dev.jhzlo.amber/
├── amber.db # metadata — cards, to-dos, time blocks, reports, DB connections, settings
└── vault/
├── concepts/<ulid>/index.md # concept detail notes
├── notes/**/*.md # notes (+ *.comments.json Q&A · *.concepts.json promoted-concept links)
├── diagrams/**/*.mmd # mermaid sources (+ <connection>/<schema>/schema.json DB snapshots)
└── reports/<date>.md # daily reports (+ <week-start>-week.md weekly)
Notes and diagrams don’t have to live here — the folder picker in each tree header opens any local folder as that workspace’s root, and the backup includes those folders too. Database passwords are in the macOS Keychain, not in any of these files.
Amber is distributed as source — clone and build it yourself. Tags are the releases; GitHub serves a tarball for each one.
Requirements
- macOS with the Xcode Command Line Tools
- Rust toolchain from rustup — it installs
rustcandcargo, whichpnpm tauridrives under the hood - Node.js 20+ · pnpm
- Optional, for AI features: one or more of the CLIs above, installed and logged in
- Optional, for reports:
ghlogged in; for database sync: a MySQL account that can readinformation_schema
Set up the toolchain (once)
xcode-select --install # Apple build tools (clang, git)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # Rust: rustc + cargo, stable channel
corepack enable && corepack prepare pnpm@latest --activate # pnpm (or: brew install pnpm)Open a new terminal afterwards so cargo is on your PATH. The Tauri CLI is a dev dependency,
so pnpm install brings it in — nothing to install globally.
Run
pnpm install
pnpm tauri dev # development — the first run compiles the Rust side and takes a few minutes
pnpm tauri build # production .app
pnpm test # vitest + cargo testFirst launch shows an onboarding that auto-detects installed AI CLIs. The widget’s transparent window uses
macOSPrivateApi, so Amber is not App Store-eligible — which is fine, since you build it yourself.






