An elegant, gamified desktop writing companion built with Electron, React, and TypeScript. Inkbound helps writers finish their first drafts by transforming their story outlines into interactive milestones, tracking protagonist agency, generating creative prompts, and preserving a local, queryable Story Codex.
Choose from six narrative structures, customize them, or build your own from scratch:
- Save the Cat: Blake Snyder's prescriptive 15-beat genre fiction layout.
- Hero's Journey: The classic 12-stage mythological adventure structure.
- McKee Story: Robert McKee's 5-beat character-driven outline focused on crisis and value shifts.
- Classic 3 Act: Universal Setup, Confrontation, and Resolution (6 beats).
- Fichtean Curve: Rapid opening action followed by escalating tension and multiple crises (5 beats).
- Story Circle: Dan Harmon's 8-step circular narrative journey.
- Custom Frameworks: Create unique outlines using drag-and-drop ordering, inline editing, and append/delete tools.
- Full Map: Preview all future milestones and outline coaching prompts at any time.
- Fog of War: Hide upcoming milestones until your current quest is completed to keep your draft focused.
- Story Foundations Tooltips: View writing instructions and detailed examples next to each setup text box (Title, Premise, Protagonist Name/Description, and Antagonist) via clickable
?popovers. - Quest Progress Guidelines: Direct prompts explaining how to complete milestones ("How it works") inside active quest cards.
On completing each milestone, write one or two sentences in response to universal, framework-specific, or story-specific check-in prompts. Inkbound’s NLP utility parses responses to:
- Track protagonist agency (Active vs. Reactive counts).
- Record key decisions, items gained, or losses suffered.
- Log antagonist evolution notes.
- Extract recurring thematic tag keywords.
- Unlock character prompts, complications, and world details on completing milestones.
- Guide Legend: View what each unlocked reward type represents and how to apply it via a toggleable "What are these?" guide inside the Codex.
- Inventory Checkmarks: Mark specific rewards as "Used" in your manuscript. Used cards visually dim and strike through to preserve inventory clarity.
- Access the Story Codex slide-out drawer from anywhere to review your protagonist arc, thematic threads, and past reward cards.
Configure settings to leverage an AI story coach via:
- Cloud Providers: Google Gemini, OpenAI ChatGPT, Anthropic Claude, or OpenRouter (keys stored securely).
- Local Backends: Ollama or LM Studio.
- Ask questions about your story state directly inside the Codex drawer or generate fully personalized milestone questions.
- Light & Dark Modes: Switch the writing interface ambiance between Light and Dark mode via settings.
- High-Contrast Readability: Optimized text, border, and card backgrounds ensure visual comfort and focus during long writing sessions.
- Smooth Transitions: Built-in styling micro-transitions make theme changes feel fluid and polished.
- No Internet Required: Data is stored locally in
electron-store. - Security: Sensitive API credentials are encrypted with OS-level safe storage.
- Comprehensive Logging: Integrated logging framework that captures Electron main-process logs, uncaught exceptions, and renderer-side React promise failures into
logs/inkbound.loginside app user data directories. - Logging Levels: Configurable log filtering (
DEBUG,INFO,WARN,ERROR) adjustable dynamically in the settings screen. - Log Rolling: Automatic rotation (rolls to
inkbound.log.oldwhen size exceeds 5MB) to optimize disk space. - Reliability: Automated rolling backups on every store change and close. An automatic recovery screen is displayed in the event of corruption or migration errors.
- Backup Config: Set daily, weekly, or manual exports of JSON backups.
- Journey Records: Export your completed story's outline, check-in log, and Codex as a clean Markdown record.
- Runtime Shell: Electron
- Frontend Library: React with TypeScript
- Styles: Tailwind CSS v4 & CSS Modules
- State Management: Zustand
- Animation: Framer Motion
- Storage:
electron-store
- Node.js (v18 or higher recommended)
- npm
$ npm install$ npm run dev# Typecheck TypeScript files
$ npm run typecheck
# Build and pack for production
$ npm run build
# Platform-specific packaging
$ npm run build:win # Windows target
$ npm run build:mac # macOS target (disabled by default)
$ npm run build:linux # Linux target (disabled by default)/src
/data
/frameworks # Default narrative blueprints (Save the Cat, Hero's Journey, etc.)
/electron
store.ts # electron-store setup, backups, and native Dialog IPC handlers
/main
index.ts # Electron main process and Accelerator registration (Ctrl+, for Settings)
llm.ts # IPC handlers for Ollama, LM Studio, Gemini, OpenAI, and OpenRouter APIs
logger.ts # Central logger utility, error hook interceptors, and IPC handlers
/preload
index.ts # Preload Context Bridge exposing APIs safely
/renderer/src
/components # Overlay UI components (CheckIn, Reward, Codex, Celebration)
/pages # Application pages (Dashboard, Setup, Onboarding, Settings, Error Recovery)
App.tsx # Bootstrap router, store initialization, and menu listener
/store
projectStore.ts # Project mutations, NLP analyzer calls, and persistence triggers
settingsStore.ts # Global configurations and backup intervals
uiStore.ts # Window overlay visibility states
/types
index.ts # Type definitions and union models
/utils
storyState.ts # Text-matching NLP heuristics for story updates
backup.ts # Backup schedules and JSON serializers
export.ts # Markdown log generator for exporting projects
Licensed under the MIT License.