https://github.com/gruberb/workledger
Your local first engineering notebook
https://github.com/gruberb/workledger
Last synced: 14 days ago
JSON representation
Your local first engineering notebook
- Host: GitHub
- URL: https://github.com/gruberb/workledger
- Owner: gruberb
- License: mit
- Created: 2026-02-12T14:24:38.000Z (21 days ago)
- Default Branch: main
- Last Pushed: 2026-02-18T00:35:13.000Z (15 days ago)
- Last Synced: 2026-02-18T06:44:51.205Z (15 days ago)
- Language: TypeScript
- Homepage: https://workledger.org
- Size: 5.02 MB
- Stars: 67
- Watchers: 1
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-github-repos - gruberb/workledger - Your local first engineering notebook (TypeScript)
README
WorkLedger
An open-source engineering notebook for documenting your daily work.
Built with React, BlockNote, and Excalidraw.
## Features
### Customize your workspace
- **5 theme presets** -- Light, Dark, Dracula, Catppuccin Mocha, and Solarized Light — each adapts the entire UI including syntax highlighting
- **7 font families** -- Figtree, Plus Jakarta Sans, DM Sans, Urbanist, Inter, JetBrains Mono, or Source Serif
- **Focus mode** -- Full-screen, distraction-free writing on a single entry
- **Progressive Web App** -- Install as a standalone app on any device, works offline
### Write and organize
- **Daily entries** -- Organized by day with timestamps, create entries with `Cmd+J`
- **Rich text editing** -- Powered by [BlockNote](https://blocknotejs.org/) with slash commands for headings, lists, code blocks, and more
- **Inline drawings** -- Embed [Excalidraw](https://excalidraw.com/) diagrams directly in your notes via `/drawing`
- **Syntax highlighting** -- 24 languages with Shiki, theme-aware code blocks
- **Wiki-style linking** -- Type `[[` to link between entries and build a knowledge graph
- **Tagging** -- Color-coded tags for categorization and filtering
- **Search** -- Full-text search across all entries and tags (`Cmd+K`)
### Stay in control
- **Local-first** -- All data stored in IndexedDB, no server required
- **Optional server sync** -- End-to-end encrypted sync across devices. Use the default server or [self-host your own](https://github.com/gruberb/workledger-sync) — generate a sync ID, and your entries are encrypted before leaving the browser
- **Import & export** -- Export all entries as JSON for backup, import them back anytime
- **Archive & restore** -- Archive old entries to keep your workspace clean, browse and restore them anytime
- **Mobile-friendly** -- Responsive layout with touch-friendly controls
- **Keyboard-driven** -- `Cmd+J` new entry, `Cmd+K` search, `Cmd+\` toggle sidebar, `Escape` clear filter
### Optional: Think with AI
An optional AI sidebar with 10 structured thinking frameworks. Off by default, zero impact on the core app when disabled. Easy to remove if unwanted — fork and delete the `src/ai/` and `src/components/ai/` directories without affecting anything else.
**Quick start:**
1. Click the **gear icon** in the left sidebar and select **Enable AI**
2. **Configure a provider** — choose one:
- **Ollama (local):** Install [Ollama](https://ollama.com/), run `ollama pull mistral`, done
- **Hugging Face (remote):** Paste a free [API token](https://huggingface.co/settings/tokens) and pick a model
- **Custom server:** Point to any OpenAI-compatible endpoint
3. Hover over a note and click the **lightbulb icon**
4. **Pick a thinking framework** and the AI applies it to your note
**10 frameworks included:** The Thinker's Toolkit, First Principles, Six Thinking Hats, TRIZ, Design Thinking, Socratic Method, Systems Thinking, Lateral Thinking, OODA Loop, Theory of Constraints
## Getting Started
```bash
git clone https://github.com/gruberb/workledger.git
cd workledger
npm install
npm run dev
```
Open [http://localhost:5173](http://localhost:5173) in your browser.
## License
MIT