Skip to content
Strynal, Digital Agency

Deal.nl

A framework migration, measured in milliseconds.

Client
Deal.nl (part of We Compare BV, Netherlands)
Sector
Price comparison
Engagement
Website optimization: performance work plus an Astro migration proof-of-implementation.
Discipline
Performance engineeringFramework migrationWeb & engineering
Stack
VueNuxtAstro

Overview

Deal.nl is part of We Compare BV, based in the Netherlands. The product describes itself as “a website that provides price comparisons of every day items for consumers based in the Netherlands.” In practice that means a Dutch-language storefront for finding the best price on the things people actually buy: category browsing, brand rails, and the product price-comparison card at its core.

A site like this depends on speed. People arrive to compare, decide, and leave. Every page that loads slowly is a comparison that does not happen.

The brief

Our conversations with Deal.nl were about two things at once. The first was simple to state and hard to do: optimize the site so it scores far better on performance. The second was more exploratory: the team wanted to see what migrating their Vue and Nuxt stack to Astro would look like in practice, with Vue still in the picture.

So this was never a redesign. The interface people already use stays. The brief was about the engine underneath it, and about proving, with a real implementation rather than a slide, whether a lighter framework earns its keep.

Our approach

We treated the question as something to answer with a build, not an argument. The production site runs on Nuxt. We stood up a parallel implementation on Astro and kept Vue where Vue made sense. Astro’s model lets you ship mostly static, server-rendered HTML and hydrate only the interactive parts, a good fit for a catalogue of comparison cards and category pages where most of the page is content, not application state.

We measured both versions the same way, against PageSpeed Insights, so the comparison was like for like: the existing production Nuxt app on one side, the Astro and Vue demo on the other. We would rather show two real builds and two real reports than promise a number. The demo is live at demo-dav.vercel.app, alongside the production site at deal.nl, so the difference is something you can open and check yourself.

What we made

The deliverable is a working Astro and Vue rebuild of the Deal.nl experience, set against the production Nuxt app so the two can be compared honestly: the same Dutch storefront rendered on a lighter foundation.

Around that we assembled the evidence: PageSpeed Insights reports for both apps, the production Nuxt build as the before and the Astro + Vue demo as the after. Those two reports sit at the centre of the case, because they are the thing the engagement was meant to answer.

Results

On mobile, the Lighthouse performance score moved from 30 to 98 between the production Nuxt app and the Astro + Vue demo.

Metric Nuxt (before) Astro + Vue (after)
Performance 30 98
Accessibility 75 100
SEO 93 100
First Contentful Paint 3.8 s 2.0 s
Largest Contentful Paint 4.3 s 2.0 s
Total Blocking Time 2,110 ms 0 ms
Cumulative Layout Shift 0.282 0.016
Speed Index 6.2 s 2.4 s

Performance scores can fluctuate on every Lighthouse run. A single number is a snapshot, not a guarantee; we present these as the difference we observed between the two builds. Best Practices was already 100 on both. Numbers are read directly from the two reports below.

Gallery

PageSpeed Insights for the production Nuxt app
PageSpeed Insights: production Nuxt (before).
PageSpeed Insights for the Astro + Vue demo
PageSpeed Insights: Astro + Vue demo (after).