America/New_York
Blog
/
Start a Project
Available nowChat with me
Posts

The Agency Problem: What Happens After You Pay the Deposit

May 22, 2026
A business owner in Miami, a restaurant in Brickell, if you want the detail, paid a web agency $3,500 to build their site. Half upfront, half on delivery. They got a kickoff call, a timeline, and a mood board. Then the timeline slipped. Then the account manager stopped responding same-day. Then they stopped responding at all. After four months, there was no website. There was no refund. There was a contract that said the agency wasn't liable for delays caused by "client revisions", revisions they had never actually requested. They came to me to start from scratch. They didn't have an extra $3,500. They had half that, and a story I've now heard more than a few times. This isn't a one-off bad actor. It's a structural problem with how agencies work. And once you understand the structure, the failure stops being surprising. The 50% upfront model exists because agencies need cash flow. They're running payroll, overhead, and multiple projects simultaneously. The deposit is how they stay solvent between invoices. That's not inherently wrong. But it creates a dynamic you should understand before you sign. Once a deposit is collected, the financial pressure to finish your project is significantly reduced. The money you've already paid isn't going anywhere, it's already working its way through their operating costs. What motivates an agency to prioritize your project over the seventeen others in the queue? Mostly: the other half of your invoice. And maybe their reputation, if you're in a position to affect it. The problem is that the urgency you feel about your website, you need it for a launch, a season, a rebrand, doesn't transfer to them. You have one project that matters enormously. They have many projects, each of which matters somewhat. The math doesn't work in your favor. A freelancer's situation is different in a specific way: every project is a reference. There's no volume to absorb a bad outcome. Finishing your project well isn't just about collecting the second payment, it's about whether you'll recommend them to anyone. That asymmetry changes the incentive. When you work with an agency, you don't have a relationship with the agency. You have a relationship with an account manager who has a relationship with a project manager who assigns work to a developer who reports to a creative director who runs status updates with the account team. That's not cynicism. That's the org chart. The problem with this structure is that nobody fully owns your project. Each person in the chain handles their piece and passes it along. When something goes wrong, and something always needs adjusting, each person can point to the handoff before theirs. The account manager didn't know the developer interpreted it that way. The developer was working off the brief they were given. The brief came from a call they weren't on. There's also a practical communication problem. You can't call the person building your site. You call the account manager, who creates a ticket, which goes into a queue, which the developer gets to after finishing what they're currently working on. By the time your question becomes an answer, a week has passed and the context has changed. A freelancer is the account manager, the project manager, and the developer. When you have a question, you ask the person who knows the answer. When something needs to change, it changes in a conversation, not a ticket. This is the one that surprises people most when I explain it. The person you met in the pitch, polished, experienced, clearly understands your business, is usually a senior account executive or a sales lead. They're good at what they do. They ask smart questions, they understand your industry, they make you feel understood. That's their job. The person building your website is probably a junior developer, or a mid-level developer working across several projects, or in some cases an outsourced team in a different time zone. The senior talent you saw in the presentation is overseeing multiple engagements. They're not writing your code. This isn't fraud. It's how agencies scale. The economics require it, you can't staff every project with senior people at the rates clients will pay. But the gap between the person who promised and the person who delivers is real, and it shows up in the work. The promises made in the sales process don't always survive the handoff to the build team. That nuanced thing you explained about how your customers tend to search for you? It was in the call notes. The developer got a brief. Those aren't the same thing. When you hire a freelancer, the person who listened to you is the person building for you. There's no translation layer. What you said is what they remember. Most agencies deliver a project, collect the final payment, and consider the engagement closed. Anything after that is either covered by a maintenance retainer or classified as a change request. The issue is that "change request" gets defined very broadly once the invoice is paid. You ask for the phone number in the footer to be updated. That's a change order. You notice the contact form is sending to an old email address. Change order. The mobile menu doesn't close when you tap outside it. Depending on how the contract is written, that might be a bug fix, or it might be scope. This happens because agencies use contracts that define deliverables narrowly, and because there's no single person with both the authority and the motivation to just fix it. The account manager doesn't want to open a scope dispute. The developer is on another project. The process grinds. With a freelancer, post-launch support tends to work differently, not because of charity, but because the relationship is ongoing and their reputation is on the line every time you interact with your site. Fixing a small thing after launch isn't a negotiation; it's how you maintain a working relationship with someone you might hire again. If an agency fails to deliver, delays the project for months, delivers something broken, or stops communicating entirely, what are your options? Legally, not many good ones. Agency contracts are written by people who do this for a living. They define force majeure broadly, limit liability to the contract amount, and specify arbitration clauses that make small disputes expensive to pursue. Getting your deposit back after a failure requires either a lawyer or a credit card dispute, and even then the outcome is uncertain. Agencies can absorb a failed project. It's bad for their reputation, but it doesn't sink them. They have other clients, other revenue, and enough institutional inertia to keep operating while your dispute works its way through whatever process you've triggered. A freelancer's situation is completely different. Their reputation is their entire business. A single client who had a genuinely bad experience, who calls contacts, who leaves a review, who tells other business owners, can have a significant impact. This isn't just theory. It's why most freelancers will bend over backward to resolve a problem before it becomes one. The cost of a bad outcome is asymmetric in a way that works in your favor. I'm going to describe what a direct freelance engagement typically looks like, because the contrast is useful. You have one number. One email. When something is wrong with your site, a plugin stopped working, a form broke, the page is loading slowly, you send a message and the person who built the site responds. Not a ticket system. Not an account manager who has to figure out what you mean before looping in the right person. The person who knows your site. That same person knows your hosting setup, your integrations, your codebase, why certain decisions were made. There's no institutional knowledge gap because there's no institution. There's just one person who has worked on your project since day one. Decisions happen in a conversation. "Can we add a gallery to this page?" takes a real answer in real time, not a scoped estimate that goes through three internal reviews before coming back to you two weeks later. This doesn't mean every freelancer is great. It means the accountability structure is fundamentally different, and for a business website, that difference matters more than most people realize before they've experienced both. None of this means agencies are always the wrong call. Large organizations with complex internal requirements, large budgets, and dedicated internal stakeholders to manage the relationship can make an agency engagement work. There are good agencies, and there are clients who are well-suited to that kind of structured process. But for a small or medium-sized business hiring someone to build or rebuild their website, the agency model carries real risk that isn't obvious from the outside. The deposit structure, the staffing model, the communication chain, the post-launch support gap, these aren't aberrations. They're how the model works. The question worth asking before you sign anything: What happens if this goes wrong? Who do I call, and what leverage do I actually have? If the answer requires reading a contract carefully, you're in a different kind of relationship than you might think. If you've had a bad experience with an agency, or you're in the process of evaluating your options and want an honest conversation about what your project actually needs, message me on WhatsApp. I'm happy to talk through it, no pitch required.
On this page