User Guide
Relevant source files
The following files were used as context for generating this wiki page:
Augenblick is a specialized note-taking application designed with an "ephemeral-first" philosophy. It addresses the common problem of digital clutter by assuming that most notes are temporary. By default, notes are designed to disappear after a period of inactivity unless explicitly preserved.
The application serves as a bridge between quick drafts and permanent files, allowing users to capture thoughts immediately while providing workflows for external storage when permanence is required. It is built using the Tauri framework with a React frontend and a Rust-based backend.
Sources: README.md:1-12, plans/migration.inventory.md:3-8
Core Concepts
Note Lifecycle and Storage
Notes in Augenblick exist in two primary states: Drafts and Saved. Drafts are stored internally within the application's data directory, while Saved notes are stored as standard .md files on the user's filesystem.
The following flowchart illustrates the transition of a note through different storage states:
The application handles file operations via a Rust backend, including security-scoped bookmarks on macOS to maintain access to external files.
Sources: plans/migration.inventory.md:68-100, src-tauri/src/notes/write.rs:104-120
Ephemerality and Expiry
A central feature is the Auto-Expiry system. Notes that are not pinned and have not been interacted with for a set duration (default 7 days) are automatically moved to the Trash. The Trash itself has a retention period (default 30 days) before notes are permanently deleted.
| Feature | Default | Configuration Range |
|---|---|---|
| Note Expiry | 7 Days | 6 hours to 30 days |
| Trash Retention | 30 Days | 7 to 90 days |
| Pin Limit | N/A | Maximum 5 notes |
Sources: README.md:15-22, plans/migration.inventory.md:156-170, plans/migration.qa.md:46-50
Functional Guide
Managing Notes
Users can create, organize, and preserve notes using a variety of commands.
- Creation:
⌘Ncreates a new draft. The system automatically derives a title and preview from the first non-empty lines of content. - Pinning: Users can pin up to 5 notes to the "PINNED" section to prevent them from expiring.
- Importing:
⌘Oallows users to open existing.mdfiles. If the file is already known to the application, it is selected; otherwise, it is imported as a saved note. - Reordering: Notes can be reordered via drag-and-drop within their respective sections (Pinned or Notes). The application supports undo/redo (
⌘Z/⇧⌘Z) for reorder actions.
Sources: src/routes/pageActions.ts:47-60, plans/migration.inventory.md:131-145, src-tauri/src/notes/derive.rs:1-15
Using the Editor
The application features a Markdown editor (Tiptap-based) that supports standard formatting and specialized blocks.
- Formatting: Supports bold, italic, inline code, and links via a selection bubble menu.
- Specialized Blocks: Includes support for tables, task lists, and code blocks with syntax highlighting.
- Auto-save: Drafts are auto-saved to the internal database after 500ms of idle time.
- Task Lists: Checkboxes in task lists can be toggled by clicking the hitbox area near the checkbox.
Sources: src/features/editor/Editor.tsx:75-120, plans/migration.inventory.md:112-120, plans/migration.qa.md:31-36
Navigation and Commands
The Command Palette (⌘K) acts as the central hub for navigation. It allows users to search through all active notes and execute application commands like opening settings or creating notes.
Reference Tables
Keyboard Shortcuts
| Category | Action | Shortcut |
|---|---|---|
| File | New Note | ⌘N |
| Save (Draft as 'Save As') | ⌘S | |
| Save As | ⇧⌘S | |
| Open/Import | ⌘O | |
| Edit | Move to Trash / Close | ⌘W or Delete |
| Pin/Unpin | ⌘P | |
| Undo/Redo Reorder | ⌘Z / ⇧⌘Z | |
| View | Command Palette | ⌘K |
| Settings | ⌘, | |
| Navigation | ⇧⌘↑ / ⇧⌘↓ |
Sources: README.md:35-47, plans/migration.inventory.md:235-255
UI Components and Icons
| Component | Description | Related Icon |
|---|---|---|
| Expiry Ring | Shows remaining time before auto-trash | Timer |
| Sidebar | Contains Pinned, Notes, and Trash sections | Columns |
| Find Bar | In-editor search and replace (⌘F) | Search |
| Tray Menu | Quick access from the system tray | App Icon |
Sources: README.md:23-28, plans/migration.inventory.md:180-193
Technical Summary
Augenblick manages its state via Zustand and persists data in a SQLite database named augenblick.db. The system background thread in Rust performs a "sweep" every 60 seconds to identify and move expired notes to the trash or purge them based on user settings. This architecture ensures that the "ephemeral" nature of the app is enforced even when the frontend is not actively focused.
Sources: README.md:65-71, plans/migration.inventory.md:17-40, plans/migration.inventory.md:172-178