Skip to content
ArtFacilityPublic

About

Write first, note second. Minimalist writing app for excessive worldbuilders and planners who actually want to finish their book

Topics

Resources

Stars

66 stars

Watchers

3 watching

Forks

Latest commit

 

History

39 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FleshNote IDE (v1.2.0 Beta)

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.

License: MPL 2.0

FleshNote IDE

Why FleshNote?

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.

🧹 The Janitor (Your Smart Editing Assistant)

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.

Sensory Analysis

🏃‍♂️ Hardcore Sprint Modes

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.

Zen Mode Timelapse

🧠 Epistemic UI (Who Knows What?)

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.

Knowledge State

🗺️ Timeline & Plot Planner

A zoomable, multi-layer canvas for mapping out your story beats, arcs, and foreshadowing natively injected straight into the manuscript.

Plot Planner

📜 World History Timeline

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.

History Timeline

📂 Unified Entity & Twist Tracking

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).

Entity Manager

📚 Professional Book Export

Export straight to industry-standard formatting. Generates print-ready PDFs, standard DOCX files, and EPUBs with a WYSIWYG live preview.

File Export

Other Features

  • 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.

Getting Started

⚠️ 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!

Prerequisites

Installation

  1. Clone the repository and navigate into the fleshnote-ide subfolder:
    cd fleshnote-ide
  2. Install the frontend dependencies:
    npm install
  3. 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.txt contains only runtime dependencies. If you plan to build/package the app with PyInstaller, use requirements_build.txt instead.

Development

Run the application in development mode:

npm run dev

📦 Building for Production

You 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!

Using Build Scripts (Recommended)

Windows (PowerShell/CMD):

./build.bat

Linux/macOS (Terminal):

chmod +x build.sh
./build.sh linux  # or ./build.sh mac

Manual Build Commands

(Remember to run PyInstaller on the backend first!)

Windows

npm run build:win

macOS

npm run build:mac

Linux

npm run build:linux

Linux (Flatpak)

Note: To build Flatpak correctly, you must ensure flatpak and flatpak-builder are 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

🛠️ Recommended Setup

📄 License

This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for the full text.


Built with ❤️ by Artfacility

About

Write first, note second. Minimalist writing app for excessive worldbuilders and planners who actually want to finish their book

Topics

Resources

Stars

66 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages