I was that person who would write a single email, read it eight times, still hit send, and immediately spot a typo. Every. Single. Time.
Writing is hard enough without having to also be your own copy editor. After spending way too much time proofreading blog posts, work emails, and even Slack messages, I decided to automate at least the mechanical part of it.
What Most Grammar Checkers Get Wrong
The existing tools I tried had two problems:
First, they were too opinionated. Grammarly would tell me to rewrite half my sentence because of some stylistic preference. I don't need suggestions — I need to know if I wrote "their" when I meant "there."
Second, they wanted too much access. Browser extensions reading everything you type? No thanks. I wanted something I could paste text into, get a clean report, and leave.
Building a Minimal Grammar Check
The core approach is straightforward: break the text into sentences, check each one against known patterns, flag the matches. Here's the sentence splitter I ended up using:
function splitSentences(text) {
return text
.replace(/([.?!])\s+/g, '$1\n')
.split('\n')
.filter(s => s.trim().length > 0)
}
Simple regex splitting handles most cases. The hard part was the pattern library — things like subject-verb agreement, common homophone mistakes, and punctuation rules. Each rule is just a function that takes a sentence and returns a list of issues:
function checkHomophones(sentence) {
const rules = [
{ pattern: /\btheir\b(?=\s+(?:going|not|is|are))/i, message: 'Did you mean "they\'re"?' },
{ pattern: /\byoure\b/i, message: 'Did you mean "you\'re"?' },
]
return rules
.filter(r => r.pattern.test(sentence))
.map(r => ({ type: 'homophone', message: r.message }))
}
What I Learned
The biggest insight was that most writing errors fall into a small set of patterns. You don't need a machine learning model to catch 80% of mistakes. A well-crafted ruleset catches the common stuff, and for the remaining 20%, you should probably just read it yourself.
Also, the tool helped me write better over time. When you see the same mistake flagged repeatedly, you eventually stop making it.
Check Your Own Writing
The tool I built is at grammaraicheck.com — paste your text, get instant feedback on grammar, spelling, and punctuation. No signup, no data collection, just a text box and a red underline.