An advanced, no-bullshit writing tool for novelists and world builders who actually want to finish their draft this century. Built with Electron, React, TypeScript, and FastAPI.
FleshNote was built by writers, for writers. I created this app mainly for myself to help me write my novel, but I decided to make it open source so that other writers can benefit from it as well.
Write now, edit later. The built-in Janitor actively reads your chapters in the background using local, offline linguistic analysis (spaCy & NLTK) to offer structural suggestions without ever interrupting your flow:
- Sensory Analysis: Avoid "White Room Syndrome." The Janitor tracks if your scene is missing descriptions of Smell, Taste, Touch, Sound, or Sight.
- Show, Don't Tell: Detects weak adverbs and passive voice.
- Readability & Pacing: Grades your chapter complexity and warns you if you start three sentences in a row with the exact same word.
Sometimes you just need a little push to get drafted. FleshNote gamifies the writing process with specialized, un-exitable Focus Modes:
- Hemingway Mode: The backspace and delete keys are completely disabled. No inner-editor allowed. You can only move forward!
- Zen Mode: Relax and watch a procedural tree grow on your screen as you hit your word count goals. Hitting your target makes the tree bloom.
- Kamikaze Mode: Stop typing for too long, and your text turns red before being permanently deleted. Survive the sprint!
- Fog Mode: Previous sentences fade into a thick fog, keeping your eyes locked on the current sentence so you don't scroll up.
Track exactly what a character knows at any given point in your timeline. Use the Entity Inspector to lock away a character's "True Goal" while they lie to the reader, visually tracking narrative deception across chapters.
A zoomable, multi-layer canvas for mapping out your story beats, arcs, and foreshadowing natively injected straight into the manuscript.
Track what happened with your characters and items before the book even begins. Build a deep chronological history by dragging relationships and pinning major backstory events across an interactive, visual timeline.
Dumping lore into your project is easy. Managing it is easier. The codebase features a robust tabbed dashboard to manage Characters, Locations, Twists, and Quick Notes with bulk operations and inline tagging (@mention any character right in the editor).
Export straight to industry-standard formatting. Generates print-ready PDFs, standard DOCX files, and EPUBs with a WYSIWYG live preview.
- Chapter Time Overrides: Track flashbacks and timeskips at the paragraph level so your entities and relationship dynamics remain chronologically accurate.
- Environment & Weather System: Define weather states per location with Hierarchical Inheritance (sub-locations automatically pull weather from parents).
- 7 Total Sprint Modes: Let it be Rewarding or Punishing, there is a mode for every writer.
- Daily Writing Encouragement: Context-aware prompts and streak tracking when you open your project.
- Sketchboards & Mind-Mapping: Visual node-graph canvas for mapping out magic systems, technology trees, and character webs.
- Smart Entity Renaming Wizard: Safely rename characters or locations across your entire manuscript with automated text-link rewriting.
- Custom World Calendars: Build your own calendar systems with custom months, seasons, and years for precise age and history tracking.
- Image Gallery: Each entity type has its own gallery and Icon. Add description, time, and crop icons.
- Character and Location Name Generator: Generate procedural and preset character names, or answer questions and generate location names based on your answers.
β οΈ Windows Users: I'm a solo indie dev and I don't plan on buying an expensive Windows Code Signing Certificate. When installing the app, Windows SmartScreen will show a scary blue pop-up warning you about an "unrecognized app". Simply click More info -> Run anyway to proceed with the installation!
- Node.js (Project uses npm)
- Python 3.13 (For backend services)
- Clone the repository and navigate into the
fleshnote-idesubfolder:cd fleshnote-ide - Install the frontend dependencies:
npm install
- Setup the Python backend environment:
cd backend python3 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -r requirements.txt cd ..
Note:
requirements.txtcontains only runtime dependencies. If you plan to build/package the app with PyInstaller, userequirements_build.txtinstead.
Run the application in development mode:
npm run devYou can build the production installer using the provided platform-specific scripts or npm commands.
IMPORTANT: When building the app manually (via npm), you must also manually freeze the Python backend using PyInstaller first. The provided build scripts (build.bat and build.sh) handle this dual-compilation step for you automatically!
Windows (PowerShell/CMD):
./build.batLinux/macOS (Terminal):
chmod +x build.sh
./build.sh linux # or ./build.sh mac(Remember to run PyInstaller on the backend first!)
Windows
npm run build:winmacOS
npm run build:macLinux
npm run build:linuxLinux (Flatpak)
Note: To build Flatpak correctly, you must ensure
flatpakandflatpak-builderare installed on your system. Since the bundler operates at the user-level, you also must have the Flathub remote added for your local user environment, or the build will fail:flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
npm run build:flatpak- IDE: VSCode
- Extensions:
This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for the full text.
Built with β€οΈ by Artfacility







