1. Paste or capture text
You can give Qrammerly text three ways:
- Browser extension — type in any textarea/input/contenteditable and it automatically proofreads the paragraph your caret is in.
- Popup widget — click the Q icon in your toolbar, paste a draft into the textarea, hit Check.
- Mac app — focus any text in any app (Word, Pages, Outlook, Mail, Notes, Slack, …) and press ⌥⌘G. The Mac app reads the focused field via Accessibility and runs the same review.
2. Review one paragraph at a time
Qrammerly never bulk-rewrites your document. The reviewer steps through paragraphs sequentially:
- Prev / Next paragraph moves the cursor through your draft.
- The current paragraph is shown inline with every issue underlined in the brand colours (magenta = spelling, flame = grammar, sun = punctuation, sky = clarity, iris = style).
- You decide when to move on.
3. Accept fixes one by one
Each issue gets a card with the original, the suggested replacement, and a one-sentence explanation:
- Apply rewrites just that span.
- Skip moves on without touching it.
- Prev / Next walks the issue list.
- Click any underlined word in the preview to jump straight to it.
Confidence is shown as 92% · 11/12 — the share of the twelve models that flagged this exact span.
4. Bring your own keys
Open the extension popup → Keys & Models. Paste keys for any provider you have. Empty fields are skipped — only providers with keys are queried.
Keys are stored in chrome.storage.local on your device. They're sent to the API with each request and never persisted server-side.
The Mac app stores keys in UserDefaults (Keychain is on the roadmap).
5. Pick your own models
Right next to each provider's key field there's a model picker. Type any model name the provider supports, or pick from the autocompletion list. Empty falls back to the provider's default.
Examples: gpt-4o-mini for cheap OpenAI, claude-haiku-4-5-20251001 for fast Anthropic, gemini-2.5-pro for richer Google.
6. Cache makes it free-er
Three layers of cache mean re-reviewing the same paragraph never costs you tokens twice:
- Browser — sha256(paragraph) → response, 24 h.
- Server — same hash, 1 h LRU on the Node server,
caches.default on Cloudflare Workers.
- Cached responses come back marked
cached: true.
7. Tone, goals, stats
Beyond grammar, the popup widget exposes:
- Tone (
POST /v1/tone) — labels like confident / friendly / formal / urgent and a 1-sentence summary.
- Goals (
POST /v1/goals) — proofreads against { audience, formality, intent, domain }.
- Stats (
POST /v1/stats) — words, sentences, Flesch reading ease + grade, vocabulary diversity, reading time.
8. Optional account & history
Sign up on the website to sync accepted corrections into your private dashboard:
- Total corrections, active days, average confidence.
- By-type breakdown (grammar / spelling / punctuation / clarity / style).
- The last 7 days of activity.
Optional. The extensions and Mac app work fully without an account.
9. Mac app & permissions
The Mac app uses macOS Accessibility to read and write the focused text in any app. On first launch, you'll be prompted for:
- Accessibility — required for any read/write to focused text.
- Automation — used as a fallback for richer integration with Word, Pages, Outlook, Mail.
Default global hotkey: ⌥⌘G. After applying a fix, the Mac app writes the corrected text back to the source app.
10. The training corpus
Every accepted correction is appended to a JSONL corpus tagged with detected programming language and natural language. We will eventually fine-tune our own internal model from it, hosted on Hugging Face. Self-hosters: the corpus stays on your hardware (R2 bucket on Workers, JSONL files on Docker).