logoalt Hacker News

Ask HN: Client took over development by vibe coding. What to do?

19 pointsby piscatortoday at 11:09 AM17 commentsview on HN

I’ve worked on a project for one year now, a marketplace web application for one of my clients. It involves a web shop frontend, integration with suppliers, payment platforms, product management, stock syncing, and much more. I built the project from scratch with open source components, guided other developers on the project, and was leading all the technical decisions.

Last year I started using LLM’s for cumbersome tasks, and since the beginning of this year I started working with Claude Code to implement features. Still, I always need to think about the implementation, and actively direct and correct the bot. As many of you will know, it can speed up development, but I still need to use my more than ten years of experience as a developer. I thought the project for my client would be safe.

This changed when they started developing some of their own, much smaller and simpler projects on an AI-powered no-code platform. They immediately concluded this also must be applied to the marketplace project that will run their core business. I tried to convince them with good arguments that this wouldn’t be a good idea, but failed. Since I am not the owner of the code, and don’t want to be a gatekeeper, I instructed them how to participate in the development with their coding agents.

The additions they made to the codebase in only a week are huge, around 10,000 lines of code. To be honest, most of the features they introduced are functional, but the performance of the application has suffered already. What I am most concerned about is the maintainability of the project and how we will get this live. Before, I had a clear mental model of how everything was built, and I added human readable documentation where needed. They still want me to participate in the project and work on the most critical parts of the application, DevOps and other parts they and their coding agents will not succeed in themselves.

It seems some people are possessed by the promises of AI-tools, and do not have a clear mind anymore.

I’ve lost all joy in the project, but from a professional perspective it might be too soon to abandon it completely. I’m curious what I can do in this situation, or what I could have done differently. Are there more people whose work on a project has been taken away by AI bots?


Comments

rulesmentoday at 1:38 PM

You’re not responsible for code you haven’t pushed. This seems like a bad client that not only wants to push code cheaply but plus wants you to be responsible for it. Charge extra. Your value is not in generating code but the accountability of the code you generate and verify.

pxtailtoday at 12:31 PM

> Are there more people whose work on a project has been taken away by AI bots?

Of course, what worked me and what allows me to keep my sanity in my case of project owner coming in and remodeling half of the codebase over the weekend with CC is that I mentally ceded "ownership" of the project code, that is, I'm no longer feeling that I'm responsible for what is there and how it is structured. And there are tests.

Apart from that I can say that I empathize with you because I know that initially it feels awful, like loosing some part of agency and also to some degree humiliating when looking that something carefully and meticulously designed is restructured, replaced or thrown away so quickly and carelessly. What also helps is changing mental model and perceiving oneself as controller who overviews process of "shaping" code as whole, in its big mass, to behave in certain way instead of keeping mentally attached to some part of it because "I designed it".

jatinstoday at 1:15 PM

Here's one way to approach this: Imagine you work for a giant company where humans would push 10k lines of code per week. In a codebase like that there's no expectation that you'd understand everything. However, there is an expectation that teams contributing code will "own" it.

So if the client is contributing you should ask them if they are okay for long term maintenance and fixes of new code they are adding. If not, then maybe you should discuss pricing changes because now you are effectively maintaining code written by them which requires different set of skills and arguably higher cognitive overhead.

Poogetoday at 12:10 PM

Why does the client have pushing rights to the repository? I would suggest working by pull request and approve all changes that they make. That's what you would do if you were working in a team.

If you work in a bigger structure, surely there is a product manager that can limit the scope of the project.

I would suggest to the client to develop their own tools that are to be supported by them exclusively while you continue supporting the "official" tools.

show 1 reply
HyprMusictoday at 12:37 PM

"Are there more people whose work on a project has been taken away by AI bots?"

Yes. I've had 2 clients do similar to what you described, so I have stopped working with them completely (one of them subsequently deleted their production database).

Another agreed for me to do an audit where I found severe vulnerabilities, including anyone having admin access, being able to set their own price during checkout, leaking PII etc.

Another is doing an AI in business course and wants to recreate their app using "N8N and ChatGBT". Thankfully, they have heeded my warnings - for now.

I've worked for some of these clients for over a decade, so I have a very low tolerance if they chose not to trust my professional opinion.

embedding-shapetoday at 12:54 PM

> I’ve worked on a project for one year now

> What I am most concerned about is the maintainability of the project and how we will get this live.

I'm not sure if it's something that got "lost in translation" or whatever, but are you really saying this project has been under development for more than a year, yet no one attempted to deploy this to a live environment yet? If so, it's understandable you're concerned about it. A lot of the times when I jump on projects that got stuck in development hell in order to unblock them, this is a huge thing that gets in the way for teams. My approach usually is to focus on getting the whole "Know we want a change -> Implement change -> Deploy to test -> Testing -> Deploy to Production" process down first, before anything else, together with practicing at least one rollback.

It really ties into everything you do when working on a project, as this process itself basically decides how confident you can be about changes, and how confident you can be about that some bad changes can easily be rolled back even in production.

Besides that, having non-technical people trying to contribute to a technical project, is a great way for those people to unintentionally damage how well technical people can actually work on the project. I think, explaining to them exactly what you said here, that it isn't feasible long-term, that it's hard for you to have a clear mental model if they're just chucking 10K PRs at you and that you need to understand the code you deploy, should be enough to convince them. If it doesn't, you might want to ask yourself if that's the kind of environment you want to work in anyways.

show 1 reply
ghm2199today at 12:47 PM

I feel for you. Its probably saddening to see quality degrade over time.

I would say this is a values mismatch, if the client does not care about prioritizing technical debt(no matter how it got created) and that is leading to too much mental angst, I would recommend leaving the project. But before you make that decision, think about what you said

"They still want me to participate in the project and work on the most critical parts of the application"

I think in this new world, the job of software engineering is to identify where AI could be used to provide the highest levers to the most important people in the client's team to make decisions. For example, can AI be used to identify problems quickly and troubleshoot them? Can it be used to provide APIs or with better observability(e.g. quantify that the system performance coming down is not sustainable)?

Another thing that is weird about this is the human aspect. Specifically role of the product manager. Ideally he should be someone who is experienced enough and acts as a moderator between what code/features go in and what don't. The client always wants the moon and a good PM's other real job is to manage this friction. Is he not able to push back? He is also the one that is looking at the project timeline and making such decisions. If that role is not being played by someone, then something is obviously wrong with the relationship.

I've had project that tried a similar thing, they tried to replace their team with cheaper coders. They went slower because of code slop and their product failed to launch on time and be successful.

show 1 reply
hu3today at 12:11 PM

Since you'll have to babysit and fix their slop now I would at least 2x my rate.

But realistically this will bring you so much bitterness that, even if the money is good, you might want to search for your next client or a "normal" dev job while working for this client.

show 1 reply
Dumblydorrtoday at 12:10 PM

You’re collaborating in multiple ways more than you anticipated. What would you do if they brought in another dev to work on it independently?

If you see failure in the projects future due to this, make sure you establish your limits and boundaries and obligations clearly in writing. Don’t get officially saddled with their slop.

show 2 replies
rinzetoday at 12:22 PM

Clients are learning to open doors^W^Wwrite slop themselves. Cheaper, same pile of shit at the end of the process.

41oqutoday at 12:37 PM

- Tell them that Claude selects schools for targets.

- Hope that Anthropic's data center is in Qatar.

- Tell them that the core business code needs to be secret and cannot be leaked to Anthropic.

I mean, what do you expect? I assume that you told them that you used the clanker initially, so they thought: We can do this ourselves, let us slowly get rid of him.

Moral: Do not use clankers.

vibestackdevtoday at 11:10 AM

[dead]