Zencoder AI Review

Everyone is familiar with AI and its role in assisting developers with coding by now. There are AI tools for:

  • generating and explaining code
  • creating tests
  • optimizing code
  • and reviewing code, among others

My first encounter with AI was in 2021 when GitHub Copilot was released. Since then, I've tried all kinds of tools and IDEs, from Cursor, Zed and Windsurf to VS Code extensions like GitHub Copilot Chat and Cline. I like to explore and try new tools.

The latest tool I've tried is Zencoder, which I'll review in this post. You'll see a useful browser extension built by Zencoder from a Trello ticket.

What is Zencoder?

Zencoder is an AI coding agent that integrates with your IDE. Instead of switching tools, you can install Zencoder in your VS Code or JetBrains IDE to augment it with AI capabilities.

The image below shows the Zencoder agent in VS Code.

One of its standout features is its use of different models, including self-hosted, fine-tuned ones, for better performance and code quality.

Alternatively, you can also select other models, such as GPT-4o, Claude 3.5, and Claude 3.7, or even use your own API keys.

I only tried their custom model to see how capable it is. Since I'm already familiar with the others, my review only focuses on their model.

Codebase Context

In my experience, it understands the codebase really well and is aware of the context by default when generating code. Instead of generating random code that doesn't work with your codebase, which sometimes happens with other tools, it gives you code that matches and works with your codebase style.

In this regard, it feels superior to other similar tools, which either force you to mention the context every time or have trouble remembering the codebase context when generating code.

The feature is called Repo Grokking, and you need to enable it from the settings and index your codebase.

Once the feature is enabled and the codebase is indexed, you can use the "Codebase" context, as shown in the first image.

In the example below, I asked it to find the code responsible for signing a direct template. It was able to locate the appropriate file and corresponding code pretty fast. It also shows the files it referenced to provide the answer, which is a nice touch.

Zencoder does a great job of understanding the codebase.

Code Generation

As mentioned previously, this AI tool has its proprietary model, which is a mix of self-host, fine-tuned models.

Therefore, Zencoder is not a simple middleman between your prompts and the LLMs. What I mean is that it does not take your prompt, pass it to the LLM, and then return its output. From what I understood, they have an agentic pipeline that refines the input to/output from LLMs to improve the quality of the generated code.

Let's take a look at an example.

I gave it the task of finding issues with a Kubernetes deployment.

0:00
/0:36

As you can see in the video, the response was quite comprehensive:

  • it highlighted the current issues and provided an explanation for each one of them
  • then it fixed the issues one by one while showing the changes
  • lastly, it summarised the changes and offered a couple of solid recommendations

You can apply all changes in one go or review them line-by-line and accept or reject specific ones.

P.S.: I always recommend reviewing the AI-generated code line by line. Never accept code blindly.

I like the fact that the model is "talkative" and shows the steps it takes and the changes it makes at each step. That makes it easier to follow the process and intervene if the AI hallucinates or takes the wrong direction.

Integrations With Other Apps

They also have a browser extension that integrates Zencoder with 20 platforms, at the time of writing this.

This integration allows you to send issues from GitHub or tickets from Jira/Trello (to name a few examples) straight to your code editor. It's really useful because it captures and sends the context automatically to your IDE.

Here's an example with a ticket from my private Trello board:

The browser extension adds the "Solve with Zencode" button shown in the above image. Once you click it, Zencoder adds the ticket context in your IDE and starts building:

0:00
/1:08

Surprisingly, it got it almost right from the first try. The only hiccup was that it referenced a few icons that didn't exist. After removing those from the manifest file, the extension worked properly.

I recorded a short video to showcase the new extension in action:

0:00
/0:29

You could definitely improve the UI and functionality, but we can agree that it looks and works pretty well for something created in (almost) one go.

I created something I would use for this review rather than some generic AI-generated example. I even used to pay for a similar browser extension, so why not build my own?

I'll definitely continue using and improving this extension since I want to limit the time I spend on certain sites, such as social media sites.

Areas of Improvements

One area that could be improved is the user experience of referencing files. Unlike other AI tools, you can't reference files/folders with the @ symbol.

If you want to do it, you need to click on the "Context" button and manually select the files. It's quite cumbersome since you can't select folders and must add files individually.

I would also like to see more variations in the available models. At the moment, you can only select between their custom model, GPT-4o, and Claude Sonnet 3.5 and 3.7. Having other options, such as the Gemini or other OpenAI/Anthropic models, would be nice.

Conclusion

Overall, I had a great experience with Zencoder, and I'll definitely add it to my toolbox. What stood out to me was the "repo grokking" feature, with its understanding of my codebase and its integrations with other platforms.

The cherry on top is the free plan, which is pretty generous—at the time of writing, you get unlimited code completions and chat messages.

Support this blog 🧡

If you like this content and it helped you, please consider supporting this blog. This helps me create more free content and keep this blog alive.

Become a supporter