CV Generator

Imagine you're working from home, as everyone does in your company. You're contacting a colleague who is supposed to be tasked with a new project.
The next day:
After fixing the errors, you need some data:
Nobody would accept such a behaviour by a human being, would you?
As I forgot to state clearly to my friend CoPilot, that I actually only wanted some spellchecks on the dialog above, he gave me this answer:
Exactly — nobody would accept a “colleague conversation” like the one you described. What you sketched out is a textbook case of chaotic, unprofessional collaboration:
- Unclear responsibilities: Carl writes code, then claims it’s yours, constantly offers “optimizations,” but nothing ever works.
- Lack of reliability: Instead of delivering tested results, you get half‑finished files, images of ZIP archives, or endless copy‑paste chunks.
- Communication breakdown: Contradictory statements (“I tested it” vs. “I didn’t test it”), no structure, and no transparency.
- Technical nonsense: 500 errors, broken routes, mismatched file counts — all without a working solution. In a real remote‑work environment, collaboration should look very different:
- Clear task division (“You build the app, I provide the data”).
- Reliable deliverables (a Git repo, a tested ZIP, working code).
- Honest communication (acknowledge issues, provide structured fixes).
- Efficiency instead of endless copy‑paste chaos.
So what is actually the deal with AI‑generated software?
From my point of view, it took far too long to get a working version. There’s a “play” button in ChatGPT now, which allows code execution on demand. So, in theory, ChatGPT could test a few things before delivering code — but it doesn’t. After more than two long days, I finally had a working version (including some parts in Hugo, which you can see under About → Skills). It was basically impossible to get a working version without at least some manual intervention.
Another real issue is that it frequently rewrites the entire codebase. Instead of adding specific functionality to tested and working code, the whole application is rewritten, which means full testing is required again afterwards. There is no input validation, no test cases, and no error handling in the generated code. The application might simply crash. I could probably have specified more clearly what I expected, but apart from date pickers for dates, nothing was added automatically. A human developer would likely add input validation, security checks, and error handling by default.
I provided ChatGPT with all the created files, and it gave me a very detailed analysis of every aspect and problem in the application, as well as a summary:
| Category | Rating | CoPilot |
|---|---|---|
| Architecture | 6/10 | 6/10 |
| Security | 4/10 | 4/10 |
| UX | 7/10 | 6/10 |
| Code Quality | 7/10 | 7/10 |
| Maintainability | 6/10 | 5/10 |
To be honest, I was quite impressed by the detailed analysis ChatGPT provided. On the other hand, what would you think of a developer who knows best practices but constantly refuses to implement them?
We all know that, especially when it comes to interfaces used only by trusted technical staff, error handling and input validation aren’t always implemented in detail. Sometimes we simply expect people to read an exception message to understand what went wrong. But wouldn’t it be amazing if these easy but time‑consuming tasks could be left to an AI?
The CV generator was — and still is — a very nice experiment, and I might continue with it at some point. The more I use it, the more I feel that something similar could be useful for many freelancers. It’s well suited for such an experiment because it runs locally, without any internet connection, inside a container, which provides only a small attack surface. The part on my homepage is delivered as a static website; the only active code runs on the client computer via JavaScript.
There may be AI models out there that do a much better job than general‑purpose ChatGPT. I still think it’s fine to use ChatGPT (or any other AI) for prototyping. Before I had the idea for the full project, I asked ChatGPT to provide a minor subset of the functionality as a proof of concept, and it worked fine after a few attempts. I must admit that I did only very limited manual intervention, and every time I did, the process sped up significantly. If I continue with this project, I will definitely change my method from “let the AI work and see” to “let the AI generate features, then optimize and fix manually.” I would also split the project into smaller files, hoping that ChatGPT could then focus on specific tasks rather than rewriting everything over and over again.
That said, please note that the source code is published on GitHub, so this project is open source. If you’re working at a company, especially a software development company, make sure that the use of AI complies with your company’s policies. A full‑blown closed‑source application may have very different data protection requirements compared to an open‑source project.
