Overall Score
Flatfish has made subtle visual improvements since the last roast, but they've fundamentally ignored the biggest problems: still no social proof, criminally thin content, and CTAs that whisper instead of shout. It's like they polished the steering wheel while the engine still won't start.
The Roast
Flatfish listened to exactly none of the previous feedback and decided to rearrange deck chairs on the Titanic. They added a fourth service (AI Integrations—how trendy!) and probably tweaked some colors, but the core issues remain: zero client logos despite claiming 'Onze klanten,' content so sparse it could be a haiku, and conversion tactics that make a insurance company look aggressive. It's the software equivalent of 'we heard you, we just didn't care.'
🎯 Start Here
Google PageSpeed Insights
(Real metrics from Google)These scores come directly from Google's PageSpeed API. The AI scores above evaluate broader aspects like copy, trust signals, and conversion.
Core Web Vitals
Trust Signals
SEO
Conversion
Design & UX
Copy & Messaging
Mobile
Accessibility
Performance
Trust Signals
This is where Flatfish completely fails—the 'Onze klanten' section is literally empty (visible as 'Wij werken samen met' with no logos), there are zero testimonials, no case studies, no team bios, and no credibility markers of any kind. It's like walking into a law firm where the walls are blank.
Issues Found
- Empty 'Onze klanten' section is actively damaging trust—claiming to work with unnamed clients is worse than claiming no clients; it signals either hiding something or having nothing to show
- Zero social proof assets—no testimonials, case study links, client logos, success metrics ('50+ projects delivered,' '500+ satisfied clients'), or portfolio examples
- Missing credibility foundations—no visible team bios, no founder bio or LinkedIn links, no security certifications (SOC2, ISO 27001), no GDPR/data privacy messaging, no company registration/VAT visible
Recommendations
-
Build and display a client portfolio high
Add 6-8 anonymized client case studies (or logos if clients consent) with metrics: 'Reduced API latency by 65%,' 'Launched SaaS MVP in 12 weeks,' 'Maintained 99.9% uptime'—proof > promises.
-
Add team credibility section high
Create 'Meet the Team' with 3-4 key team member bios, headshots, GitHub profiles, or LinkedIn links—remove anonymity and humanize the company.
-
Display security and compliance badges medium
Add visible badges for certifications (SOC2, ISO 27001), privacy compliance (GDPR, AVG), and relevant tech certifications (Symfony Gold Partner, AWS Partner, etc.)—build institutional trust.
SEO
Still hitting the SEO wall at 0—249 words is anemic for a software agency homepage, and there's zero keyword optimization for phrases like 'PHP development Netherlands,' 'SaaS development Benelux,' or 'custom software Amsterdam' that would actually drive organic traffic.
Issues Found
- Content volume hasn't budged—249 words is a paragraph, not a homepage; you need 1,500+ words with natural keyword integration to rank for competitive B2B software terms
- Zero schema markup visible—no LocalBusiness, SoftwareApplication, or Organization schema to help Google understand what you do and where you operate
- No keyword targeting strategy evident—headings use generic Dutch terms ('Onze diensten,' 'Hoe wij werken') instead of searcher intent keywords like 'SaaS development agency' or 'custom web application builder'
Recommendations
-
Expand homepage content to 1,500+ words high
Add a detailed 'Why Choose Flatfish' section with keyword-rich paragraphs about your tech stack (PHP/Symfony), geography (Netherlands/Benelux), and use cases (SaaS, API, AI integrations)—SEO rewards substance.
-
Implement JSON-LD schema markup high
Add Organization, LocalBusiness, and SoftwareApplication schema to help Google surface you in rich snippets and local results for 'software development [city]' queries.
-
Create a dedicated service pages strategy medium
Each service (SaaS Development, API Development, AI Integrations) should have its own page with 500+ words, case studies, and target keywords like 'SaaS development agency' or 'API integration services Netherlands'.
Conversion
This is where Flatfish is still bleeding potential—the conversion funnel is a black box with no visibility, no social proof in sight, and CTAs that don't inspire action because they don't promise clarity or next steps.
Issues Found
- 'Onze klanten' section is completely empty ('Wij werken samen met [blank]')—this is a credibility killer; you're asking visitors to trust you while showing zero evidence anyone else has
- No pricing transparency, no discovery call scheduling link, no low-friction conversion options—all roads lead to 'Contact' with zero indication of what happens after submission
- Missing micro-conversions—no email signup, no resource download, no webinar invite, no case study PDF, no way to engage before committing to a contact form
Recommendations
-
Populate 'Onze klanten' with logos and testimonials high
Add 6-8 client logos (anonymized if needed) with 1-2 sentence testimonials highlighting measurable results ('Reduced time-to-market by 40%,' 'Cut infrastructure costs by 30%')—this is your biggest conversion lever.
-
Create a multi-stage conversion funnel high
Offer low-friction micro-conversions: downloadable SaaS development guide, 2-minute project assessment quiz, or free 30-min architecture review before asking for a full contact form.
-
Add transparent next-steps messaging medium
Make CTAs specific with copy like 'Get a 30-min free consultation' instead of 'Start uw project'—remove uncertainty about what conversion actually means.
Design & UX
The hero gradient is now slightly more visually interesting (purple-to-blue fade), and icons are more prominent, but the service cards are still visually identical boxes with marginal differentiation—they're basically Tupperware containers with different labels.
Issues Found
- Service cards lack visual hierarchy—all four are identical-sized cards with identical layouts, making it impossible to guide user attention to priority services
- No visual demonstration of complexity or sophistication—static icons and text don't convey that this company builds 'scalable SaaS products' or integrates AI
- Minimal spacing variation between sections creates a monotonous vertical scroll with no visual breathing room
Recommendations
-
Create visual service hierarchy high
Make 2-3 featured services larger with case study snippets or visual mockups, while secondary services get compact cards—guide the eye to what converts.
-
Add interactive micro-interactions medium
Implement subtle hover animations on service cards (icon scale-up, card lift) to make the experience feel modern and responsive without overloading.
-
Introduce process visualization medium
Replace static text in 'Hoe wij werken' with a visual timeline or flowchart showing the journey from 'Kennismaking' to 'Oplevering & Groei'—show, don't tell.
Copy & Messaging
The headlines are still generic feature-speak ('Schaalbare SaaS producten,' 'Robuuste APIs') instead of client-outcome language—nobody gets excited about robustness; they get excited about faster time-to-market and reduced maintenance costs.
Issues Found
- Value propositions remain outcome-agnostic—'we build scalable SaaS' tells prospects what you do, not what problem you solve for them (is their current SaaS provider unreliable? slow? expensive?)
- CTAs are still soft and vague ('Meer informatie,' 'Start uw project')—no indication of what happens next or what the commitment is
- Missing pain-point language—no mention of client struggles like 'legacy systems slowing you down,' 'vendor lock-in,' or 'infrastructure costs spiraling'
Recommendations
-
Rewrite value propositions as outcomes high
Change 'Schaalbare SaaS producten' to 'Launch market-ready SaaS in 3 months, not 12' and 'Robuuste APIs' to 'Integrate third-party systems without backend bottlenecks'—speak to results.
-
Add micro-copy showing next steps high
Make CTAs action-specific: 'Schedule a 30-min discovery call' instead of 'Start uw project'—remove friction by clarifying the ask.
-
Weave in industry pain points medium
Add 2-3 sentences acknowledging why custom software matters ('Off-the-shelf tools don't fit your workflow,' 'Your current vendor can't keep up with growth') before pitching the solution.
Mobile
Mobile responsiveness is functional (viewport optimization clear from screenshots), but the mobile version shows the same content-density issues as desktop—everything's smaller, nothing's smarter, and CTAs are still buried under scrolling.
Issues Found
- Mobile navigation uses a hamburger menu (visible in mobile screenshot), but no indication of sticky header behavior—nav likely slides out of view on scroll, making it hard to jump between sections
- Content stacking on mobile doesn't simplify hierarchy—all four service cards still stack vertically with identical prominence, making mobile users scroll through a wall of text
- Touch target sizes for CTAs appear adequate (≥48px), but the secondary CTA ('Bekijk onze diensten') may be undersized—hard to assess from screenshot
Recommendations
-
Implement sticky mobile navigation medium
Make the header sticky on mobile so users can quickly navigate to 'Contact' or jump between sections without scrolling back to the top.
-
Simplify mobile service card layout medium
On mobile, show only 2-3 featured services with expandable details instead of stacking all four identically—reduce cognitive load and improve scanability.
-
Verify CTA touch targets (48x48px minimum) low
Audit all buttons and links with mobile device emulator to ensure they meet WCAG 2.5.5 Level AAA target size requirements.
Accessibility
Accessibility metrics remain solid (20 ARIA attributes, proper landmarks), but the lack of skip-to-content link is inexcusable for a company claiming to build 'scalable products'—even accessibility gets deprioritized.
Issues Found
- Still no skip-to-content link—keyboard users must tab through the entire navigation before reaching main content, violating WCAG 2.1 Level A standards
- Heading structure remains untested—the h1:1, h2:4, h3:8, h4:2 ratio suggests potential nesting issues if h2s don't always follow h1s properly
- ARIA labels are present but unverified—no indication whether aria-labels are actually meaningful or if they're just checkbox compliance
Recommendations
-
Add skip-to-main-content link high
Implement a visibly hidden link at the top of the page that allows keyboard users to jump directly to main content—trivial to build, legally required.
-
Audit heading hierarchy with a screen reader medium
Test the page with NVDA or JAWS to verify heading nesting follows logical structure—ensure no h3 appears before its parent h2.
-
Validate ARIA attribute context medium
Review all 20 ARIA attributes to ensure they're contextually appropriate (not aria-label on already-labeled elements, aria-describedby pointing to real IDs, etc.).
Performance
Performance actually improved slightly (LCP 2.537s vs. 3.25s before)—PageSpeed is still solid at 94 Mobile, so your infrastructure is sound, but unused JavaScript is still dragging down efficiency and suggests bloat that could be trimmed.
Issues Found
- Unused JavaScript remains unaddressed—likely bundling libraries or polyfills that aren't needed on modern browsers (check for outdated Promise polyfills, IE11 shims, etc.)
- LCP of 2.537s is respectable but not best-in-class for a content-heavy B2B site—should target sub-2s for competitive advantage
- TBT (Total Blocking Time) of 45.55ms hints at JavaScript parsing delays that could impact perceived responsiveness on mid-range mobile devices
Recommendations
-
Audit and remove unused JavaScript high
Use Chrome DevTools Coverage to identify unused code, then strip out dead polyfills, unused vendor libraries, and unnecessary tracking scripts—target <50KB unused JS.
-
Optimize LCP with font and image prioritization medium
Use font-display: swap for custom fonts, preload hero image, and defer off-screen images to push LCP below 2s consistently.
-
Minify and defer non-critical JavaScript medium
Move non-essential JS (analytics, chat widgets, third-party scripts) to defer or async loading to reduce main thread blocking during page load.
Think you can beat 66/100?
Get your site brutally analyzed by the same AI. 8 scores, a punch list of fixes, 60 seconds.