DEV Community

dayu2333-jinyul
dayu2333-jinyul

Posted on • Originally published at grammaraicheck.com

I Built a Free AI Grammar Checker That Runs Entirely in the Browser

I built AI Grammar Checker because I was tired of copy-pasting my writing between five different tools — Grammarly for grammar, Hemingway for readability, some word counter for stats.

What it does

Paste English text, hit check, and get back:

  • Sentence-by-sentence grammar corrections with explanations
  • Style polish — passive voice, weak adverbs, wordy phrases flagged
  • Flesch readability score so you know if your text is actually readable
  • Hemingway-style highlights — hard sentences, very hard sentences, adverb count
  • CEFR level (A1–C2) for non-native speakers
  • Tone detection — formal, casual, neutral

All client-side except the AI check call. No server stores your text.

The stack

HTML + vanilla JS + CSS
↓
DeepSeek API (OpenAI-compatible, $0.27/million tokens)
↓
Result rendered directly in the DOM
Enter fullscreen mode Exit fullscreen mode

No React. No Next.js. No build step. Just app.js, style.css, and index.html.

Why DeepSeek over OpenAI

  1. Cost. DeepSeek is roughly 1/10th the price of GPT-4o for comparable grammar quality. At free tier usage levels, my API bill is under $2/month.
  2. Quality. Tested on a 50-sample set — DeepSeek caught 91% of errors vs GPT-4os 93%. The 2% gap is not worth 10x the cost.
  3. No content moderation false positives. OpenAI sometimes flags academic writing about medical or legal topics. DeepSeek just checks grammar.

What Id do differently

  • Offline mode. Hemingway stats are local. Grammar needs the API. Want to bundle a small on-device model via WebLLM.
  • Better mobile UX. Works on mobile but text area + results layout is not great on narrow screens.
  • API key flow. Users bring their own DeepSeek key (5M free tokens for new users). Considering a shared-key free tier.

grammaraicheck.com — completely free, no signup.

Also: Best AI Grammar Checkers 2026 comparison.

Top comments (0)