Codeium vs ChatGPT


Announcing the Pinecone AWS Reference Architecture

Codeium began its life as an AI developer tool that offered code-completion for software developers, and ChatGPT was originally a general purpose AI language model that could assist with a variety of tasks.

But as I write this post on February 2nd, 2024, many of these products' unique capabilities are beginning to overlap. What are the key differences and what do you need to know in order to get the most out of them both?

When you're finished reading this post you'll understand why these tools are so powerful, which capabilities remain unique to each, and how you can use them to level up your development or technical workflow.

Codeium vs ChatGPT - capabilities at a glance

Code generationImage generationChat capabilitiesCode completionGeneral purpose chatRuns in IDEsFree
Codeium
ChatGPT✴️

Legend

SupportedNot supportedRequires extra tooling
✴️

Let's break down each of these attributes in turn to better understand how these two tools differ:

Code generation

Both Codeium and ChatGPT are capable of advanced code generation, meaning that developers can ask the tool to write code in most any programming language and get back something pretty reasonable most of the time.

For example, in the browser interface of ChatGPT 4, you could ask for a Javascript class that represents a user for a new backend system you're writing and get something decent back, especially if you provide notes and refinements along the way.

For example, here's an actual conversation with ChatGPT 4 where I do just that.

Unless you're using a third party wrapper like a command line interface (CLI) or IDE plugin that calls the OpenAI API, it's slightly awkward to do this in ChatGPT's browser chat window - because you're going to end up doing a lot of copying from the browser and judiciously pasting into your code editor.

Even with this limitation, I've still found using ChatGPT 4 to discuss technical scenarios as I work to be a massive accelerator.

Runs in IDEs

Codeium's advantage here is that it tightly integrates with the code editors that developers already use, such as VSCode and Neovim.

Think of Codeium as a code assistant that is hanging out in the background of whatever file you happen to be editing at the moment. It can read all of the text and code in the file to build up context.

As you type, you will begin to see Codeium suggestions, which are written out in a separate color (light grey by default) ahead of your cursor.

Codeium's code assistant suggesting the body of a quicksort function

As the developer, if you feel that the suggestion is a good one, or what you were about to type yourself, you hit the hotkeys you've configured to accept the suggestion and Codeium writes it out for you, saving you time.

In a good coding or documentation writing session, where Codeium is correctly following along with you and getting the right context, these many little autocompletions add up to saving you quite a bit of time.

Like GitHub CoPilot, you can also write out a large comment block describing the code or functionality you want beneath it, and that is usually more than enough for Codeium to outright write your function, method or class as you've described it, which can also be very accelerating, e.g.,:

// This API route accepts the product slug and returns product details 
// from the database, or an error if the product does not exist

Once you move your cursor below this, Codeium will start writing out the code necessary to fulfill your description.

With some extra work, you can bring ChatGPT into your terminal or code editor

This is not to say that you can't get ChatGPT into your terminal or code editor - because I happen to use it there everyday. It just means you need to leverage one of many third party tools that call OpenAI's API to do so.

My favorite of these is called mods.

Mods is charmbracelet's awesome command line wrapper around OpenAI

This makes the full power of OpenAI's latest models, as well as many powerful local-only and open-source models, available in your terminal where developers tend to live.

I can have it read a file and suggest code improvements:

cat path/to/file | mods "Suggest improvements to this code"

or assign it the kinds of tasks I previously would have had to stop and do manually:

ls -lh /local/dir | mods "These files are all too large and I want them 
all converted to .webp. Write me a script that performs the 
downsizing and conversion"

There are many community plugins for VSCode and Neovim that wrap the OpenAI in a more complete way, allowing you to highlight code in your editor and have ChatGPT4 look at it, rewrite it, etc.

Is it free to use?

When you consider that it's possible to bring ChatGPT4 into your code editors and terminal with a little extra work, one of the key advantages that Codeium retains is its price.

I'm currently happy to pay $20 per month for ChatGPT Plus because I'm getting value out of it daily for various development tasks and for talking through problems.

But Codeium is absolutely free for individual developers, which is not to be overlooked, because the quality of its output is also very high.

What advantage does ChatGPT have over Codeium?

As of this writing, one of the most powerful things that ChatGPT can do that Codeium can't is rapidly create high quality images in just about any artistic style. Users describe the image they want, such as:

"A bright and active school where several young hackers are sitting around working on computers while the instructor explains code on the whiteboard. Pixel art style."

Project-based learning image generated by ChatGPT and DALLE

Having an on-demand image generator that responds to feedback, has a wide array of artistic styles at its disposal and can more or less follow directions (it's definitely not perfect) is a pretty incredible time-saver and assistant when you publish as much on the web as I do.

What about general purpose chat?

Up until recently, ChatGPT had the upper hand here. It's still one of the most powerful models available at the time of this writing, and it is not constrained to technical conversations.

In fact, one of my favorite ways to use it is as a tutor on some new topic I'm ramping up on - I can ask it complex questions to check my understanding and ask for feedback on the mental models I'm building. Anything from pop culture to outer space, philosophy and the meaning of life are up for grabs - and you can have a pretty satisfying and generally informative discussion with ChatGPT on these and many more topics.

Tools like Codeium and GitHub's CoPilot used to be focused on the intelligent auto-completion functionality for coders, but all of these "AI-assisted developer tools" have been scrambling to add their own chat functionality recently.

Codeium now has free chat functionality - and from some initial testing, it does quite well with the kinds of coding asisstant tasks I would normally delegate to ChatGPT:

Codeium's free chat interface

Should you use Codeium or ChatGPT?

Honestly, why not both? As I wrote in Codeium and ChatGPT are all I need, these two tools are incredibly powerful on their own, and they're even more powerful when combined.

I expect that over time we'll begin to see more comprehensive suites of AI tools and assistants that share context, private knowledge bases and are explicitly aware of one another.

Until then, I'm getting great effect by combining my favorite tools in my daily workflow.

AI Engineer for hire

I help teams and companies grok AI, pipelines and generative applications

How do I use Codeium and ChatGPT together?

As I write this blog post on my Linux laptop in Neovim, I first tab over to Firefox to ask ChatGPT to generate me a hero image I can use in this blog post. I do this in the chat.openai.com web interface, because that interface is tightly integrated with DALLE, OpenAI's image generating model.

ChatGPT's still has the upper hand in image generation

I'll let it do a first few iterations, giving notes as we go, and as I write, until we get the right image dialed in.

Meanwhile, as I write out this blog post in Neovim, Codeium is constantly suggesting completions, which is generally less useful when I'm writing prose, but very useful whenever I'm coding, writing documentation, writing scripts, etc.