I was teaching English as a second language to adults on nights and weekends in 2013, extra money, flexible hours, the kind of side work that fits around a day job. Most sessions happened over Skype, my apartment quiet except for the hum of the refrigerator and the occasional car passing below.
One student in particular had a problem. He would consistently, constantly skip words.
"He is teacher at university near station."
I leaned toward the microphone. "Almost. 'He is a teacher at a university near the station.'"
I emphasized each article like I was underlining it in the air. He nodded. His eyes were focused. He was clearly trying.
"He is teacher at university near station."
Same sentence. Same missing words. Like they'd evaporated somewhere between his brain and his mouth.
This wasn't a lack of effort. He was dedicated, showed up twice a week, on time, after full days at work. He wanted to get better. The problem was something else entirely: he couldn't see what he was missing.
I tried typing the corrected sentence into Skype's chat window. Plain text. No formatting. No way to highlight or bold or underline. He'd read it, nod again, and repeat the same pattern. The words I'd stressed vanished into the same gaps.
That's when it hit me: verbal correction wasn't enough. Written correction wasn't enough. He needed to see the errors, literally see them, highlighted, categorized, impossible to miss.
So I built something.
I called it Chat Correct. The idea was simple: a teacher types the student's original sentence, then types the corrected version. The app does the rest—automatically detecting what changed, classifying each error by type, and displaying it all in a color-coded interface.
Blue for missing words. Red for unnecessary ones. Pink for spelling. Yellow for word order. Each mistake visible at a glance.
By December, the gaps started closing.
The project never went anywhere, though. TM-Town and eventually ProZ.com took my time and attention. Chat Correct sat there, functional but forgotten, until I eventually open-sourced it as a Ruby gem and moved on.
But I don't regret building it. It solved a problem I actually had, which is always a great place to start as a builder. Not a hypothetical pain point. Not a feature a competitor shipped. Just a student who kept missing the same words, and a teacher who got frustrated enough to write some code.
Sometimes that's all a side project needs to be.