A post made the rounds on LinkedIn recently. Someone built a portfolio site for a friend using Claude Code — no coding background, one day, zero cost. The comments were full of people tagging their web designers with fire emojis.
I understand the reaction. The tools are genuinely impressive, and the results look polished. For a simple static site, you can get somewhere without hiring anyone — and that's fine to say out loud.
Here's what's also true: we use AI throughout our builds. It's part of how we work. It accelerates development, helps generate boilerplate, and speeds up iteration. The difference isn't whether you use AI. It's whether you know what to do with the output — and whether you know what it missed.
What actually got built
The site in that post was a portfolio for a friend. No lead capture, no search visibility requirements, no dynamic content, no transactions. The only metric anyone cited was that it looked good. Nobody mentioned whether anyone could find it.
That's the tell. A portfolio site is about as simple as a website gets. But the moment a business needs their site to actually perform — rank in local search, generate leads, handle form submissions reliably, serve returning customers — the complexity doesn't disappear. It gets deferred until something breaks.
What never occurred to anyone to ask for
This is the real gap. It's not that non-developers can't follow instructions. It's that they don't know which questions to ask. Here's what an AI-assisted build with no developer oversight typically skips entirely.
Form validation and spam protection. A contact form with no input validation and no spam protection is an open door. No rate limiting, no honeypots, no CAPTCHA — within days of launch, you're either getting flooded with junk submissions or your form is being used as a relay for something worse. This isn't a fringe scenario. It's the first thing automated bots probe for.
SEO structure. No canonical tags invites duplicate content penalties. No XML sitemap means pages don't get indexed efficiently. No structured data means you're invisible to rich result features. No deliberate title and meta strategy means Google decides what your pages are about, not you. A portfolio for a friend doesn't need to rank. A local business competing for customers in a specific market does.
CRM integration. Most service businesses are running some kind of customer relationship management system — HubSpot, ServiceTitan, JobNimbus, Salesforce, whatever fits their trade. A website that doesn't talk to that system means leads get entered manually, follow-ups get missed, and the sales process has a gap right at the top. Wiring a contact form or booking widget into a CRM correctly means handling webhooks, mapping fields, managing authentication, and building fallback logic for when the connection fails. That's not a template feature. That's integration work.
API integration. Beyond CRM, most business websites need to connect to other external services — booking systems, payment processors, marketing platforms, review aggregators. The same principle applies: AI can generate code that looks right and behaves wrong in ways you won't catch until a customer does.
Error handling. When something goes wrong — an API call fails, a database query times out, a third-party service goes down — a well-built site handles it gracefully and logs what happened. An AI-generated codebase typically skips this entirely. No fallback states, no user-facing error messages, no logging, no alerts. Everything works fine in a demo environment. In production, silent failures mean lost form submissions, broken checkout flows, and no way to know it happened until a customer complains.
Database integration and queries. The moment you need to store or retrieve anything — appointments, orders, user data, service history — you need a database. That means schema design, query optimization, connection management, and making sure you're not accidentally exposing data you shouldn't. None of this exists in a template-pasted static build, and adding it afterward is rarely clean.
Authentication and authorization. User accounts, member portals, client dashboards, role-based access controls — these aren't features you bolt on later. They're architectural decisions that shape how the entire site is built. Getting them wrong doesn't just break functionality. It creates security exposure that can compromise your users' data.
CMS integration. A hardcoded static site means the client can't update anything without going back to the AI and hoping it doesn't break something adjacent. Real clients need to own their content — add a team member, publish a blog post, update a service area — without touching code. That requires a properly integrated content management system, not editable placeholder text in a component file.
Routing. Dynamic routes, redirect chains, 404 handling, trailing slash consistency — these are unglamorous and easy to get wrong. A broken redirect or inconsistent URL structure creates compounding SEO and user experience problems that don't surface until they're already costing you.
Multitenancy. If you're building anything where multiple clients or user accounts need isolated data, multitenancy is a foundational architectural decision — not something you retrofit onto a template. Getting it wrong means data leakage between accounts, which is a business-ending problem.
Caching and performance under real conditions. Template components look polished in a demo. Unoptimized images, render-blocking scripts, and no CDN configuration show up in Core Web Vitals. Google has used page experience signals as a ranking factor since 2021. A slow site costs you in ways that don't show up in a LinkedIn screenshot.
Knowing when the AI is wrong. This one doesn't get talked about enough. AI coding tools generate output based on training data with a cutoff date. The code might use deprecated conventions, reference libraries with known vulnerabilities, or implement patterns that worked two framework versions ago and break in the current one. A developer can audit that output. Someone without that foundation cannot. They can only evaluate the surface — and the surface is exactly what AI gets right.
The accountability gap
All of that complexity didn't disappear. It's waiting.
The hidden assumption in "I built this in a day for free" is that the launch version is the end of the story. It never is. Dependencies go stale. Hosting configurations need updates. A form stops working. Traffic grows and performance degrades. Something breaks on a phone that worked fine on a desktop. When that happens six months from now, who fixes it?
AI is a legitimate tool for simple, low-stakes, static sites. We use it ourselves — it makes us faster. But in the hands of someone who can't evaluate what it produces, you're not getting a developer's output. You're getting unreviewed output with nobody accountable for what it missed.
Hire for what the site needs to do, not for what it looks like on launch day. Those are different problems — and only one of them shows up in a screenshot.
If you want to know what your current site is actually missing, we offer a free website review — no sales pitch, just a straight read on what's working and what isn't.
