3 bugs I hit in Siteval production that tests never caught.
① 502 on large sites
Diagnosing sites like Yayoi or Sansan triggered a 502. Scoring, weakness analysis, and improvement suggestions were all running synchronously in sequence — easily exceeding a 60-second proxy timeout. Data was saved to the DB, but the browser got a 502. Moved auto_score to Sidekiq and switched the frontend to polling.
② Every request showing 11,466ms latency — exactly
191 scoring requests, all with identical latency down to the millisecond. "Slow" would've been fine — "identical" was the red flag. Turned out I was recording the total batch execution time as the per-item latency. Fixed the measurement granularity and the numbers scattered properly. Bottlenecks became visible.
③ BAD feedback sort silently doing nothing
The design was to prioritize BAD-rated AI requests when feeding them back to Claude for improvement. The sort never fired. Cause: r.user_feedback == 0. Rails enums return strings ("bad"/"good"), not integers — so this condition was always false. Fixed to user_fb_bad?.
All three shared the same profile: tests passed, no errors raised, wrong behavior in production with real data.
https://t.co/Ee6ZMHt6Bh
#IndieHacker #Rails #BuildInPublic #BackendDev
Why I replaced regex with AI in Siteval's scoring engine.
16 of 60 criteria were originally rule-based. Detecting a live chat widget meant maintaining a list of script names — Intercom, Zendesk, HubSpot, and so on — and running regex against the page source.
Two problems emerged.
1. Anything off the list is invisible forever
My own site, https://t.co/D5O9CdS4d2, has a chat icon in the bottom-right corner. It wasn't detected because the script name wasn't in the list. The more patterns you add, the more gaps you create.
2. User feedback goes nowhere
Rule-based checks don't generate AI requests, so good/bad feedback from users had no path to improving accuracy.
Fix: switched 13 criteria to AI scoring. Instead of a pattern list, I just ask: "Is there a live chat widget visible on this page?" Works on anything.
I also wired up a self-improvement loop — Claude (claude-sonnet-4-6) analyzes accumulated ai_requests logs and surfaces weak prompts automatically. AI finding its own blind spots and suggesting fixes.
https://t.co/Ee6ZMHt6Bh
#IndieHacker #AI #WebDev #BuildInPublic
Just shipped Siteval — a free tool that scores your corporate website's "sales power."
Most company sites look polished but don't convert. Visitors land, scroll a bit, and leave. Siteval diagnoses exactly why.
It evaluates across 6 axes and 60 criteria:
- Credibility signals
- CTA clarity
- Content quality
- UX & accessibility
- Conversion flow
- SEO fundamentals
Your site gets classified into one of four tiers:
🪧 Business card → 📣 Content broadcaster → 🤝 Sales assistant → 🏪 24/7 sales engine
Beyond the score, it auto-generates improvement suggestions ranked by priority, difficulty, and expected impact — so you know what to fix first.
No sign-up. Free.
👉 https://t.co/iWtIOkTExD
#WebsiteAudit #IndieHacker #SaaS #WebDevelopment