Hey everyone, welcome back to My Weird Prompts. I am Corn, and I am sitting here with my brother, ready to dive into a topic that I think hits home for anyone who spends their day staring at a blinking cursor, feeling the weight of professional expectations clashing with the sheer speed of modern thought.
Herman Poppleberry here, and I have to say, today is a good day for some deep technical speculation. It is February twenty-sixth, twenty twenty-six, and we are living in an era where the gap between what a machine can understand and what a human boss expects is wider than ever. Today's prompt comes from Daniel, and it is about the friction between how we type and how we are expected to communicate. Daniel is looking at this gap between the messy, free-form way we interact with artificial intelligence and the polished, professional standards required for the rest of the world.
It is a fascinating observation. Daniel mentioned how AI tools are incredibly tolerant of poor grammar, zero punctuation, and a total lack of capitalization. If you are typing into a chat box, you can just dump your thoughts out in a stream of consciousness, and the model usually figures it out. It is like talking to a very patient, very smart friend who finishes your sentences for you. But the second you switch to an email to your boss, a technical report, or a public Slack channel, that laziness becomes a liability. It makes you look unprofessional, even if the ideas are brilliant.
Right, and he brought up a great point about his specific context in Israel. Hebrew does not have capital letters at all. It is a unicase script. So when you are switching between languages all day, especially in a high-pressure tech environment, it is very easy to just stay in that lowercase mindset. It is not just laziness; it is a cognitive shift. Your brain is trying to optimize for the content of the message rather than the formatting. Daniel is proposing a local, low-latency AI model that sits right between your keyboard and the screen, correcting your text sentence by sentence in real-time. He wants the freedom to be messy while the machine handles the polish.
It is such a Daniel-style prompt. It is technical, it is about efficiency, and it is about pushing the boundaries of what local AI can do. He is asking if this exists, how we would build it, and what models would actually be up to the task without making the computer feel like it is running through mud. We have all felt that lag when a computer is struggling to keep up with our typing, and it is the quickest way to break a flow state.
That latency issue is the biggest hurdle. If you have even a tiny delay between hitting a key and seeing the character on the screen, it drives you crazy. We are talking about a budget of maybe thirty to fifty milliseconds before it becomes noticeable and frustrating. If you are a fast typist, hitting eighty or ninety words per minute, you are sending a character every hundred milliseconds or so. If the AI takes sixty milliseconds to process, you are already seeing the next character before the first one is corrected. It creates this visual stutter that is psychologically exhausting.
So, let's start with the first part of his question. Does a tool like this actually exist right now, in early twenty twenty-six? We have Grammarly, of course, and LanguageTool, and even the built-in Apple Intelligence writing tools that rolled out over the last year. But as Daniel noted, those feel more retrospective. They wait for you to finish a paragraph, or you have to highlight the text and click a button to see the suggestions. It is an interruption. It is not a transparent buffer.
There are some emerging tools, but nothing that works exactly as a transparent keyboard-to-screen buffer in the way he is envisioning. There is a project called Hint and various AI-powered autocomplete plugins for code editors like VS Code, but those are focused on completion rather than correction. The closest things we have are actually built into operating systems now. Windows eleven and twelve have these Copilot plus features, and macOS has its system-wide writing tools. But even those are not truly real-time at the driver level. They are mostly looking for spelling errors in a dictionary or waiting for a specific trigger. They do not let you just type like a maniac and fix it as the characters hit the screen.
I think the reason we do not see a lot of this yet is because of the privacy and security implications Daniel mentioned. To do this well, the software has to be a keylogger. There is no other way to describe it. It has to see every single stroke you make, including your passwords if you are not careful, your private messages, and your sensitive company data. If that data goes to the cloud, it is a non-starter for most professional environments. But if it is local, that changes the game entirely.
If you can keep the inference on the device, you solve the privacy problem, but then you run into the hardware problem. Most people do not have a massive graphics card dedicated to fixing their typos in real-time. However, with the rise of Neural Processing Units, or NPUs, in newer laptops from Intel, AMD, and Apple, we are finally getting to a point where this is feasible. These chips are designed to do exactly this: run small models in the background with almost zero impact on the main processor or the battery.
So if we were going to build this for Daniel, where would we start? He mentioned that doing this in Linux is particularly tricky because of how the input stack works. Linux users are always the ones who want the most control but often have the hardest time getting these "magic" features to work across different desktop environments.
Oh, he is not wrong. In Linux, especially if you are using something like Wayland, the security model is designed specifically to prevent one application from seeing what you are typing into another. This is a good thing for security, but a nightmare for a tool like this. You would likely have to build this at a very low level, perhaps using something like the input event device system, or evdev. You would essentially create a virtual keyboard device using the uinput kernel module. The software would read the raw input from your physical keyboard, hold it in a buffer, process the characters through the AI model, and then output the corrected text to the system as if it were coming from a second, much smarter keyboard.
That sounds like a lot of overhead. Would you have to wait for the user to finish the whole sentence before the correction appears? Because if I am typing a sentence and the AI suddenly changes the first word while I am on the tenth word, that might be incredibly distracting. I can imagine the text jumping around and the cursor moving on its own. It would feel like a ghost is editing your work while you are still writing it.
That is the user experience challenge. Do you replace the text as the user types, or do you do it in the background and only commit the changes when a punctuation mark is hit? I think Daniel's idea of sentence-by-sentence correction is the most logical. When the model detects a period, a question mark, or an exclamation point, it does a quick pass on the buffer and replaces the sentence. To make it less jarring, you could use a "ghost text" overlay where the corrected version appears in a light gray color, and then snaps into place when you hit enter or space after a period.
Let's talk about the brain of this thing. What kind of model are we looking at? We obviously cannot run a seventy-billion parameter model for this. We need something tiny, something that can live in the cache of an NPU.
We are looking at the world of Small Language Models, or SLMs. In early twenty twenty-six, we have some incredible options that did not exist even a year ago. I would immediately look at something like Phi-four mini from Microsoft or the latest iteration of Llama three point two's one-billion parameter model. There is also a model called TinyLlama that has been refined into something called NanoLlama, which is only about five hundred million parameters. It is surprisingly capable of basic grammar and formatting tasks because it has been fine-tuned specifically for text-to-text transformation.
But even five hundred million parameters might be too slow for real-time text replacement on a standard processor if the NPU is busy. What about encoder-decoder models? Something like the T-five architecture?
That is actually a brilliant suggestion, Corn. For a long time, before the current generative AI explosion, T-five small or T-five base were the gold standard for text-to-text tasks like grammar correction. They are much more efficient for this specific use case because they are not trying to predict the next token in a vacuum; they are designed to transform one sequence of text into another. A fine-tuned T-five model with maybe sixty or eighty million parameters could run almost instantly on modern hardware. You could train it specifically on a dataset of "sloppy" text versus "clean" text.
That brings us back to something we talked about in episode eight hundred and nine, when we were discussing context engineering. For a tool like this, the context is very narrow. You only need the current sentence and maybe the previous one to understand the tone and the tense. You do not need the model to know the history of the world or how to write Python code; you just need it to know where the commas go and that the word "i" should always be capitalized when it is a pronoun.
Right. And you could optimize it even further using quantization. If you take a small model and quantize it down to four-bit or even two-bit precision using techniques like BitNet, you can fit it into a tiny amount of memory and run it with almost zero latency. The trick would be fine-tuning it specifically on a dataset of common typing errors, especially those made by non-native speakers or people moving between languages like Hebrew and English. You want the model to understand that if a user types "the israel museum is closed," it should automatically capitalize "Israel" and "Museum" because they are part of a proper noun.
I wonder if you could use a hybrid approach. Maybe a very simple rule-based system handles the obvious stuff like capitalizing the first letter of a sentence, and then the AI kicks in for the more complex grammatical structures. That would save a lot of compute power. You do not need a neural network to tell you that a sentence starts with a capital letter.
You could, but rule-based systems are brittle. They struggle with things like proper nouns or words that change meaning based on context. An AI model, even a small one, is much better at understanding that "apple" should be capitalized if you are talking about the company, but not if you are talking about the fruit. If you type "i bought an apple at the apple store," a rule-based system might get confused, but a tiny transformer model will nail it every time.
Daniel also mentioned the Tokenization Tax, which we covered in episode six hundred and sixty-six. If he is typing in a mix of languages or using technical jargon, the model needs to be able to handle those tokens without getting confused. If the model sees a word it does not recognize and breaks it into five different tokens, the latency goes up and the accuracy goes down.
That is a huge point. For a local tool like this, you would want a tokenizer that is very efficient for the specific languages the user types in. If Daniel is typing in English but occasionally using Hebrew terms or technical acronyms like Kubernetes or Prometheus, the model needs to handle that gracefully. In episode seven hundred and seventy-five, we talked about the chaos of mixing right-to-left and left-to-right text. If this tool is sitting in the middle of that, it has to be incredibly smart about how it handles the cursor position and the buffer. You do not want the AI to try and "correct" a Hebrew word by turning it into English gibberish.
So, let's get practical. If Daniel wanted to set this up this afternoon, how would he actually do it? He is a technical guy, he knows his way around a terminal. Is there a way to stitch this together with existing tools?
If I were Daniel, I would start by looking at a framework like Ollama or llama-dot-cpp for the backend. Those are the industry standards for running local models efficiently right now. Then, for the input interception on Linux, I would look at a tool called espanso. It is a cross-platform text expander that already has the infrastructure for intercepting keystrokes and replacing them. It is written in Rust, which is perfect for low-latency tasks because it gives you memory safety without a garbage collector slowing things down.
Can you pipe espanso into an AI model?
Not natively in a real-time buffer way, but you could write a custom script. You could have espanso capture a trigger, or even just wait for a sentence-ending character like a period or a question mark, and then send that buffer to a local API endpoint running a small model like Phi-three-five or a fine-tuned T-five. The model returns the corrected string, and espanso injects it back into the active window by simulating a series of backspaces and then typing the new text.
The problem there is the visual flicker. If you type a whole sentence and then it suddenly deletes and re-types itself, it can be very jarring. It might even mess up the undo buffer in your text editor. If you hit control-z, do you undo the AI's correction or your own typing? That is a nightmare for productivity.
That is the ghost text problem I mentioned. The ideal version of this tool would not delete and re-type; it would just intercept the keys and only send the correct ones to the screen. But that requires the AI to be faster than the human typist. If you type at eighty words per minute, you are hitting a key every hundred and fifty milliseconds or so. The AI has to receive the key, process the context, and decide if it needs to change anything in less time than that. It is almost like a real-time translation task, where the source language is "sloppy English" and the target language is "professional English."
That feels like a tall order for a generative model, even a tiny one. But maybe for a predictive one? Like how your phone's keyboard suggests the next word, but instead, it is suggesting the correct version of the word you are currently typing.
If you treat it as a stream, you can use techniques like speculative decoding. You have a very tiny, very fast model—maybe only ten or twenty million parameters—making guesses about the corrected text, and a slightly larger model verifying them in the background. If the tiny model is right, the text appears instantly. If it is wrong, the larger model corrects it a few milliseconds later. It is the same technology that makes ChatGPT feel so fast now, but applied to your own keyboard.
I think there is also a psychological element here. Daniel mentioned that being able to type free-form reduces cognitive effort. It lets you stay in the flow of your thoughts without worrying about the shift key or the apostrophe in "don't." If the tool is too aggressive, it might actually increase cognitive load because you are constantly checking to see if it ruined your sentence. We have all had that experience with autocorrect where it changes a technical term into a common word and you do not notice until after you hit send.
That is the Clippy effect. No one wants an AI that is constantly fixing things that were not broken. It would need a very high confidence threshold. It should only correct things it is ninety-nine percent sure about. If I type "i am going to the store," it is ninety-nine percent sure the "i" should be capitalized. If I type a complex technical sentence about AI gateways, it might want to be more cautious. You could even have a "low-confidence" mode where it just underlines the text in blue, and you hit a specific key to accept the correction.
Speaking of AI gateways, in episode eight hundred and forty-one, we talked about using LiteLLM to manage different models. You could actually use a similar concept here. A local gateway that routes different types of errors to different models. Simple capitalization goes to a tiny rule-based script, while complex grammar goes to a local SLM. This would keep the latency as low as possible.
I like that. It is all about the latency budget. You want to use the cheapest, fastest tool possible for every character. You could even have a local cache of common corrections. If you always forget to capitalize Jerusalem or Hannah, the tool learns that once and never has to ask the AI again. It just becomes a personalized autocorrect that actually works.
I can see Daniel using this for his work in tech comms. If he is drafting a quick update in a Slack channel, he can just blast it out, and the tool ensures it does not look like a mess. It is about maintaining a professional image with half the effort. It is like having a personal editor sitting on your shoulder, but one that does not judge you for your messy first drafts.
And for someone like Daniel, who is also an open-source developer, this could be a great project to start. There is a huge appetite for privacy-first AI tools right now. People are tired of every single keystroke being sent to a server in California or Seattle just to check their spelling. If you can prove that it stays on the device and does not leak data, you have a winner.
Let's talk about the hardware again. If you are running this on a laptop, what is the battery impact? If you have an AI model waking up every time you press a key, your battery life is going to crater. We have seen how much power some of these local LLMs can draw when they are running full tilt.
That is why you need to use the NPU or a very optimized CPU instruction set like Intel's AVX-five hundred and twelve. If you can run the inference on the low-power cores of a modern processor, the impact might be negligible. We are talking about a task that is significantly less demanding than, say, video conferencing or playing a game. It is just text. The total amount of data is tiny. The challenge is not the volume of data; it is the frequency of the requests.
So, to summarize for Daniel, the tool does not quite exist in a plug-and-play professional form yet, but the building blocks are all there. You have the models like NanoLlama and Phi. You have the inference engines like llama-dot-cpp. And you have the input hooks in Linux like evdev or espanso.
I would say the most promising path forward is a dedicated background service written in a systems language like Rust or C-plus-plus. It would use a quantized T-five model for the actual logic. This would keep the memory footprint under five hundred megabytes and the latency under twenty milliseconds. If someone builds this as a system-level driver, it would be the ultimate productivity tool for the AI era.
I wonder if you could even build this as a browser extension as a first step. It would not work in your terminal or your local text editor, but it would cover ninety percent of where people do their typing these days. Most of our professional lives are spent in a browser window anyway.
Browser extensions are easier to build, but they have their own latency issues because of how the Document Object Model works. If you want that keyboard-to-screen feel, you really have to go deeper into the operating system. You want to be at the level where the OS thinks the AI is the keyboard. That is where the real magic happens.
That is a bold vision. It is basically an AI firmware for your input devices. Imagine a world where every keyboard has a little chip inside running a tiny grammar model. You would not even need software on your computer; the keyboard itself would just send correct text. You could plug it into any machine, and you would suddenly be a perfect writer.
Now you are talking! That is the ultimate edge AI. A physical keyboard with a built-in microcontroller powerful enough to run a tiny transformer model. We are not quite there yet in terms of cheap, low-power chips that can do that, but in five years? I would not bet against it. We are already seeing specialized AI silicon in everything from refrigerators to doorbells. A keyboard is the most logical place for it.
It reminds me of the Living Manual concept we discussed in episode seven hundred and sixty-nine. It is about using AI to bridge the gap between human error and technical precision. Whether it is fixing a CPU fan or fixing a sentence, the AI is acting as a safety net that lets us move faster and take more risks.
And the more we can move that safety net to the local device, the better. It makes the technology more resilient and more respectful of the user's data. Daniel's son Ezra is going to grow up in a world where lazy typing is not even a thing because the machines will just understand us, no matter how we express ourselves. The concept of a typo might become as obsolete as the concept of a rotary phone.
That is a bit of a double-edged sword, though, isn't it? If we stop practicing good grammar because the AI fixes it for us, do we lose the ability to think clearly? Grammar is just a framework for logic, after all. If you cannot structure a sentence, can you really structure a complex thought?
That is the classic calculator argument. Did we stop being able to do math because we have calculators? Some people say yes, but most would say it just allowed us to focus on higher-level problems. If I do not have to spend cognitive energy on whether to use a semicolon or a comma, maybe I can spend more energy on the actual ideas I am trying to convey. It frees up the prefrontal cortex for the hard stuff.
I hope you are right. But I still think there is value in knowing the rules before you let the machine break them for you. For Daniel, he already knows the rules—he is a grammatical pedant, as he put it. For him, this is just about reclaiming time and reducing the friction of being a bilingual professional in a fast-paced world.
And that is the best use of AI. Not replacing the human element, but removing the friction from it. If Daniel can type at the speed of thought and have it come out looking like a polished draft, that is a huge win for productivity. It allows him to be his most creative self without the "tax" of formatting.
I am really curious to see if any of our listeners have tried building something like this. If you are out there and you have managed to hook a local SLM into your Linux input stream, we want to hear from you. It feels like one of those projects that is just waiting for the right person to spend a weekend on it and then release it on GitHub to change the world.
Or a very long afternoon. Daniel, if you do end up hacking this together, send us an update. I want to know which model you went with and if the latency actually felt acceptable in a real-world typing test. I want to know if it felt like a superpower or just a nuisance.
Definitely. And speaking of updates, if you are enjoying these deep dives into the weird prompts Daniel sends our way, we would really appreciate it if you could leave us a review on your podcast app. Whether it is Spotify or Apple Podcasts, those ratings really help more people find the show and join our weird little community.
It really does make a difference. We have been doing this for eight hundred and forty-four episodes now, and the community feedback is what keeps us going. We love the technical challenges and the philosophical debates that these prompts spark.
You can find all of our past episodes, including the ones we mentioned today about tokenization and context engineering, at myweirdprompts-dot-com. We have a full archive there, and you can even find an RSS feed if you want to subscribe directly to the high-quality audio.
And if you have a prompt of your own, or if you want to weigh in on Daniel's idea for a local grammar buffer, you can reach us at show-at-myweirdprompts-dot-com. We read every single email, even the ones with terrible grammar.
Our show music is generated with Suno, which is another great example of AI helping us out in the creative process, allowing us to have a professional sound without a professional studio budget.
Alright, I think that covers it for today. This has been My Weird Prompts. I am Herman Poppleberry.
And I am Corn. Thanks for listening, everyone. We will catch you in the next episode, where we might be talking about AI-generated gardening tips or how to prompt a microwave.
Goodbye!