v1.0.0 — Open Source
A local-first AI sidecar for screenwriters. Sits beside Fade In, Final Draft, and Highland. Understands Fountain syntax. Never rewrites your voice. Never leaves your machine.
Philosophy
Local-first AI
All inference runs on your machine via Ollama or LM Studio. Your text never leaves localhost. Not even a header. Not even a ping.
Fountain-aware
GramWrite knows INT. OFFICE - DAY from a dialogue block. It won't touch sluglines, character names, or transitions. Fragments in action lines are features, not bugs.
Zero distraction
One small dot in the corner. Grey when idle. Green when it found something. It never interrupts. It waits for you to look.
How it works
GramWrite uses your OS accessibility API to extract the current paragraph — never the full document. After 2 seconds of inactivity, it passes the text through a Fountain parser, then to a local LLM. The response is grammar-only.
✦ = GramWrite checks this element · SKIP = never modified
Setup
Install a local LLM backend
GramWrite works with Ollama (recommended, free) or LM Studio. Ollama is one command:
# macOS / Linux curl -fsSL https://ollama.com/install.sh | sh # Then pull a lightweight model ollama pull qwen2.5:0.5bOr install LM Studio and load any small model from its interface.
Install GramWrite
# macOS / Linux git clone https://github.com/yourorg/gramwrite cd gramwrite && ./install.sh # Windows git clone https://github.com/yourorg/gramwrite cd gramwrite powershell -ExecutionPolicy Bypass -File install.ps1Grant accessibility access
GramWrite reads text through your OS accessibility API. On macOS, add Terminal to System Settings → Privacy & Security → Accessibility. On Windows, run as Administrator once.
Launch and write
./gramwrite.sh # macOS / Linux .\gramwrite.bat # WindowsOpen Fade In, Final Draft, or Highland. The dot appears in the corner. Write normally. Click when it glows.
The experience
Start your model
ollama serve — or open LM Studio
Launch GramWrite
A small dot appears. Grey. Waiting.
Write normally
Draft. Delete. Rewrite. The dot watches.
Click the glow
Green dot = suggestion waiting. One click. One copy.
This is not a feature. It's an architectural constraint. GramWrite has no backend server. No analytics SDK. No network calls except to localhost. The source code is open — verify it yourself.