Originally I wanted to write a blogpost about what data engineers are going to do with AI writing their code. But before I can write that, I need to share my experiences so far. Because from this you’ll get an idea where they work and where they lack.
This is not meant as a treatise of AI coding assistants and agentic AI tools. But here are some of the tools I’ve tried:
- I’ve worked with VSCode and Copilot now for at least a year.
- I regularly use ChatGPT and Phind.com for advice on programming tasks.
- I’ve used VSCode with Cline / Roo Code extensions and LLM models.
- And I’ve used Claude Code (which is not free, but there seems to be a trial amount of free tokens). Claude Code works from the command line.
The agentic AI solutions are interesting. They are quite capable to create whole Python projects based on your requests. But it doesn’t mean these projects will work right out of the box. Usually there needs to be some tweaking and restarting and checking results.
Projects where I’ve used agentic AI solutions
Here are some projects I’ve used agentic AI tools for.
Create a showcase demo of Kafka as streaming solution
I was bored with my regular Kafka exercises for our data engineering course. I wanted to have something that would look like Kafka streaming in the real world. So I asked Cline with DeepSeek (instructions I’ve used can be found here: https://youtu.be/NYVaCr3T1T0) and Claude Code to create a producer that would read traffic data in the Netherlands and a consumer that would so something with that.
Cline with DeepSeek-chat-free via OpenRouter
My prompt was pretty vague:
I want to create Python code that retrieves realtime traffic data from https://api.rwsverkeersinfo.nl/api/traffic/ and places it on a Kafka topic.
The Python code and the Kafka producer should be running on Docker containers.
What worked:
- It created a whole Python project with necessary files and directories.
- It wrote a producer.py and a consumer.py.
- It created the necessary Docker compose file.
What didn’t work:
- I forgot to tell that this architecture needed a Kafka broker. When the agent ran the solution the error that the Kafka broker was missing – to me at least – was very clear. It kept changing and changing the code. But not the docker-compose.yml. I even told it in the comments: add a Kafka broker. But it wouldn’t get it.
This last issue, where the AI agent is spinning its wheels but doesn’t get any further, is quite common.
Claude Code with Claude Sonnet 3.5
Learning from the Cline with DeepSeek experience I added to the prompt that a broker should be created. Unfortunately I forgot to save the prompt I’ve used, but it was similar to the prompt I used with Cline, with the added broker.
What worked:
- It created a whole Python project with necessary files and directories.
- It wrote a producer.py and a consumer.py.
- It created the necessary Docker compose file.
- It created a very nice Streamlit frontend for the visualisation.
What didn’t work:
- It didn’t look for one moment at the data coming from the REST API. It just assumed the JSON structure would have certain attributes. For example it assumed there was data of road obstructions with a start and end GPS location. So that it could draw a line on the map. But the REST API had only a starting point.
This version was close enough for me to fix it and get a working end result. And it’s a result that I’m quite happy with. It works well as a demonstration for students. The Streamlit frontend was more than I had hoped for.

Refactoring my Robi scale OCR data extractor solution
I read somewhere that Claude Code is quite good at refactoring code. So I was wondering what it would do with my code. For this I offered it my Robi scale OCR solution. After I made a backup of it of course.
Claude Code with Claude Sonnet 3.5
My prompt was very simple: refactor this Python project.
So what did it do?
- It replaced print with the logging library.
- It introduced strong typing.
- It rewrote my code completely to object oriented Python with one class called MeasurementExtractor and many methods underneath it.
- It made a list called segments with tuples with coordinates where in the image certain values could be found instead of my ugly line by line command to extract this data.
- And probably a lot more stuff.
What worked:
- It did indeed do a whole lot of refactoring.
- The .py file still ran without errors.
- The output data was still of the same quality after the rewrite.
- The logging on the terminal is more concise.

What didn’t work:
- Sometimes pytesseract recognises an “a” for what should be a “4”. Despite all the strong typing, the new version doesn’t catch those.
- I had a hard time understanding the code in this new version.
- It didn’t create unit tests or a readme.md. (But I didn’t ask for that specifically.)
I’m pretty impressed by this result. As you can see it changed a lot. Too much in fact for me to learn from it. In future attempts I will probably ask it just to change certain aspects of my code. Or ask “what would you improve first?”. Go in smaller steps, so I can still follow its logic.
Creating an astronomy monthly digest
Every month I make a podcast episode about what’s can be seen in the night sky. It contains info about what planets can be seen, the phases of the moon, things to see in the night sky with the unaided eye and things to see with binoculars or a telescope.
It always takes me an hour or 2 to compile this from several books, magazines and websites. It would be a nice candidate for automation maybe?
For this I went all in with a big prompt. Probably too big.
Claude Code with Claude Sonnet 3.5
My prompt was as follows:
Here is what I want you to create. For my astronomy podcast I need an overview of things people can see in the night sky in the next month. It should have the following topics:
1. What planets are visible. What planets are not visible. Include Uranus and Neptune.
2. The phases of the moon.
3. Things to see with the unaided eye. Like conjunctions of the moon and planets or the moon and bright stars.
4. Things to see with a binocular or telescope. Like clair obscur effects on the moon. Interesting conjunctions of the planets with certain bright star clusters or other things of note.
5. A separate overview of the Galilean moons of Jupiter. Include transits of the moons and their shadows. Leave this section out if Jupiter is hard to view.
6. A separate overview of the moon Titan of Saturn. Include transits of the moons and their shadows. Leave this section out if Saturn is hard to view.
7. Any upcoming planetary spaceflights, like launches, landings or flybys.
The output should be a nice PDF file.
Create this in Python with its own virtual environment in uv.
I forgot to tell it should be made for observers in the Netherlands.
But anyway, Claude Code got to work.
What it did it do?
- It created separate modules for visible planets, phases of the moon, naked eye astronomical events, events visible by binoculars or telescope and the moons of Jupiter and Saturn.
- For getting spaceflight events, it used BeautifulSoup4 apparently to scrape this info from somewhere.
- It created code to generate a PDF with the astronomy digest.
What did work?
- After some in between rewrites by Claude Code to solve errors, there was a working project that created an astronomy digest in the form I requested.
- It even had a graph with moon illumination over the next period.
- It correctly identified that Mars would pass the Beehive Cluster (M44) at the beginning of May.
- It had correctly identified interesting features to see on the moon, like “The Golden Handle”.
- It added deep sky objects to see, even though I didn’t needed those.
- It had one upcoming launch of a space mission.
- It created example output for Amsterdam and New York. The location can be entered as argument of the main.py file.
What didn’t work?
- The next month was interpreted as “06 May 2025 to 05 June 2025”, not “June 2025”.
- According to the digest only Mars would be visible. That is not true.

- Upcoming spaceflight events were scraped from somewhere and hardcoded in the space_mission.py file. So events will get outdated and the code will run out of events next year.
- The description of events was not wrapped in the PDF and therefor not readable.

Not quite what I was hoping for, but impressive that Claude Code got this far. Halfway through it ran out of free tokens or whatnot. And the total cost of this exercise was $2.70.
VSCode with Roo Code and claude-3-haiku-20240307
I done this during a Pizza and Vibe Coding session at DIKW Intelligence last May 7th. My colleagues demonstrated how to use VSCode with Roo Code and we had an API key with some money on it.
Following my colleagues example, I first ran in orchestrator mode and asked it to create a project plan first. This was my prompt for that:
Make a plan in markdown named waarneemgids.md for the following:
This needs to be a Python project with its own virtual environment in uv.
For my astronomy podcast I need an overview of things people can see in the night sky in the June 2025 from Utrecht, Netherlands. This should include things to see in the whole night from sun down to sunset.
It should have the following topics:
1. What planets are visible. What planets are not visible. Include Uranus and Neptune.
2. The phases of the moon.
3. Things to see with the unaided eye. Like conjunctions of the moon and planets or the moon and bright stars.
4. Things to see with a binocular or telescope. Like clair obscur effects on the moon. Interesting conjunctions of the planets with certain bright star clusters or other things of note.
5. A separate overview of the Galilean moons of Jupiter. Include transits of the moons and their shadows. Leave this section out if Jupiter is hard to view.
6. A separate overview of the moon Titan of Saturn. Include transits of the moons and their shadows. Leave this section out if Saturn is hard to view.
7. Any upcoming planetary spaceflights, like launches, landings or flybys.
The output should be a nice PDF file.
As you can see, I learned from my earlier attempt with Claude Code and made the prompt a bit more specific. I just asked it to create a digest for the next full month, and asked to create it for a specific location.
What did it do?
- Instead of creating a project plan in markdown, it created the astronomy digest in markdown.
- It said that all planets except Uranus and Neptune would be visible to the naked eye. Generally that’s true, but not in June 2025.
- It explained what phases of the moon exist. Instead of telling what date the phases of the moon would be visible.
- And the rest was also pretty generic.
I can be brief here. It did create a virtual environment in uv, but never created a Python project structure.
I will probably try this again, but in smaller steps. Just start with a list of visible planets. Then add phases of the moon. And so on. Also I think I’ll ask it to make a Streamlit application for it with a calendar to select the month, instead of generating a PDF.
Conclusions
Some people expect that AI solutions should be entirely perfect and if they are not, they have failed. But I can see this only improving.
Take the Kafka exercise. It didn’t work for sure. Not looking at the incoming data structure was a mistake. But guess what? Claude Code just had an update and it can now look things up on the internet (providing I will approve). Claude Code took a lot of work from me, before I started fixing it. For me that’s still a plus.
I think I’ll see myself working together with agentic AI solutions in the future, providing this is allowed at my future work sites. Do I still need to check its work? Definitely! Will it speed up my development and allow me to do more ambitious projects? Also definitely.