Codegeist Unleashed: in search for the holy grail

Codegeist Unleashed: in search for the holy grail
A name and logo for the app, both generated by AI

I did it, I just managed to wrap a Codegeist entry! I can stop the coding and start the waiting for that t-shirt to ship to Belgium!

What is Codegeist?

It is a yearly programming contest, organised by Atlassian. In the last years, they all have been pointed towards testing a new way of extending the Atlassian products in the cloud.

This year, there was a hefty constraint on top: the core of the extension should be based on AI. It's a great nudge to start immersing yourself into these technologies, learning new things that your future you can use. Finding the time to do so… that's a completely different obstacle course!

What did I build?

There is a lot of hype going on regarding generative AI: massive trained models that can do tremendous, wonderful things by just feeding the right set of instructions.

Since Atlassian had already embedded the OpenAI API in their products, I decided to look somewhere else. What if I could build something that not created lots of new generated data, but instead could unlock information that was already trapped in the system?

Without further ado:

the video I had created in Final Cut Pro for my submission

How is it built?

I wanted to find a way to recognise text without having to send data to the bigger tech entities. Having to go through all the legal hoops, making sure not a single piece of data ends up in a training set... it doesn't sound too nice.

In the end, I made use of a library with lots of trained data models that I could run on a local server. This project was set up so that all data remains in memory and never touches the disk.

Getting help with marketing

When you are creating a whole new product, there is a Very Important Question: how are you going to call this new baby of yours? Since the main component of this contest was to embrace Artificial Intelligence, it only made sense to let AI come up with the name as well!

Starting with ChatGPT, I asked the magical question:

Prompt in ChatGPT, asking "I'm looking for a name that I can use for my product that will change the way how people work with images. The product makes extensive use of AI to read the text embedded in images and will make this searchable for the end user"
Asking ChatGPT for a marketing name for the new product

It never ceases to amaze me the amount of possible names you'll get back in a minute. It's like having a crack-marketing team at your disposal, any time of the day! Like with every endeavour, you go back and forth to incorporate feedback. A few prompts later, this one pops up:

ChatGPT suggesting to call it TextAtlas Pro

These days, we don't have to stop with only the name: OpenAI added DALL*E 3 to his chatbot as well. This means that we can create a compelling visual as well - or at least provide some inspiration for testing ideas. The best way to create an image is to let create ChatGPT a prompt for DALL-E. Let the machines talk to each other!

Prompting ChatGPT to generate a DALL-E prompt for generating an image

When we feed these prompt into the DALL-E model, we'll get something interesting!

ChatGPT using DALL-E 3 to generate several images

If you take a quick look at those images, they seem compelling and original. When we start looking more in detail, we notice that DALL-E is having some serious issues:

  • Somehow, it forgot that the name was TextAtlas Pro, not TextAttlas Pro nor Tex Attla Pro
  • Randomly generated text makes less sense than Lorem Ipsum. It can be a random collection of characters from several alphabets or even a Latin-sounding piece of which I still don't know what it tries to tell me
  • The radius of circle is something we can approach in a creative way - it shouldn't be round at all

Luckily, we can make use of the latest Adobe Photoshop Bèta to remove the wrongly generated text on the gradient. This will leave us with a blank canvas where we can add the correct wording.

Adobe Photoshop Bèta helping us the generate the correct gradient by removing the incorrect "TextAttlas Pro"
Tom Moors

Tom Moors

Antwerp, Belgium