Twinny
If you’ve ever wished your coding assistant could do more than autocomplete a few lines, Twinny might be worth a look. It’s a free extension for Visual Studio Code that brings AI into your workspace in a way that feels practical and grounded. You’re not getting a flashy chatbot or a cluttered sidebar – you’re getting a set of tools that quietly help you write, refactor, and understand your code without breaking your flow.
I started using Twinny while working on a TypeScript project that had grown a bit chaotic. I wasn’t looking for a full rewrite – just something to help me clean up functions, write better commit messages, and maybe explain a few confusing pieces of logic. Twinny fit right in. It offers fill-in-the-middle completions, which means it doesn’t just guess what comes next – it can help you rewrite the middle of a function or restructure a block of code without starting over. That’s a small shift, but it makes a big difference when you’re trying to preserve context.
One of the standout features is the chat sidebar. You can highlight a section of code and ask questions like “What does this do?” or “Can you write a test for this?” and get answers that are actually relevant. I used it to refactor a few utility functions and got suggestions that were clear, readable, and easy to implement. It’s not trying to be clever – it’s just trying to help you write better code.
Twinny supports a bunch of different AI providers, including OpenAI, Anthropic, Groq, and Deepseek. You can even run it locally with an Ollama-compatible API if you want to keep things offline. I tested it with GPT-4 and Claude, and the results were solid across both. The extension lets you switch providers easily, so you’re not locked into one model or setup.
There’s also a feature called workspace embeddings, which helps Twinny understand your project as a whole. Instead of treating each file like an isolated snippet, it builds a kind of mental map of your codebase. That means the suggestions you get are more context-aware and less generic. I noticed this when I asked it to generate a new component based on existing patterns – it picked up on naming conventions and structure without needing a full explanation.
Another thing I liked was the side-by-side diff view. When Twinny suggests a change, you can see the original and the proposed version next to each other. It’s a small detail, but it makes it easier to decide whether to accept the change or tweak it. You can also copy solution blocks directly, open them in a new file, or apply them inline.
Twinny doesn’t try to be everything. It’s focused on making your coding experience smoother, whether you’re debugging, writing tests, or just trying to understand a legacy file. It’s open-source, easy to install, and doesn’t get in your way. It’s one of those tools that quietly earns its place without demanding attention.
