Ian Mulvany

September 16, 2025

Notes on vibe coding 2 - it can make some amazing mistakes.

Over the summer I was trying to figure out how to share a small flask app that I built. I wanted some colleges to see it, but it was sitting on my hard drive. I had an idea - maybe I could convert this local python app into an Atom app? This would allow my colleagues to efficiently run it as a desktop app. The app has some screens that contain company sensitive information, so posting it through something like Claude as an artifact was not going to work. An Atom app would work as a local desktop app.

The week that I was thinking about this GPT-5 was launched, so I decided to see if GPT-5 would be up to the job. My setup is to use access to GPT-5 via cursor, an AI enabled clone of VS Code. When I started using cursor I mainly used the inline code suggestions and found the agent panel a little odd, but my experiences with claude code has inured me to this way of cutting code. I get an inaccurate sense of control in cursor by seeing my code on the left and the narrative of the agent churning away on the right, and I have to say GPT-5 is a beast, it it relentless in trying to make things work. For a week it was flying through mini projects that I set it, but this task proved a step too far.
 
I spent about a day on it, in the end it didn't work. It did get further than I had initially thought possible. It create an Atom app that displayed the front end of what I had built. Unfortunately the front end never connected through to the backend.  The response from GTP-5 when I showed it what was going on was hilarious. It ended up spawning an unending number of python processes in the background:


 
Pasted Graphic 1.png


When I showed this to GPT-5 it responded:


Pasted Graphic 2.png


Wow there are hundreds of Python processes running! This is a major issue

No shit! 

I loved that, GPT surprised itself. It was an almost human response. 

GPT went on to tackle this problem and ended up confidently told me that it had fixed all the problems, and that the app was not fully functioning. Dear reader, it had not in fact created a working app. 

In the end with a slight modification I got the app deployed on Vercel with appropriate access controls, so I still managed to achieve the goal I was looking for, but it was so interesting to see it fail so spectacularly. 

About Ian Mulvany

Hi, I'm Ian - I work on academic publishing systems. You can find out more about me at mulvany.net. I'm always interested in engaging with folk on these topics, if you have made your way here don't hesitate to reach out if there is anything you want to share, discuss, or ask for help with!