CoTypist - Helpful Writing Assistant or Drunk Typing?

Imagine totally private AI autocomplete based on your writing style in every application. That’s CoTypist.

But I have feelings.

What is CoTypist and how does it work?

From the developer:

Cotypist predicts your next words, works in every app, and generates suggestions automatically. Save hours of typing every month.

The Cotypist Way

You never leave your flow.

You start typing, and the right words just appear—your words, the ones you would have written anyway.

No more wrestling to get the thoughts out of your head.

Tab. Smile. Keep going.

What felt like work now feels like flying.

How it works

Launch CoTypist. It runs a small LLM (Google Gemma 4 E2B) in the background using llama.cpp. (You can choose another model but this is the one that the developer recommends and installs during setup.)

Start writing. CoTypist will periodically take screenshots of your screen to analyze your writing style. The screenshot never leaves your device as it’s all processed locally by Gemma 4. You’ll know its doing this because the icon is highlighted in the menu bar when it happens.

If you like the suggestions that it makes, you can simply hit the tab key to accept them and continue writing.

CoTypist Suggestion

You don’t have to use the suggestions in every application - you can select which apps you want to use it with. For example, if you’re coding, you wouldn’t want to use CoTypist - such a small model is not going to perform well in that context.

When I first started writing with CoTypist, I thought, “Go home, CoTypist. You’re drunk.”

But after about 30 minutes of use, it starts to learn. It will suggest words that you would have written anyway. (Usually.)

Sometimes, it takes a moment for CoTypist to realize that you’ve switched contexts. For example, I might write a business email and then move on to a personal one. For a moment or two, CoTypist will suggest words that are from the previous context. But after a few seconds, it realizes that this is a new context and will suggest words that are more appropriate for the email I’m writing.

It’s great for drafting. Sometimes you just can’t find the right words but CoTypist will suggest something that works - for now. Then you can go back and refine the language to your liking.

Quirks

Oddly, it doesn’t spell check. If I start typing a word incorrectly, it may recognize what word I’m attempting to type and already have a suggestion for the next word or phrase, so I’ll hit the tab key to accept it - but it doesn’t correct the spelling of the previous word. That seems like an obvious miss.

I’ve also found that it tries to suggest extensions to words, even those that I’ve pasted. For example, I use Espanso for text snippets, such as a link I might send to someone to schedule a 30-minute call with me.

That particular URL ends with “/30m” but when I insert it with Espanso, CoTypist insists on adding “in” to the end of it (“/30min”). Of course, this breaks the scheduling link and I have to fight with CoTypist to get it to stop doing that.

CoTypist breaks web forms. If you’re like me and your workflow is keyboard-centric, you will tab your way through form fields. Using CoTypist, pressing the tab key will no longer advance to the next field - it will start suggesting words in a form field and the tab key accepts them. You will have to tell CoTypist to stay out of your browser or just rewire your brain. I’m hoping the developer finds a way to address this.

Otherwise, I’ve been using CoTypist for more than a week now and it’s been helpful.

Verdict

CoTypist is currently free while in beta. Will I pay for it? Maybe. It will depend on the pricing and how much I value it in my workflow. There are only so many utilities that I’m willing to pay for, especially if there’s a subscription.

I’m also at a point where I need a Mac with more RAM - the 24 GB on my M2 MacBook Air is starting to get squeezed and having an LLM with its own instance of llama.cpp running in the background consumes too many resources.

Windows and Linux users are out of luck. Sorry.

This post was written with the help of CoTypist, natch.