Client Blindside: When 18 Years of Experience Wasn't Enough

⊹
Mar 7, 2025
Last week, a client interaction rattled me in a way I didn't expect. After 18 years of building software and running Dev, in, one conversation left me staring at the ceiling at 3 AM, questioning my professional worth.
We share our wins constantly. Successful launches, client testimonials, the React dashboards that reduced load times from 4.2 seconds to 0.8 seconds. But we rarely discuss the moments that make us doubt everything we've built.
The Message That Started It All
A client messaged me about the website we'd delivered for his business. We'd already completed substantial work beyond our original Next.js build, but he was upset about missing product descriptions and images. These weren't part of our agreed scope.
We typically expect clients to provide their own copy and product images. This was documented in our project agreement. When I mentioned this, his response hit hard: "Amazing, so we have a website without text and pics..."
I stayed professional. Even arranged for our team to add the content as a favor since we'd known each other for years. Instead of appreciation, I got more pushback about what should have been included from the start.
The exchange ended with: "We don't share the same opinion." That was it.
Why It Affected Me So Deeply
What surprised me wasn't the scope disagreement. It was my reaction to it. Despite handling hundreds of client relationships, this relatively minor conflict shook me.
I found myself replaying the conversation, second-guessing my communication, wondering if our processes were clear enough. Was I actually providing value? The questions spiraled.
This seemed completely disproportionate. Why would a single client interaction over a scope issue affect someone who's built web apps for UFC's sports platform and mobile apps for dozens of startups?
What This Experience Taught Me
Several uncomfortable truths emerged that other agency owners might recognize:
Experience Doesn't Shield You From Doubt
18 years of delivering TypeScript applications, Python ML systems, and Framer websites doesn't make criticism hurt less. Sometimes it hurts more because you're deeply invested in your craft.
There's something particularly stinging about pouring expertise into a project only to have its value dismissed. Two decades in, and I'm still not immune.
Scope Creep Hits Everyone
Even with detailed contracts and clear documentation, some clients will expect more than agreed. It's often not malicious. Clients don't always understand what goes into building a PostgreSQL-backed dashboard or integrating OpenAI APIs.
In this case, despite documenting deliverables clearly, the client had different expectations about who provides product content.
Personal Relationships Complicate Business
When clients are friends, professional boundaries blur quickly. I offered the extra work as a favor because of our history. But that personal connection made the pushback feel like betrayal rather than a business disagreement.
The relationship changes everything. What should have been a straightforward scope discussion became emotionally charged.
Documentation Remains Essential
Clear project records provide solid ground during disputes. Having documentation of our original scope didn't prevent this disagreement, but it gave me confidence I wasn't forgetting something crucial.
Without that documentation, I might have second-guessed myself entirely or given in, reinforcing unreasonable expectations for future projects.
Some Relationships Need to End
If a client relationship consistently undermines your confidence, it might be time to part ways. Not every client aligns with your working style. Some will never value what you bring to their React build or AWS deployment.
I'm still evaluating whether this relationship has run its course, but the experience reminded me it's an option worth considering.
The Reality We Don't Discuss
I'm sharing this because I suspect other developers and agency owners face similar moments. Our industry celebrates the successful Next.js launches and AI integrations, but rarely acknowledges the emotional challenges.
We don't talk about the self-doubt, difficult clients, or anxiety that comes with this work. Even successful agency owners who've built scalable systems for years still question everything sometimes.
The truth is these moments are normal. They're part of running a development agency, whether you're building headless Shopify storefronts with Next.js or complex AI systems.
Moving Forward
These experiences often improve our processes and make us more resilient. They force us to examine our client communication, project documentation, and business relationships.
Maybe the industry needs more honest conversations about agency life. Both the highlights and the moments that shake us. The successful deployments and the 3 AM doubt spirals.
If you've had similar experiences, you're not alone. Running a development agency can be rewarding when you see your Swift app launch successfully or your Python ML model deliver real results. But it can also be emotionally challenging in ways we rarely discuss publicly.
These moments don't diminish our expertise or the value we provide. They're simply part of the journey of building software and serving clients in an industry that's constantly evolving.
Share This Article






