A Windows desktop application to help fiction writers overcome first-draft paralysis by scaffolding scenes before writing prose.
For every scene, you answer six structured questions:
- Goal — What does the protagonist want?
- Obstacle — What stands in their way?
- Stakes — What do they lose if they fail?
- Revelation — What shifts by the end of the scene?
- Scene Ending — What is the last physical moment?
- Tension Spike — What escalates conflict right before the end?
Once your scaffold is complete, you lock it — then you write.
- Multiple projects — Manage all your novels from one home screen
- Kanban board — Three Act columns with Milestone groups and draggable scene cards
- Scaffold side panel — Six structured fields per scene with inline tooltips explaining each one
- Lock mechanism — Warn or strict mode; prevents accidental edits once a scene is planned
- Scaffold history — 50 automatic snapshots per scene; restore any previous version
- Thread view — Check scene-to-scene continuity by comparing Scene Ending with the next scene's Revelation
- Outline export — Export your entire project as Markdown or plain text (
Ctrl+E) - Undo / redo — Full command-pattern history for all structural changes (50-action cap)
- Drag-and-drop — Move milestones between Acts, reorder scenes within milestones
- AI Conflict Helper — Brainstorm escalating suggestions for Obstacle and Stakes fields (Anthropic, LM Studio, or Ollama)
- Settings — Configure AI providers, export format, project sort order, theme (light/dark), and more
- Project backup — One-click export of the entire SQLite database
- Electron v31 + Vite
- React 18 + TypeScript
- Tailwind CSS
- better-sqlite3 (local SQLite)
- dnd-kit (drag-and-drop)
- electron-store (window state & panel width)
- electron-builder (Windows NSIS installer)
# Install dependencies
npm install
# Rebuild native modules for current Electron version
npm run rebuild
# Start in dev mode
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Create Windows installer (requires Wine on Linux/macOS)
npm run dist| Action | Shortcut |
|---|---|
| Undo | Ctrl+Z |
| Redo | Ctrl+Y |
| New Project | Ctrl+Shift+N |
| New Milestone | Ctrl+M |
| New Scene | Ctrl+N |
| Close Panel | Escape |
| Export Outline | Ctrl+E |
| Backup Project | Ctrl+Shift+B |
| Settings | Ctrl+, |
src/main/ — Electron main process (IPC, DB, menu, AI providers)
src/preload/ — Context bridge (typed IPC API exposed to renderer)
src/renderer/ — React app (screens, components, hooks, context, utils)
src/shared/ — TypeScript types shared between main and renderer
build/ — Distribution assets (icon.ico, icon.png)
scripts/ — Build helper scripts (generate-icon.js)
All data is stored locally in a single SQLite database at %APPDATA%\Scaffold\scaffold.db.
- Multiple projects share one database
- Manual backup exports the
.dbfile to a location of your choice - No cloud sync; fully offline-first
npm run distProduces dist/Scaffold Setup 0.1.0.exe.
From Linux/macOS: The NSIS .exe installer step requires Wine. If Wine is unavailable, the Windows app will still package correctly (dist/win-unpacked/Scaffold.exe), but the installer creation will fail.
MIT