Vibe Coding for Existential Dread and Bankrupcy
Vibe coding has taken the world by storm, and I’ve realized that I am behind. Now I'm correcting that mistake. I started with a tiny project and chat, racing against the AI. Then I’ve extended it with boilerplate. Other experiments included a snake game and a simple flask to do list app. All sources are in my public GitHub.
What all of these attempts had in common was that they are not production ready. You still need to think about edge cases, security, scaling and other nerdy issues. Or don’t, and wake up to your app being hacked or your cloud bills draining your credit card.
Since I’ve now properly acknowledged AI existence and capabilities, my mind started spiraling into all of the black scenarios: disruption of tech careers, future of knowledge based work, my role in society and so on.
In the end, I’ve attempted a hopeful (or at least not as bleak) conclusion, I’ll let you be the judge if I succeeded.
The sections interleave in a chronological order as I’ve vibed through this topic. And there’s a metal playlist attached too!
I got finally prompted into action when I saw an older gentleman on the train. Neatly dressed and shaven, I fully expected him to spend his time in Outlook and Word. Nope, he jumped straight into MS Copilot for O365 to help him with this load. And I finally realized - it’s not just nerds and hipsters anymore, it’s everywhere. I have to get moving, I need to understand this technology properly.
First Dip Into Vibing - CLI AI Tool
Ok, so let’s try and make a small project with AI. The task is simple - I want to have a command in linux terminal to send a prompt to AI. No integrations, nothing. Just a simple “answer me this prompt.”
To compare humans and AI, I decided to time this exercise. I’ve got over two hours in the train, surely I can finish both human and AI version. I am not doing science here, so there will be no strict methodology, no repeatable process, nothing. We vibe now.
A note on the conditions. I was sitting in a train after the great BSides Prague 2025. In bullet points:
In the train:
Notebook without any peripherals,
Wi-fi that’s erratic and slow,
Noisy travellers and train messages.
My condition:
6 hours of sleep (which is 50% more than anticipated),
Baguette instead of proper lunch due to timing issues, but very fitting when working with French models,
Coca-cola zero instead of espresso made from high-quality locally-roasted coffee,
Vibing with the Spotify’s Women of Metal playlist.
Let’s get into it and start the clock.
Human approach in 11.5 minutes
Starting with Diamante’s 1987, I am pulling all my tricks. Firing up my trusty cookiecutter template in the background, I’ve looked into the Mistral docs. They have a Python SDK, lovely.
Generate API key, put it into env var, read that env var. From cookiecutter I have some code to work well with both the stdin, redirects, files so let’s just use that.
Since I want to have it as smooth as possible I just grabbed sys.argv and joined it together, those are all of the command arguments in one swoop. Done:
Admittedly, it’s not my best work, but it’s done and working in 11 minutes and 25 seconds. Tests? Docs? What are those? Packages and integrations? Maybe later.
AI Approach in 33 minutes
We’ve moved on to Tetrarch - Parasite (so far my favourite new find). Since I know what I want, I can ask for it directly:
please generate a python click script for calling mistral ai, all cli arguments should be the input and the output should be prompt response to that specified prompt
And of course we have a security issue right off the bat:
# Replace with your actual Mistral AI API endpoint and API key
api_endpoint = 'https://api.mistral.example.com/generate'
api_key = 'your_api_key_here'
Hard-coded keys are bad! If I didn’t know what I was doing, I would push this code on public GitHub. But then again, if I didn’t know what I was doing I wouldn’t push this code on public GitHub since I wouldn’t know what that means. In any case, I’ll plug my overview of secret detection from couple weeks back.
The points were deducted, let’s not grill the AI on this further and help him with the solution:
please generate a python click script for calling mistral ai, all cli arguments should be the input and the output should be prompt response to that specified prompt use api key from MISTRAL_AI_KEY environment variable
That one ended in an error, seems the AI chose a wrong URL:
"urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.mistralai.com', port=443): Max retries exceeded with url: /v1/generate (Caused by NameResolutionError(\"<urllib3.connection.HTTPSConnection object at 0x7fd129499be0>: Failed to resolve 'api.mistralai.com' ([Errno -2] Name or service not known)\"))"
So, the AI can’t read it’s own docs, that’s kinda obvious in hindsight. Generally, new breaking versions of APIs are where you’ll face bad things. What I dislike is the reluctance to admit it. Instead (shortened for the main points):
The error you are encountering, … indicates that your script is unable to resolve the domain name `api.mistralai.com`. This typically suggests a DNS resolution issue.:
Check Internet Connection
Check DNS Resolution
Check Hosts File
Check Proxy Settings
Try a Different DNS Server
Check API Endpoint
Retry Logic
I am vibing (this time with Svalbard - Faking it), I don’t want to debug (but I did check that the connection in the train didn’t die a horrible death), I don’t want to read the docs (but after it recommended to do so I’ve read them not to stall anymore).
So I’ve found the proper URL to call, then it failed since it can’t know the exact method, body, etc. Obviously it doesn’t know about the Python SDK. Did it admit that and asked for a help or hint or search? No - it kept producing incorrect code confidently, occasionally demanding that I read the API docs.
After some back and forth, we’ve arrived here in total of 25 minutes and 15 seconds:
While that is more than twice it took me personally, it is still pretty fast. If my coding skills were weaker and my prompting skills stronger, this could have turned in the exact opposite direction. Not to mention I didn’t use the Cursor or a top model, and so on.
But we’re not done, are we? I don’t know where the double quotes are or why should I bother with them - my original PoC didn’t include them. Trying the exact same code without them nets me an error:
python3 ai_hey_ai.py tell me a joke
Usage: ai_hey_ai.py [OPTIONS] PROMPT
Try 'ai_hey_ai.py --help' for help.
Error: Got unexpected extra arguments (me a joke)
Yes, thank you - I do feel like a joke. I prompted a fix and it came up with a really nice solution using multiple arguments from click. Just shy of 27min:
I still want to get rid of the starting python, AI figured out to use shebang, but forgot about the “no-quotes” approach. Oh well, one more trip and we have (33 min in total):
Even though Mistral AI Small can’t make original jokes, the PoC works as intended.
Second Dip - Python Package
I’ve satisfied my comparison curiosity, so from now I’ll be maximally cooperating with the AI, no timings. Only thing that matters is the result.
Now I want to have a pip installable python package. In two prompts, I had a working local package - and the second one was to recommend pyproject.toml instead of setup.py. Yes, it forgot about license, but it got the package to work.
In third prompt I’ve managed to upload the thing.
These boring technical procedures are where the AI should shine, and to me, it did. It’s remarkable how short this section is. Of course I can package the script manually. But I don’t want to and I don’t have to.
Distressed Ramblings
So, I’ve finally properly acknowledged that AI is here. This sent me into a spiral and I’ve started processing my thoughts onto paper (much like an LLM). I’ve promised existential dread in the title and it’s high time I’ve delivered. The music stops (I’ll let Conquer Divide finish, though).
Remember the gentleman from the beginning? That shook me quite well. I take great pride in my knowledge and coding skills that I’ve spent numerous hours to develop. I laughed at script kiddies with disdain, I’ve performed miracles in the eyes of non tech people. That advantage is nearly gone. Pay for copilot and you too can do whatever you can formulate into words.
The usual big question is phrased as: will AI replace programmers? I think that question is wrong. I’d ask: will AI destroy IT careers/industry as we know them? And to that, I’d say yes.
Up until recently (when the interest rates were still low, say 2021), all you had to do to secure a junior job was to pass a bootcamp or two. Now? Lol no. But how do we get new seniors then?
But I think it’s worse than that. There comes a point, when you realize that businesses hate their workers. Humans are messy, unreliable, expensive. They need rest, facilities, clean environment and other costly compromises. If employers could do without the workers, they would.
Over the course of history, we started automating the most tedious and dangerous jobs. We moved on to automate most physical tasks. That creates a problem for people born with strong hands but not much brain. In the past they were valuable members of society and now they struggle. It seems that knowledge work is headed the same way.
As an example, consider graphic designers, tech writers or QA testers. They are not having a great time. Starting with testing used to be the smoothest way to get into IT, but with this job market I can’t recommend this path anymore. I expect other fields to follow suit. Later I’ve found that Bill Gates shares this opinion, yay.
That begs the question - who is a valuable member of society in such future? A future where’s no need to study, since AI can interpret laws and try medical diagnostics.
And I am not really arguing whether AI does it well. I argue it does well enough so that desperate people (and that includes managers trying to beat Q3 costs) no longer need to pay humans for the job. Or they use AI existence as a leverage to lower the prices so much, that smart people would steer clear from these careers.
The usual argument for automation is that it’d create new, better jobs. AI will do the work, all we have to do is check and verify. Sadly, skills don’t work that way, we will lose them without practice (e.g. pilots).
Or to put it in another way - what skills the robots don’t have yet? I am thinking social skills and … I don’t know. There are jobs we don’t want to delegate to robots, mostly about care and contact. But who will pay for these?
There’s another human-only skill I forgot to mention - accountability. I don’t want a job where I take the fall whenever AI makes a mistake I did not catch. Why should AI companies take all benefits and the employees all of the risk? Not to mention, that creating looks more valuable than verifying or maintaining, even though you can’t really prove which one is more difficult (my bet would be on verifying - you still have to do the work of understanding you’re normally doing when creating and then some).
What should I do then? Improve my social skills that I’ve neglected to hone my tech skills? Gain connections with my proposed value being… what exactly? Why would people want to connect with me? Or should I just hope that my career somehow survives this?
But what do I then tell my children? That they should be extra nice to rich people, otherwise they’re doomed to poverty? Is that a viable career path? I know I am slippery sloping hard here, but what knowledge or skill is immune or at least resistant? Do we have enough jobs left?
What does that say about me in the society? How can I contribute to society that doesn’t want my muscle nor my brain because machines can do it cheaper? Can we create enough value by social skills? And even if we can, why should that value be shared with everyone rather than a few selected people at the top? Are we going to appeal to morality of CEOs? Don’t make me laugh.
I don’t have the answers. I’m just vibing. But damn, these vibes are off.
Intermezzo - Proper setup
Let’s get out by this hole by doing something, anything at all really. It’s no use thinking about impeding doom and wallowing in anxiety.
I don’t have cursor or other paid IDE, but I do have Neovim + CodeCompanion. This took some time to setup. I’d say that the result is pretty damn good, check out the previous article for details.
Third dip - Vibing at pyvo.cz
In Czech republic, we have these semi formal gatherings for python enthusiasts called pyvo.cz (combination of python and pivo (beer)). In my city, Olomouc, they are very informal and small. Since Kuba Beránek had a talk prepared about modern tooling, I wanted to showcase the setup for AI as a follow-up.
In a true vibing fashion, I’ve prepared nothing else. Let’s just vibe together. Every tech speaker knows the stress of live programming. I’ve transferred this stress to AI.
Snake game, working in one shot
To our amazement, it one-shot a working version of snake. The colors were ugly (I’ve changed them manually), the controls are janky (if you press the keys to do an U-turn too quickly, you would do a 180 to crash into your neck - see below), but it worked. Source code is in the repository.
To-do List Flask App
We’ve also tried a simple todo-list web-app in flask. It required some back and forth, but it managed to coordinate flask, jinja, html templates and sqlite.
What I’ve found particularly remarkable was adding bulma.css for prettier colors and style. Sure, no designer awards will be won, but the result doesn’t offend me:
The AI also succeeded in adding user, login, registrations, etc. I was surprised to see it working. I was also surprised to see that it stored the passwords in plaintext. Come on, I think we’ve collectively wrote way too many articles on the topic for AI to learn from.
Of course, it has plenty more issues - no email verification, password policies, no authorization out of the box (all notes are shared between users - this might be a requirement! Think JIRA).
It’s nowhere near a finished product and I’d still need to invest a lot of thought to improve it into one. That being said, I’d say this would get me going - I could test ideas and prototypes without being limited by my technical knowledge. Sure, the parts where I am weak will stay weak, but they might be functional at least. I think this summarizes the deal well.
Bankruptcy Vibes
The experiments are fine and pretty, but none of these “products” are in production. And I wouldn’t dare publish them as such. None of these products had to work with users. I’ve never used AI code in prod. But other people did.
Cursor, the fully AI integrated IDE, the darling of vibe coders, has some issues - deleting the project or itself. Couple days ago there was some uproar about hallucinating a concurrent usage policy (license for a single device only) which upset some users. This is what happens when you let AI change files (and leave it in charge of user support).
There are engineering issues, neatly summarized in these two tweets:
And oh, the security issues! The hackers have a field day with vibe coded apps. Surprise surprise, the defenses are not strong enough if you don’t specify them in an exhaustive detail.
And the story doesn’t end there for security. Injecting instructions with invisible Unicode to hijack AI though process and actions is something new. In a similar vein, the MCP servers suffer too (I think that might be my focus for the next part).
I’ve also discovered my new favourite word:
slopsquatting (noun, gerund): registering packages and domains that are hallucinated by AI (and loading them with malicious code).
There are people that bought into the AI promises and they are being punished. Sometimes they are able to recover their costs back. The threat of bankruptcy is there and the evidence of profit is nowhere to be found.
It’s Not The End of The World
Now that my worries are out of the system and I’ve taken some serious rest, let’s try it again.



I guess I’ll be learning me some AI now. I hope my career doesn’t fall apart in an instant for no reason that I can influence. The same can be said about life itself too. One moment you are here, the next.. not so much. Maybe the difference is that I was feeling better with a false sense of control and stability.
As for the future careers, there are a couple jobs combining knowledge and care (doctors) or knowledge and accountability (lawyers). I think these will be the knowledge-man careers once again. History agrees, my mom approves too, so I am sure there’s nothing to worry about.
Not all news are created equal. Realize what are the incentives of the AI pushers:
Companies training models claiming subscription to them can save the businesses millions?
GPU companies claiming AI is the future?
Startup investors telling people they don’t need to pay programmers to take-off?
CEOs and managers wanting chatbots instead of human customer support?
And there are still programmers, you know? Yes, there were layoffs, yes, it’s not as easy anymore. In a sense that’s a good thing. Were we really thinking that all you have to do to have a comfortable life was to print “Hello, World!” to a console? Colleagues, let’s realize we were in a skills bubble. The pendulum is swinging back with vigour, sure, but it might return back to a more stable state eventually.
I also suspect that in a sense, we’re done building. We’ve established and matured operating systems, CRMs, social networks, office software, shopping solutions, CMSes, Authx solutions, public cloud and plenty more. There are just fewer opportunities to build something from scratch and you need a lower (and different!) headcount for maintenance.
I’ve yet to see a company producing code without any software engineers. I’ve yet to see a profitable product written entirely by AI - feel free to correct me in the comments. There are also symptoms that will surface only after some time has passed - maintenance is a swear word in Silicon Valley. For now, let’s wait and see.
As for the societal changes, rest easy knowing I don’t know what I am talking about. I think that society is messy and it always changes. Don’t tell me that after we survived famines, wars and plagues that we’ll fall apart because a machine can approximate human speech.
Yes, there might be a decline - the fundamental assumption of continued improvement to infinity was never a fundamental truth. The days tomorrow will be different, but the sun always rises.