An AI-powered writing clarity tool — a free, more powerful alternative to Hemingway Editor.
GradeMyWrite analyses your writing in real time and highlights clarity issues — hard sentences, passive voice, adverbs, qualifiers, clichés, word repetition — and gives you a Flesch-Kincaid readability grade. The AI layer (powered by Claude) rewrites sentences, fixes grammar, adjusts tone, and reviews your full document.
| Feature | Hemingway Free | GradeMyWrite |
|---|---|---|
| Hard sentence highlighting | ✅ | ✅ |
| Adverb / passive / qualifier detection | ✅ | ✅ |
| Complex word suggestions | ✅ | ✅ |
| Cliché detector | ❌ | ✅ |
| Word repetition heatmap | ❌ | ✅ |
| Sentence rhythm chart | ❌ | ✅ |
| Consecutive sentence-start warning | ❌ | ✅ |
| Speaking time estimate | ❌ | ✅ |
| AI sentence rewrite (side-by-side) | Paid only | ✅ |
| AI grammar fix | Paid only | ✅ |
| AI document review | Paid only | ✅ |
| AI tone adjustment (8 tones) | Paid only | ✅ |
| AI synonym suggestions | Paid only | ✅ |
| Feedback tab | ❌ | ✅ |
| File import (.txt, .md) | Paid only | ✅ |
| Dark mode | Paid only | ✅ |
- Node.js ≥ 18
- An Anthropic API key (for AI features)
git clone https://github.com/furqanyasin/GradeMyWrite.git
cd GradeMyWritecd backend
npm install
cp .env.example .env
# Open .env and add your ANTHROPIC_API_KEY
npm run devcd ../frontend
npm install
npm run devWindows users: Double-click
start.batto launch both servers at once.
| Feature | How to Trigger | Quota |
|---|---|---|
| Sentence simplify | Click any red/yellow sentence | Counted |
| Fix Grammar | Toolbar → AI → Fix Grammar | Unlimited |
| Document Review | Toolbar → AI → Review Document | Unlimited |
| Clean Up Writing | Toolbar → AI → Clean Up Writing | Counted |
| Tone Adjustment | Toolbar → AI → Adjust Tone | Counted |
| Synonym suggestions | Double-click any word | Unlimited |
Default quota: 5,000 AI rewrites/month (tracked in localStorage, resets monthly).
| Shortcut | Action |
|---|---|
Ctrl+E |
Toggle Write / Edit mode |
Ctrl+Shift+G |
Fix Grammar |
Ctrl+Shift+D |
Review Document |
| Double-click word | AI synonym suggestions |
GradeMyWrite/
├── backend/
│ ├── server.js Express API server
│ ├── routes/
│ │ ├── ai.js Claude AI endpoints
│ │ └── feedback.js Feedback collection (lowdb/JSON)
│ ├── db/ Auto-created feedback storage
│ └── .env.example Environment variable template
│
├── frontend/
│ ├── src/
│ │ ├── App.jsx Root component + state
│ │ ├── components/
│ │ │ ├── Editor.jsx
│ │ │ ├── Sidebar.jsx
│ │ │ ├── Toolbar.jsx
│ │ │ ├── Tooltip.jsx
│ │ │ ├── RhythmChart.jsx
│ │ │ ├── AIPanel.jsx
│ │ │ ├── SentenceSimplifyModal.jsx
│ │ │ └── FeedbackTab.jsx
│ │ ├── analysis/ Client-side text analyzers
│ │ ├── constants/ Word lists, clichés
│ │ ├── utils/ highlight, cursor, stats, export
│ │ └── hooks/ useAI, useLocalStorage
│ └── vite.config.js
│
├── index.html Standalone no-build version (legacy)
├── start.bat One-click Windows launcher
└── plan-v2-ai.md Full product roadmap
| Layer | Technology |
|---|---|
| Frontend | React 18 + Vite + Tailwind CSS v3 |
| Backend | Node.js + Express |
| AI | Anthropic Claude (Haiku for speed, Sonnet for depth) |
| Storage | lowdb (JSON file, no native deps) |
| Editor | HTML contenteditable with <mark> highlights |
View all user feedback:
GET http://localhost:3001/api/feedback?secret=YOUR_FEEDBACK_ADMIN_SECRET
Returns JSON. Set FEEDBACK_ADMIN_SECRET in backend/.env.
The app works fully without the backend — all highlighting, stats, and export are 100% client-side. AI features show "
- User accounts + server-side quota enforcement
- Stripe payment integration (Individual 5K / 10K / Team plans)
- File import (.docx via mammoth.js)
- Cloud sync
- Browser extension
MIT © 2026 Furqan Yasin