Never let the client dictate the how. Focus on outcomes.

It sounds like this was a tough person to work with. I've been a consultant (independent and on behalf of larger enterprise vendors) for some 20 years. After reading your story, that's my strongest piece of advice to you.

Would you tell the carpenter renovating your house what technique he should use at his tablesaw? Try it and see how long it takes before he walks off the job.

"I began to explain the methodology we like, that I personally as well as most of the software industry believes in; minimum viable project. In essence... "

Your shop uses MVP, tell them that's how you'll deliver. Don't get technical. Just "we'll start with a small prototype to get something in your hands quickly, then fill in the features from there".

"Whoa! The sketches have suddenly become a specification. Inconsistencies and all."

Good on you for recognizing what happened. When you realized the PowerPoint became a defective spec, you needed to go back to the client and make them fix it before you accepted it. "Sorry, what you've sketched for this room can't be built."

That's part of your job. It's clear you have a lot of professional pride - don't be an architect who allows construction to begin knowing the rafters will crash down on someone's head.

I carefully explained all my suggestions and backed them up with UI conventions, implementation details and code reuse.

Readiness to explain your recommendations is an asset. Unfortunately this time you were speaking into a black hole. I'm sure by this point you saw the pattern in your working relationship with the customer - the more detail you expose, the more control over it they try to exert. With this guy in particular, you need to actively avoid that trap, and project strong signals as to what is and is not in his purview. Clearly the client was invested. A really talented PM will steer that energy to where it's useful (or at least someplace less destructive).

Again, avoid diving into nitty gritty implementation details and talking about things like "code reuse" with the client. You're not selling them a methodology, you're selling them a product.

I hate to say it, but ultimately I think you needed to "alpha up". It's clear you were intimidated by this guy. He's big, strong, powerful, older and bull-headed. If you met him and his clan in a tribal woods setting it would make sense to submit. But in a software development setting, you're the authority. Act like it. You're not a junior fellow. You have good judgement, a wealth experience and a strong sense of what works and what doesn't. BE the expert the client is paying you to be. Be opinionated on the stuff you know. Flex that opinion, and don't be afraid to tell a client "that won't work, here's why". It's good you want to make them happy, but that doesn't mean blindly doing everything they ask. A customer relationship is just like any other, and it's normal for some frustration and conflict to develop along the way. Don't be afraid to exercise your professional judgement and take charge.

Work on projecting confidence. You don't even have to pretend - confidence can come from experience, and this project was a formidable teacher. Draw on this well next time you need to convince yourself to be more assertive.

There's a comment elsewhere on this page suggesting 'the problem is the relative social status between the client and Geon' and you mentioned your 'suggestions were so completely disregarded. There was no motivation, or reasoning given. Just "no, do it my way"'. It's also been proposed this wouldn't happen to a doctor or cardiologist.

I think software developers tend to be more reserved individuals; there's even this colloquial stereotype they're what became of the "wimps" you knew from childhood. Behind that cautious demeanor may be someone who really knows their stuff. If doctors don't have to deal with condescension as often, one reason is they don't put up with it. Mine would probably tell me firmly "Decide as you will, but I'm the expert and I'm telling you X is a problem, you need to do Y, and if you don't, Z will happen." They'll also refuse to prescribe or perform a procedure they feel is plainly not in the interest of the patient.

Please don't take the advice of your coworker to stop caring. Rather, care enough to push back. Hopefully you work for a company that will support you. If I was your CEO I'd put someone with grey hair on the project to help stick-handle this client, and if that didn't work I'd intervene personally to clarify the roles (which we tend to set out clearly in our contracts).