I've working on a small side project with a non technical friend for a couple months. It's really small but we are selling it to some clients.
The other day my friend discovered lovable and vibe coded an entire app and he started feeling like I was scamming him. Why would I take weeks or months in building our app if he could do it on hours?
He might be stubborn but ended up blindly believing me, but I couldn't find a good way of explaining that a prototype wasn't a final product. It has lots of errors, doesn't consider edge cases and it's impossible to fix if something breaks. Of course what I said didn't mean much because he didn't understand what I was talking about.
How do you communicate this problem? That there's much more than what you see in a frontend? Seems really hard to explain to non technical people.
Show it. Pick a missed edge case or breaking point in his app and demonstrate the pain the customer is going to encounter. You don't have to live in the realm of hypotheticals. He has given you a concrete, but flawed, implementation that offers proof of your message.
You are convincing me of it too. It is clear that your friend still needs your system thinking to point out edge cases and whatnot, but if you applied that by spending a couple of days adding a test suite to provide the missing validation, it seems like together you could have a pretty robust product built in less than a week. What justifies a couple of months?
I think the point is that those are the clients you don't want, so you encourage them to select themselves out of working with you. The fact that it might be bad for their own business is not relevant to you as a consultant.
I think it's normal for non-technical people to have no idea of how things work and of what to expect. It's our responsibility to communicate. And, within reason, theirs to listen.
The other day my friend discovered lovable and vibe coded an entire app and he started feeling like I was scamming him. Why would I take weeks or months in building our app if he could do it on hours?
He might be stubborn but ended up blindly believing me, but I couldn't find a good way of explaining that a prototype wasn't a final product. It has lots of errors, doesn't consider edge cases and it's impossible to fix if something breaks. Of course what I said didn't mean much because he didn't understand what I was talking about.
How do you communicate this problem? That there's much more than what you see in a frontend? Seems really hard to explain to non technical people.