Noob Writing Assistant is a writing analysis tool designed to help authors identify and fix common issues in prose such as weak phrasing, repetition, unclear references, and unnatural pacing.
Unlike generic grammar checkers, it focuses on style, clarity, and narrative quality, rather than only correctness.
- Frontend: React (real-time editor + annotation rendering)
- Backend: FastAPI (Python API server)
- NLP Engine: spaCy (dependency parsing + POS tagging)
The engine analyzes writing across multiple levels of language structure:
Detects issues at the lexical level:
- Weak Verbs & Adverbs (e.g. was, very, just)
- Passive Voice Detection
- Filler Words (e.g. stuff, things)
- Spelling Issues
- Ambiguous Pronouns
Evaluates sentence structure and flow:
- Repetitive Sentence Starts
- Immediate Word Repetition
- Telling vs Showing Patterns
- Tense Inconsistencies
- Double Negatives
- Sentence Fragments
- Weak Determiners
- Word Echoing Across Sentences
Evaluates narrative rhythm and pacing:
- Monotonous Sentence Lengths
- Repetitive Sentence Structures
Cross-sentence pattern detection:
- Repeated Subject Usage in Close Proximity
The analysis engine is modular and rule-based:
- AdverbRule
- WeakVerbRule
- WeakAdverbRule
- WeakFillerRule
- PassiveVoiceRule
- SpellingRule
- AmbiguousPronounRule
- RepeatedWordRule
- ToBeAdjectiveRule
- PerfectTenseSVARule
- PastToBeSVARule
- PresentSVARule
- InconsistentTenseRule
- DeterminerRule
- DoubleNegativeRule
- SentenceFragmentRule
- WordEchoRule
- SentenceStartRepetitionRule
- MonotonousLengthRule
- RepeatedSubjectRule
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python -m spacy download en_core_web_smcd frontend
npm installFrom the project root:
- Double-click dev.bat
Then:
- Open the terminal link in your browser
- Use Ctrl + Click if needed
- Keep terminals running
Follow these steps to use the application:
Novels are the main project container.
To create a novel, go File >> New Novel
Once the novel is created, go File >> Load Novel
In the event that Novel is named wrongly or you wish to delete the project, go File >> Edit Novel
Chapters are the sub-projects that will actually be graded.
Once a novel is loaded, you can create a chapter by clicking Create on the left panel
Click Edit or Delete accordingly. This is where you can change the chapter number. Note that the other chapters will shift accordingly
To use grading feature, select a chapter from this page. This can be done by clicking the chapter anywhere but the button. You should notice changes in the circled parts indicating the selected chapter
Once a chapter and novel is selected, you can go to the editor. The options to save, load and analyze are at the top right corner.
(Note: Users are required to save first before analyzing)
Characters are optional additives to a chapter. They are required for AmbiguousPronounRule to work and will be used in future features
To create a character, press Create. Each chapter will be assigned their own set of characters.
To re-use characters from previous chapters, you can use the link feature by clicking Link. This would hopeully reduce the need to create duplicate character per chapter.
Note that linked chapters are all the same, meaning if you edit the same character in one chapter, you will also edit the same one in another