Overview
What Is Doda Toolkit?
Doda Toolkit is a cross-platform desktop application that bundles 80 utilities into a single, polished interface. Instead of juggling 80 browser tabs, bookmarking random online tools, or installing a dozen separate apps, you get everything in one place — all running locally with no internet required.
Why Another Toolkit?
Online tools require internet, may log your data, and disappear when their servers go down. Native alternatives are scattered across different apps with inconsistent UIs. Doda Toolkit fills the gap: a single, beautiful, keyboard-first app with 80 tools that work offline, forever.
Design Principles
- 100% Local — No data ever leaves your machine. No servers, no accounts, no tracking
- Keyboard Everything — Every tool accessible via keyboard. Search with ⌘K, never lift your hands
- Beautiful by Default — Glassmorphism, gradient accents, smooth animations, dark/light/system themes
- Open Source — MIT-licensed. Built in the open on GitHub
Architecture
Doda Toolkit uses an Electron + React + Vite architecture:
dodatoolkit/
├── src/
│ ├── registry/
│ │ └── utilities.ts # Single source of truth (groups + utilities)
│ ├── components/
│ │ ├── layout/ # Shell, Sidebar, Header, Welcome screen
│ │ ├── ui/ # shadcn-style primitives (Card, Button, Input, etc.)
│ │ └── utilities/ # Each utility is a self-contained folder
│ │ ├── json-formatter/
│ │ ├── qr-generator/
│ │ └── ...
│ ├── hooks/ # useTheme, useLocalStorage
│ └── types/ # TypeScript definitions
├── electron/
│ ├── main.ts # Electron main process (IPC, frameless window)
│ └── preload.ts # contextBridge (minimize, maximize, close)
├── package.json
└── vite.config.tsThe registry is the single source of truth — every utility is registered in utilities.ts with its name, category, icon, and component reference. Each utility is lazy-loaded via React.lazy() so the initial bundle stays small.
How It Works
- Open the app — A welcome screen shows a quick-access grid and recently used tools
- Find a tool — Press ⌘K to open the search palette, or browse the sidebar by category
- Use the tool — Each utility is self-contained with its own UI, state, and logic
- All data stays local — Processing happens in-browser (Electron). Nothing is sent to any server
- Preferences persist — Theme, recents, favorites, and notes are saved to localStorage
UI Features
- Search palette — ⌘K / Ctrl+K with keyboard navigation and group badges
- Sidebar — Collapsible groups, favorites, recents, auto-expand, collapse/expand all
- Welcome screen — Quick-access grid and recently used tools
- Keyboard shortcut reference — Press
?to see all shortcuts - Frameless window — Native title bar on desktop, hidden in browser mode
- Dark / Light / System theme — Persisted to localStorage
- Clipboard manager — Track, search, and re-use clipboard history