DEV Community

KNALLHART.DEV
KNALLHART.DEV

Posted on

I built a €10 AI service that brutally roasts your website

I've been building websites for clients for years. And every time
I looked at their sites, I saw the same problems — unclear CTAs,
hero sections that try to say everything at once, cookie-cutter
layouts that put the booking form three scrolls deep.

The feedback I'd give them privately was always more honest than
what anyone would write in a formal audit. So I built a tool that
does exactly that.

What it does

knallhart.dev does one thing:

  1. You submit a URL and your email
  2. Pay €10 via Stripe
  3. Our service takes a full-page Playwright screenshot
  4. Sends it to Gemini 2.5 Flash with a brutally honest prompt
  5. You get an email with 3 specific critiques + actionable fixes

No dashboards, no subscriptions, no 47-point audit template.
Just three things that are actually wrong and how to fix them.

The tech stack

  • Next.js on Vercel (frontend + webhook handling)
  • Playwright for full-page screenshots (headless Chromium)
  • Gemini 2.5 Flash for the AI analysis
  • Stripe for payments
  • Resend for email delivery

The hardest part was getting Playwright to reliably handle
lazy loading on modern sites. The trick: scroll until
window.scrollY stops changing rather than calculating
scrollHeight upfront — that value is unreliable on
too many sites.

Real example output

Here's what it said about basecamp.com:


Welcome to Visual Overload — Seriously, did a screenshot
gallery throw up on your hero section? "Refreshingly
straightforward" indeed, if "straightforward" means immediately
overwhelming me with a static, unreadable dump of your entire
application UI before I even know what Basecamp is.

Fix: Replace the dense UI screenshots with a clean,
aspirational visual that highlights benefits, not features.


The Great Wall of Founder's Text — A full-page novel
from the co-founder right after being visually assaulted.
This isn't a fireside chat; it's a product page.

Fix: Break it into scannable sections. Move the full letter
to an About page.


Testimonial Tsunami — Nine testimonials in a 3x3 grid
and then a button promising a thousand more. This isn't
social proof; it's a marathon reading challenge.

Fix: 2-3 high-impact quotes max, placed near relevant features.


What I learned

Gemini 2.5 Flash is surprisingly good at visual critique
when you give it proper context. The prompt matters a lot —
telling it this is a full-page desktop screenshot, that fixed
elements may be mispositioned, and to focus on the first 900px
as the critical first impression made a huge difference in
output quality.

Bot protection is a real problem. Large e-commerce sites
(Otto, Zalando) detect headless browsers immediately and serve
a gray placeholder. I handle this by checking screenshot file
size before sending to Gemini — anything suspiciously small
triggers an automatic Stripe refund.

Serverless + async don't mix the way you think.
On Vercel, fire-and-forget async operations get killed the
moment you return a response. You have to await the service
call even if the service itself handles things asynchronously.

Try it

If you want your site roasted: knallhart.dev

If you have questions about the build, drop them in the comments.

Top comments (0)