State of Vue.js Report
2025
The 5th edition of the most comprehensive Vue publication
Co-created with Evan You, the Vue & Nuxt Core Teams
30+ Expert Contributors
16 Case Studies
1,400+ Respondents
SCROLL DOWN
State of Vue.js 2025: A Decade of Growth and Innovation. What’s next?
From its humble beginnings as a promising project to its position as one of the most popular frontend frameworks, Vue.js has undergone a remarkable transformation. Monterail has actively participated in this evolution—learning, contributing, and evolving alongside the framework.
From first discovering Vue in 2015 to becoming official Vue & Nuxt Partners, the State of Vue.js Report 2025 marks our decade-long commitment to the Vue.js ecosystem.
This report, created in collaboration with Evan You and the Vue and Nuxt Core Teams, offers unique insights across 150 virtual pages (with easy navigation!).
We’ve included 16 real-world case studies from leading brands, including GitLab, Hack The Box, Storyblok, Booksy, and DocPlanner. These showcase Vue and Nuxt's proven ability to solve complex technical and business challenges.
As with previous editions, our Developer Survey collected exclusive data from more than 1,400 professionals who shared how they use Vue and Nuxt, their challenges, and what improvements they'd like to see.
Here's your definitive guide to the present and future of Vue.js and Nuxt.
Here’s your clear view on Vue.
Enjoy!
About Monterail
We are the author of The State of Vue.js 2025 Report and a certified Vue.js development company trusted by global brands such as Merck, Pizza Hut, Bosch, Ramp, Flink. As the official Vue.js and Nuxt partner, we've delivered over 40 successful Vue.js projects. Our extensive portfolio—from virtual real estate tours to donation platforms—has established us as industry leaders in Vue.js development. As the first VueConf organizers and passionate Vue evangelists, we pride ourselves on our Vue.js expertise and passion for the framework since 2015.
About Monterail
We are the author of The State of Vue.js 2025 Report and a certified Vue.js development company trusted by global brands such as Merck, Pizza Hut, Bosch, Ramp, Flink. As the official Vue.js and Nuxt partner, we've delivered over 40 successful Vue.js projects. Our extensive portfolio—from virtual real estate tours to donation platforms—has established us as industry leaders in Vue.js development. As the first VueConf organizers and passionate Vue evangelists, we pride ourselves on our Vue.js expertise and passion for the framework since 2015.
About Monterail
We are the author of The State of Vue.js 2025 Report and a certified Vue.js development company trusted by global brands such as Merck, Pizza Hut, Bosch, Ramp, Flink. As the official Vue.js and Nuxt partner, we've delivered over 40 successful Vue.js projects. Our extensive portfolio—from virtual real estate tours to donation platforms—has established us as industry leaders in Vue.js development. As the first VueConf organizers and passionate Vue evangelists, we pride ourselves on our Vue.js expertise and passion for the framework since 2015.
Table of contents
1. State of Vuenion 2025: Evan You on the Vue Roadmap and VoidZero Venture



Vue’s creator, Evan You, discusses his ambitious new venture, VoidZero, and shares insights on balancing venture capital with open-source values. He also offers updates on Vue's roadmap, including the upcoming Vue 3.6 with its reactivity system refactor and the experimental "Vapor Mode." Discover why VoidZero might succeed where other unified toolchain attempts have failed, and learn about You's vision for making JavaScript development more efficient at the enterprise scale.
Vue’s creator, Evan You, discusses his ambitious new venture, VoidZero, and shares insights on balancing venture capital with open-source values. He also offers updates on Vue's roadmap, including the upcoming Vue 3.6 with its reactivity system refactor and the experimental "Vapor Mode." Discover why VoidZero might succeed where other unified toolchain attempts have failed, and learn about You's vision for making JavaScript development more efficient at the enterprise scale.
Vue’s creator, Evan You, discusses his ambitious new venture, VoidZero, and shares insights on balancing venture capital with open-source values. He also offers updates on Vue's roadmap, including the upcoming Vue 3.6 with its reactivity system refactor and the experimental "Vapor Mode." Discover why VoidZero might succeed where other unified toolchain attempts have failed, and learn about You's vision for making JavaScript development more efficient at the enterprise scale.
Joanna Staromiejska-Drwięga (JSD): What is the Vue core team currently working on? What are the latest functionalities and updates you would like to highlight?
Evan You (EY): What's queued up for Vue 3.6 is another big reactivity system refactor that Johnson Chu worked on. He actually started with a new signals library called the alien signals, which was trying to beat everything else in the benchmarks. When he did that, he started porting some of those changes back into Vue core. We now have a PR that has successfully done that and is fully compatible with everything in the Vue ecosystem. We plan to merge that in Vue 3.6.
JSD: What’s going on with Vapor Mode? When can we expect it?
EY: It’s another big thing going on. The Vapor Mode has been on hold for a few months, but we're restarting its development. One of the main things we want to do is combine a few further optimization opportunities with the reactivity system changes.
We should climb further up in the benchmarking game. But more importantly, we want to make vapor usable in 3.6 as an experimental feature.
It means that when you upgrade to 3.6, you can start up into vapor mode at a component level without having to do anything special. It's still experimental, so it will not be fully feature-complete, but at least we want to allow people to start playing around with it.
JSD: What are the current challenges that you are dealing with regarding the Vue framework?
EY: The most challenging part right now is Vapor Mode itself because compatibility is the biggest thing we want to overcome. Because Vapor Mode is an entirely new runtime, trying to make the behavior consistent between Vapor Mode and other modes will be a lot of work.
That’s where we put most of the effort because doing something incompatible is very easy. Doing something fast and still compatible is a challenge, and that's why it takes so much time.
JSD: We all know about VoidZero. Why did you decide to create this company? How will it impact the future of Javascript?
EY: When I built Vite four years ago, it was initially just to support Vue, but later on, more and more other frameworks started adopting it. We've seen the trend of Vite becoming a shared foundation, a shared infrastructure layer for all these different frameworks up to the point where everything except Next.js is running on Vite. It creates a lot of responsibility because Vite is now essentially processing and building all these new applications created with these frameworks. There are some things we've always wanted to improve in Vite itself. It's a combination of what Vite needs, with the JavaScript ecosystem needs, and what we believe the value it will bring.
When conceptualizing VoidZero, I imagined a unified toolchain that could become the standard base for most new JavaScript apps. Such a solution would reduce friction, make development more efficient, and make all JavaScript developers more productive overall.
When conceptualizing VoidZero, I imagined a unified toolchain that could become the standard base for most new JavaScript apps. Such a solution would reduce friction, make development more efficient, and make all JavaScript developers more productive overall.
When conceptualizing VoidZero, I imagined a unified toolchain that could become the standard base for most new JavaScript apps. Such a solution would reduce friction, make development more efficient, and make all JavaScript developers more productive overall.
EY: However, building something like that is a very ambitious goal. Although people are working on Vite and Vue as independent open-source projects, the funding model won't support the effort needed to build this whole toolchain.
I needed a full-time team dedicated to it upfront. That’s why I started Void Zero, to make this idea a more serious endeavor–something that's really challenging, huge. The goal is to create a more efficient and productive development experience, especially for large-scale projects.
JSD: What’s your business model?
EY: We plan to provide advanced build, quality, and security tools on top of the open-source Vite foundation. These tools will focus more on enterprise needs and integrate with a platform that provides insights into the whole build process.
We also hope to monetize on enterprise-facing features and use the profits to keep the leading toolchain free and open source for most smaller companies and independent developers.
JSD: It’s not the first initiative of a unified toolchain ever. Solutions like Rome come to mind, which started similarly but weren’t necessarily successful. Why should it be different this time?
EY: The most significant difference, when compared to Rome, for example, is that they started out from ground zero. Rome’s founders worked on Babel but didn't build on it. They created something completely new and also had to rewrite it entirely by switching from TypeScript to Rust.
They also chose the formatter as the first working product to ship However, the formatter could not become a central piece in the developer toolchain. It's more like a supporter role. It won’t be able to give you strong conversion into other things you built because a formatter doesn't–it’s not “sticky” in the sense that you can switch between formatters very easily. Nothing prevents you from using prettier today and then switching to something else tomorrow because it's all just formatting code.
JSD: What’s unique about VoidZero?
EY: The difference in VoidZero is that we leverage Vite as the adoption funnel. It's like a tool–we're building these tools to enhance Vite and further solidify its dominance in the web tooling space.
On the other hand, Vite is also our most considerable leverage, and in a few years, it will essentially make the lower-level pieces that we've built the industry standard. The biggest difference is that we have Vite, and the previous efforts didn't have that advantage.
On the other hand, Vite is also our most considerable leverage, and in a few years, it will essentially make the lower-level pieces that we've built the industry standard. The biggest difference is that we have Vite, and the previous efforts didn't have that advantage.
On the other hand, Vite is also our most considerable leverage, and in a few years, it will essentially make the lower-level pieces that we've built the industry standard. The biggest difference is that we have Vite, and the previous efforts didn't have that advantage.
JSD: The world of open-source and venture capital mixes nowadays. How do you think it will change the tech world? A lot of people have mixed feelings and worries about this. How would you address community concerns about Void Zero?
EY: This is a combination of multiple things. First, ambitious ideas are inherently risky. Many open source projects limit their scope because you can’t take big risks by working on it on donations or in your spare time. Venture capital supporting open source has the positive effect of offloading that risk from the developers doing the actual work.
On the other hand, it is understandable that some users fear that being VC-funded distorts the open-source incentives. For VoidZero, that's not really a major concern because I put all the reputation I had built over the years on the line to start this company.
The last thing I would want to do is strip out the open source part of it and try to make the company survive. I won’t compromise the integrity of the open-source work for short-term business goals.
The last thing I would want to do is strip out the open source part of it and try to make the company survive. I won’t compromise the integrity of the open-source work for short-term business goals.
The last thing I would want to do is strip out the open source part of it and try to make the company survive. I won’t compromise the integrity of the open-source work for short-term business goals.
So that's one thing. The other thing is how much influence venture capital will have on the direction of these projects. That's also a lot of what people are afraid of. This really is case by case depending on the company and VCs involved.
Some companies look more like acquisitions because there are other companies, predatory firms that would try to buy open source projects, take over and milk it as much as possible.
But for us, it's an entirely different story because even though we raised 4.6 million dollars, the investors actually hold a very minority stake in the company, and they don't have board seats.
I designed the whole thing in a way that we retain complete control even if we raise another series A round. We want to make sure that, first of all, we only work with investors that really understand open source and want to see open source projects succeed.
I designed the whole thing in a way that we retain complete control even if we raise another series A round. We want to make sure that, first of all, we only work with investors that really understand open source and want to see open source projects succeed.
I designed the whole thing in a way that we retain complete control even if we raise another series A round. We want to make sure that, first of all, we only work with investors that really understand open source and want to see open source projects succeed.
I've talked to multiple partners, especially at the seed stage, to gauge what kind of investors they are. Are they the kind that would try to push you out of your way to monetize but risk distorting the value of the project itself, or are they others who are willing to commit to the founder's vision and idea and allow the founder actually to carry out that vision to its fullest?
We have a really good partnership with our investors. They give us enough trust and freedom to do things the right way. We retain complete control and won’t be forced to do things we don’t want to do in the first place.
JSD: Please tell us what to expect regarding the monetized solutions you mentioned and targeting enterprise companies.
EY: I can’t go into too much detail yet, but the overall idea is that Vite is a build tool, and we're in the business of making developers more effective or productive. When you think about building software, things change quite a bit when you grow in scale. A small team of developers working on an app is probably already pleased with Vite and cannot think of anything they would pay money for.
But there are teams in big companies building really, really large projects with up to a million lines of code, with 30, 40, or 50 people working on the same thing. They struggle to build multiple builds daily and must wait for those builds on every pull request review.
How can we make that kind of operation at that kind of scale more effective? It led me to think about what Vite can do and what we can do to accelerate this feedback loop. The other aspect is ensuring the long-term quality of your code base for these huge-scale projects.
How can we make that kind of operation at that kind of scale more effective? It led me to think about what Vite can do and what we can do to accelerate this feedback loop. The other aspect is ensuring the long-term quality of your code base for these huge-scale projects.
How can we make that kind of operation at that kind of scale more effective? It led me to think about what Vite can do and what we can do to accelerate this feedback loop. The other aspect is ensuring the long-term quality of your code base for these huge-scale projects.
So, we ship a linter, formatters, and bundler, which can analyze the build output in various ways. Since we also process all code, we have many observations about how your code base evolves over time. We're in a good position to provide you with a platform offering more profound insights into this aspect. But overall, it's more vertical if you use JavaScript, because that's our specialized area. We intend to dig deeper into these aspects than more generic solutions.
Our target customers are bigger teams using JavaScript for both front-end and back-end. They want this one-stop shop. We leverage the open-source tooling that we built, which they've actually already adopted as the funnel, to try to get them on board to paid solutions and services.
JSD: How will the Javascript world change in the next five years?
EY: There are sides to the JavaScript world. Obviously, I hope Void Zero will play a significant role in that. I think Vite will continue to grow, and the tooling we built at VoidZero will improve it. I hope that Vite and the Void Zero toolchain will become the industry standard.
The runtime wars between Node, Bun, and Deno are worth watching. I don't know which one will win. I bet that Node.js is here to stay, and it will probably still be the dominant runtime for now. Why? Because other runtimes end up being Node.js compatible, the differentiation factors are shrinking in a way.
Part of the reason is that the tools we are building at VoidZero will make the tooling aspect of Node.js less different from the other runtimes. You can basically layer VoidZero tooling on top of Node.js, and you get the same level of DX without having to switch away. You can also lean into the stability of Node.js.
Vue's popularity is on the rise! 93.4% of developers will likely use Vue for their next project compared to 90% in 2021. Moreover, 80% of developers said they'd "definitely" use it again–that's up from 74% in 2021 who were that committed.
State of Vue.js Report 2025 Highlights
2. Vue & Nuxt: A Year of Major Upgrades
In December 2023, Vue 2 finally reached its End of Life. It no longer receives bug and security fixes, and the team can focus entirely on further developments in Vue 3. This decision resulted in a steady supply of many minor releases throughout 2024 in the whole Vue ecosystem, bringing performance improvements and more general features.
December of 2023 also brought us Vue 3.4 "Slam Dunk”. This release gave us a rewrite of the template parser and refactoring of the reactivity system, both bringing significant performance benefits. We’ve also got a few new features, such as the now stable
defineModel
macro or a short-hand tov-bind
.In September of 2024, we’ve got yet another minor Vue release - Vue 3.5 "Tengen Toppa Gurren Lagann”. This one brought us more improvements regarding reactivity, which improved performance and memory usage significantly. Feature-wise, most notably we’ve got a few long-requested improvements to SSR - lazy hydration and API to generate unique-per-application IDs (that are stable across server and client renders). On another note, this release fixed some issues related to Web Components APIs.
Finally, near the end of the year, we’ve got the newest release of Vue devtools v7! This is a Vue 3-only compatible version, but it brings a lot of exciting new features, performance improvements and reduced memory usage.
In March of 2024, we got the long-awaited 1.0 release of VitePress - the spiritual successor and modern replacement of VuePress. Bringing excellent development experience, better performance, and more flexible API customization. If you have ever wondered what all the great docs like the one for Vue, Vite, Vitest, Pinia, VueUse and others are built with - the answer is VitePress!
2024 has been very busy in the Nuxt world! It was the 8th birthday of our beloved framework, and we had multiple minor version releases throughout 2024 with plenty of valuable features. Some highlights include better logging (including logs from SSR in your browser),
useAsyncData
anduseFetch
improvements, route groups, and server and client-only pages.Lastly, as we are nearing Nuxt v4 release, we can test out the behavior changes (and performance improvements) that will be coming in the next major version release by setting up an appropriate flag in the Nuxt config. Meanwhile, most features have also been ported straight to Nuxt 3.
2. Vue & Nuxt: A Year of Major Upgrades
In December 2023, Vue 2 finally reached its End of Life. It no longer receives bug and security fixes, and the team can focus entirely on further developments in Vue 3. This decision resulted in a steady supply of many minor releases throughout 2024 in the whole Vue ecosystem, bringing performance improvements and more general features.
December of 2023 also brought us Vue 3.4 "Slam Dunk”. This release gave us a rewrite of the template parser and refactoring of the reactivity system, both bringing significant performance benefits. We’ve also got a few new features, such as the now stable
defineModel
macro or a short-hand tov-bind
.In September of 2024, we’ve got yet another minor Vue release - Vue 3.5 "Tengen Toppa Gurren Lagann”. This one brought us more improvements regarding reactivity, which improved performance and memory usage significantly. Feature-wise, most notably we’ve got a few long-requested improvements to SSR - lazy hydration and API to generate unique-per-application IDs (that are stable across server and client renders). On another note, this release fixed some issues related to Web Components APIs.
Finally, near the end of the year, we’ve got the newest release of Vue devtools v7! This is a Vue 3-only compatible version, but it brings a lot of exciting new features, performance improvements and reduced memory usage.
In March of 2024, we got the long-awaited 1.0 release of VitePress - the spiritual successor and modern replacement of VuePress. Bringing excellent development experience, better performance, and more flexible API customization. If you have ever wondered what all the great docs like the one for Vue, Vite, Vitest, Pinia, VueUse and others are built with - the answer is VitePress!
2024 has been very busy in the Nuxt world! It was the 8th birthday of our beloved framework, and we had multiple minor version releases throughout 2024 with plenty of valuable features. Some highlights include better logging (including logs from SSR in your browser),
useAsyncData
anduseFetch
improvements, route groups, and server and client-only pages.Lastly, as we are nearing Nuxt v4 release, we can test out the behavior changes (and performance improvements) that will be coming in the next major version release by setting up an appropriate flag in the Nuxt config. Meanwhile, most features have also been ported straight to Nuxt 3.
2. Vue & Nuxt: A Year of Major Upgrades
In December 2023, Vue 2 finally reached its End of Life. It no longer receives bug and security fixes, and the team can focus entirely on further developments in Vue 3. This decision resulted in a steady supply of many minor releases throughout 2024 in the whole Vue ecosystem, bringing performance improvements and more general features.
December of 2023 also brought us Vue 3.4 "Slam Dunk”. This release gave us a rewrite of the template parser and refactoring of the reactivity system, both bringing significant performance benefits. We’ve also got a few new features, such as the now stable
defineModel
macro or a short-hand tov-bind
.In September of 2024, we’ve got yet another minor Vue release - Vue 3.5 "Tengen Toppa Gurren Lagann”. This one brought us more improvements regarding reactivity, which improved performance and memory usage significantly. Feature-wise, most notably we’ve got a few long-requested improvements to SSR - lazy hydration and API to generate unique-per-application IDs (that are stable across server and client renders). On another note, this release fixed some issues related to Web Components APIs.
Finally, near the end of the year, we’ve got the newest release of Vue devtools v7! This is a Vue 3-only compatible version, but it brings a lot of exciting new features, performance improvements and reduced memory usage.
In March of 2024, we got the long-awaited 1.0 release of VitePress - the spiritual successor and modern replacement of VuePress. Bringing excellent development experience, better performance, and more flexible API customization. If you have ever wondered what all the great docs like the one for Vue, Vite, Vitest, Pinia, VueUse and others are built with - the answer is VitePress!
2024 has been very busy in the Nuxt world! It was the 8th birthday of our beloved framework, and we had multiple minor version releases throughout 2024 with plenty of valuable features. Some highlights include better logging (including logs from SSR in your browser),
useAsyncData
anduseFetch
improvements, route groups, and server and client-only pages.Lastly, as we are nearing Nuxt v4 release, we can test out the behavior changes (and performance improvements) that will be coming in the next major version release by setting up an appropriate flag in the Nuxt config. Meanwhile, most features have also been ported straight to Nuxt 3.
While some features we look forward to are still not released, like Vapor mode, there has been an ample supply of new, great features in 2024. Vue’s performance keeps getting better and better (and quite significantly so!) and we also see development experience getting better. Similarly we could see Nuxt being very actively improved further at a staggering pace, proving to be the go-to meta framework for Vue projects. We are also excited about Nuxt’s upcoming major release.
While some features we look forward to are still not released, like Vapor mode, there has been an ample supply of new, great features in 2024. Vue’s performance keeps getting better and better (and quite significantly so!) and we also see development experience getting better. Similarly we could see Nuxt being very actively improved further at a staggering pace, proving to be the go-to meta framework for Vue projects. We are also excited about Nuxt’s upcoming major release.
While some features we look forward to are still not released, like Vapor mode, there has been an ample supply of new, great features in 2024. Vue’s performance keeps getting better and better (and quite significantly so!) and we also see development experience getting better. Similarly we could see Nuxt being very actively improved further at a staggering pace, proving to be the go-to meta framework for Vue projects. We are also excited about Nuxt’s upcoming major release.
3. Vue.js by the Numbers: Trends, Growth, and Insights
Let’s look at the numbers. What has changed since our last report in 2022, and what’s Vue’s position on the framework landscape? In what direction is Vue developing?
We’ve reviewed over a dozen trusted sources and compared the results to previous years and Vue to other popular JavaScript frameworks. This data allowed us to establish an overview and draw conclusions. Moreover, the chapter includes an analysis of key trends in Vue.js education, community growth, and the impact of certification prepared by Vue School.
3. Vue.js by the Numbers: Trends, Growth, and Insights
Let’s look at the numbers. What has changed since our last report in 2022, and what’s Vue’s position on the framework landscape? In what direction is Vue developing?
We’ve reviewed over a dozen trusted sources and compared the results to previous years and Vue to other popular JavaScript frameworks. This data allowed us to establish an overview and draw conclusions. Moreover, the chapter includes an analysis of key trends in Vue.js education, community growth, and the impact of certification prepared by Vue School.
3. Vue.js by the Numbers: Trends, Growth, and Insights
Let’s look at the numbers. What has changed since our last report in 2022, and what’s Vue’s position on the framework landscape? In what direction is Vue developing?
We’ve reviewed over a dozen trusted sources and compared the results to previous years and Vue to other popular JavaScript frameworks. This data allowed us to establish an overview and draw conclusions. Moreover, the chapter includes an analysis of key trends in Vue.js education, community growth, and the impact of certification prepared by Vue School.
Statista
According to the latest Statista survey conducted among 48,503 respondents, Node.js and React go hand in hand, and around 40% of developers declare that they are using these frameworks in their jobs. Vue is currently in eighth place, with 15,4% of respondents having done extensive development work over the past year and wanting to work in it over the next year.
Statista
According to the latest Statista survey conducted among 48,503 respondents, Node.js and React go hand in hand, and around 40% of developers declare that they are using these frameworks in their jobs. Vue is currently in eighth place, with 15,4% of respondents having done extensive development work over the past year and wanting to work in it over the next year.
Statista
According to the latest Statista survey conducted among 48,503 respondents, Node.js and React go hand in hand, and around 40% of developers declare that they are using these frameworks in their jobs. Vue is currently in eighth place, with 15,4% of respondents having done extensive development work over the past year and wanting to work in it over the next year.
BuiltWith
The current (December 2024) Internet landscape shows that Vue is steadily growing, although it’s far behind React's raw number of sites. In just two years, the number of live sites built with Vue.js grew from 2 million to over 3.3 million. What’s important is that the overall number of sites, including live and historical, exceeded 8 million; in 2022, the figure was equal to 3.3 million. Vue.js sites are the most prevalent in the United States, where nearly half of all Vue sites are created. Germany is second, followed by Russia and China.
BuiltWith
The current (December 2024) Internet landscape shows that Vue is steadily growing, although it’s far behind React's raw number of sites. In just two years, the number of live sites built with Vue.js grew from 2 million to over 3.3 million. What’s important is that the overall number of sites, including live and historical, exceeded 8 million; in 2022, the figure was equal to 3.3 million. Vue.js sites are the most prevalent in the United States, where nearly half of all Vue sites are created. Germany is second, followed by Russia and China.
BuiltWith
The current (December 2024) Internet landscape shows that Vue is steadily growing, although it’s far behind React's raw number of sites. In just two years, the number of live sites built with Vue.js grew from 2 million to over 3.3 million. What’s important is that the overall number of sites, including live and historical, exceeded 8 million; in 2022, the figure was equal to 3.3 million. Vue.js sites are the most prevalent in the United States, where nearly half of all Vue sites are created. Germany is second, followed by Russia and China.
While Vue built fewer big hitters in the top 1M when compared to React, the share increased from 4,99% in 2021 to 7,14% a year later and reached 9.11% in 2024. The number of sites in Top 100K also grew from 14,36% to 17,7% while pages in Top 10K dropped by one percentage point within the last three years. Although the number of Angular sites has grown almost 5 times since the last review, it noticed a smaller share of sites in all three categories.
While Vue built fewer big hitters in the top 1M when compared to React, the share increased from 4,99% in 2021 to 7,14% a year later and reached 9.11% in 2024. The number of sites in Top 100K also grew from 14,36% to 17,7% while pages in Top 10K dropped by one percentage point within the last three years. Although the number of Angular sites has grown almost 5 times since the last review, it noticed a smaller share of sites in all three categories.
While Vue built fewer big hitters in the top 1M when compared to React, the share increased from 4,99% in 2021 to 7,14% a year later and reached 9.11% in 2024. The number of sites in Top 100K also grew from 14,36% to 17,7% while pages in Top 10K dropped by one percentage point within the last three years. Although the number of Angular sites has grown almost 5 times since the last review, it noticed a smaller share of sites in all three categories.
NPM Charts
React remains dominant with 32.7M weekly downloads, while Vue is firmly established in second place with 6.4M downloads, nearly doubling its numbers from 2022. Vue has demonstrated a consistent upward trend throughout the last 12 months. Angular maintains a stable third position with downloads oscillating around 3.9M downloads. Svelte has grown significantly to 2.0M downloads and is now a substantial player in the ecosystem.
NPM Charts
React remains dominant with 32.7M weekly downloads, while Vue is firmly established in second place with 6.4M downloads, nearly doubling its numbers from 2022. Vue has demonstrated a consistent upward trend throughout the last 12 months. Angular maintains a stable third position with downloads oscillating around 3.9M downloads. Svelte has grown significantly to 2.0M downloads and is now a substantial player in the ecosystem.
NPM Charts
React remains dominant with 32.7M weekly downloads, while Vue is firmly established in second place with 6.4M downloads, nearly doubling its numbers from 2022. Vue has demonstrated a consistent upward trend throughout the last 12 months. Angular maintains a stable third position with downloads oscillating around 3.9M downloads. Svelte has grown significantly to 2.0M downloads and is now a substantial player in the ecosystem.
SimilarTech: market share & web usage statistics
A look at SimilarTech brings some interesting findings. The number of websites built with Vue has continued growing from the beginning and increased by 14.9 % from 2022 to 2024. Angular faces slowdowns or dips, while the number of React-based websites also grows steadily. Although the numbers for 2024 don’t match those found on BuiltWith, the historical context clearly shows a growing trend for both Vue and React.
SimilarTech: market share & web usage statistics
A look at SimilarTech brings some interesting findings. The number of websites built with Vue has continued growing from the beginning and increased by 14.9 % from 2022 to 2024. Angular faces slowdowns or dips, while the number of React-based websites also grows steadily. Although the numbers for 2024 don’t match those found on BuiltWith, the historical context clearly shows a growing trend for both Vue and React.
SimilarTech: market share & web usage statistics
A look at SimilarTech brings some interesting findings. The number of websites built with Vue has continued growing from the beginning and increased by 14.9 % from 2022 to 2024. Angular faces slowdowns or dips, while the number of React-based websites also grows steadily. Although the numbers for 2024 don’t match those found on BuiltWith, the historical context clearly shows a growing trend for both Vue and React.
Popularity: NPM JS dependents
The graph shows how many packages in the npm ecosystem declare React, Vue, or Angular as dependencies. React started with around 50k dependents in 2019 and ended up with over 240k in 2024. Vue started with about 20k dependents and has grown by approximately 300% over the 5 years, which puts him in a strong second position. Angular shows very flat growth compared to the other frameworks - only about 50% over this period.
Popularity: NPM JS dependents
The graph shows how many packages in the npm ecosystem declare React, Vue, or Angular as dependencies. React started with around 50k dependents in 2019 and ended up with over 240k in 2024. Vue started with about 20k dependents and has grown by approximately 300% over the 5 years, which puts him in a strong second position. Angular shows very flat growth compared to the other frameworks - only about 50% over this period.
Popularity: NPM JS dependents
The graph shows how many packages in the npm ecosystem declare React, Vue, or Angular as dependencies. React started with around 50k dependents in 2019 and ended up with over 240k in 2024. Vue started with about 20k dependents and has grown by approximately 300% over the 5 years, which puts him in a strong second position. Angular shows very flat growth compared to the other frameworks - only about 50% over this period.
State of JS 2024
The State of JS report is an annual survey and comprehensive analysis of JavaScript trends, tools, and the overall ecosystem. Created around 2016, it's one of the most recognized and widely referenced surveys in the JavaScript community. Let’s see how Vue looks among other frameworks regarding usage, awareness, interest, retention, and satisfaction.
State of JS 2024
The State of JS report is an annual survey and comprehensive analysis of JavaScript trends, tools, and the overall ecosystem. Created around 2016, it's one of the most recognized and widely referenced surveys in the JavaScript community. Let’s see how Vue looks among other frameworks regarding usage, awareness, interest, retention, and satisfaction.
State of JS 2024
The State of JS report is an annual survey and comprehensive analysis of JavaScript trends, tools, and the overall ecosystem. Created around 2016, it's one of the most recognized and widely referenced surveys in the JavaScript community. Let’s see how Vue looks among other frameworks regarding usage, awareness, interest, retention, and satisfaction.
Vue.js shows a clear journey of growth and stabilization from 2016 to 2024. Starting at a relatively low position, it steadily gained traction, made a substantial leap to approximately 45-46%, marking its fastest growth period, and recovered to around 50% by 2024 after experiencing a slight in 2022.
Key findings from the State of JS 2024:
Vue maintained its position as the second most popular framework behind React throughout most of the period measured.
Vue experienced a roughly 5x increase in usage from 2016 to 2024, showing strong developer adoption.
The framework saw its most rapid growth period between 2018-2019, which corresponds with the release of Vue 2.6 and increasing enterprise adoption.
Vue showed resilience by recovering from its 2022 dip, suggesting lasting developer loyalty despite increasing competition.
Vue appears to have reached a stable maturity phase by 2024, with its growth curve flattening compared to earlier years.
After an increasing interest in the early stage of Vue development, the framework has experienced a slight decline until 2021 only to stabilize in the last three years, reaching the level of 50% of developers showing interest in this technology.
Vue.js has maintained a relatively strong position in terms of positive developer sentiment over the years. Generally, it maintains a high positivity rating, staying in the 65-75% range through 2024 while React shows a gradual decline in positivity from 2016 to 2024.
Vue.js shows a clear journey of growth and stabilization from 2016 to 2024. Starting at a relatively low position, it steadily gained traction, made a substantial leap to approximately 45-46%, marking its fastest growth period, and recovered to around 50% by 2024 after experiencing a slight in 2022.
Key findings from the State of JS 2024:
Vue maintained its position as the second most popular framework behind React throughout most of the period measured.
Vue experienced a roughly 5x increase in usage from 2016 to 2024, showing strong developer adoption.
The framework saw its most rapid growth period between 2018-2019, which corresponds with the release of Vue 2.6 and increasing enterprise adoption.
Vue showed resilience by recovering from its 2022 dip, suggesting lasting developer loyalty despite increasing competition.
Vue appears to have reached a stable maturity phase by 2024, with its growth curve flattening compared to earlier years.
After an increasing interest in the early stage of Vue development, the framework has experienced a slight decline until 2021 only to stabilize in the last three years, reaching the level of 50% of developers showing interest in this technology.
Vue.js has maintained a relatively strong position in terms of positive developer sentiment over the years. Generally, it maintains a high positivity rating, staying in the 65-75% range through 2024 while React shows a gradual decline in positivity from 2016 to 2024.
Vue.js shows a clear journey of growth and stabilization from 2016 to 2024. Starting at a relatively low position, it steadily gained traction, made a substantial leap to approximately 45-46%, marking its fastest growth period, and recovered to around 50% by 2024 after experiencing a slight in 2022.
Key findings from the State of JS 2024:
Vue maintained its position as the second most popular framework behind React throughout most of the period measured.
Vue experienced a roughly 5x increase in usage from 2016 to 2024, showing strong developer adoption.
The framework saw its most rapid growth period between 2018-2019, which corresponds with the release of Vue 2.6 and increasing enterprise adoption.
Vue showed resilience by recovering from its 2022 dip, suggesting lasting developer loyalty despite increasing competition.
Vue appears to have reached a stable maturity phase by 2024, with its growth curve flattening compared to earlier years.
After an increasing interest in the early stage of Vue development, the framework has experienced a slight decline until 2021 only to stabilize in the last three years, reaching the level of 50% of developers showing interest in this technology.
Vue.js has maintained a relatively strong position in terms of positive developer sentiment over the years. Generally, it maintains a high positivity rating, staying in the 65-75% range through 2024 while React shows a gradual decline in positivity from 2016 to 2024.
Stack Overflow
Stack Overflow has been delivering industry-leading insights regarding the developer community. In the Developer Survey 2023, they examined how much each frontend technology is admired and loved by developers. Here’s what they received from over 70k responses.
Vue is desired by 17.42% of developers, similar to Next.js and a bit more than Svelte or Angular. Regarding being admired by developers, Vue has taken the fourth position with the result of almost 58%.
Stack Overflow
Stack Overflow has been delivering industry-leading insights regarding the developer community. In the Developer Survey 2023, they examined how much each frontend technology is admired and loved by developers. Here’s what they received from over 70k responses.
Vue is desired by 17.42% of developers, similar to Next.js and a bit more than Svelte or Angular. Regarding being admired by developers, Vue has taken the fourth position with the result of almost 58%.
Stack Overflow
Stack Overflow has been delivering industry-leading insights regarding the developer community. In the Developer Survey 2023, they examined how much each frontend technology is admired and loved by developers. Here’s what they received from over 70k responses.
Vue is desired by 17.42% of developers, similar to Next.js and a bit more than Svelte or Angular. Regarding being admired by developers, Vue has taken the fourth position with the result of almost 58%.
Stack Overflow Trends
This graph shows how technologies have trended over time based on use of their tags since 2008, when Stack Overflow was founded.
Stack Overflow Trends
This graph shows how technologies have trended over time based on use of their tags since 2008, when Stack Overflow was founded.
Stack Overflow Trends
This graph shows how technologies have trended over time based on use of their tags since 2008, when Stack Overflow was founded.
Vue.js experienced a steady rise from 2016 onwards but never reached the same level as React or Angular. Its trend appears to have plateaued. React.js has been the most popular front-end framework since around 2018, reaching its peak around 2022-2023. However, its share has declined recently.
Vue.js experienced a steady rise from 2016 onwards but never reached the same level as React or Angular. Its trend appears to have plateaued. React.js has been the most popular front-end framework since around 2018, reaching its peak around 2022-2023. However, its share has declined recently.
Vue.js experienced a steady rise from 2016 onwards but never reached the same level as React or Angular. Its trend appears to have plateaued. React.js has been the most popular front-end framework since around 2018, reaching its peak around 2022-2023. However, its share has declined recently.
W3Techs
This diagram shows the market position of Vue.js in terms of popularity and traffic compared to the most popular JavaScript libraries.
W3Techs
This diagram shows the market position of Vue.js in terms of popularity and traffic compared to the most popular JavaScript libraries.
W3Techs
This diagram shows the market position of Vue.js in terms of popularity and traffic compared to the most popular JavaScript libraries.
Vue.js has a strong presence among high-traffic websites, compared to React, implying that it is favored for performance-critical or large-scale applications. Despite its advantages, its overall adoption remains lower than jQuery and Bootstrap.
Vue.js has a strong presence among high-traffic websites, compared to React, implying that it is favored for performance-critical or large-scale applications. Despite its advantages, its overall adoption remains lower than jQuery and Bootstrap.
Vue.js has a strong presence among high-traffic websites, compared to React, implying that it is favored for performance-critical or large-scale applications. Despite its advantages, its overall adoption remains lower than jQuery and Bootstrap.
Github stars
Github stars
Github stars
The graph illustrates the number of GitHub stars over time for various JavaScript frameworks and libraries, including React, Vue, Angular, and Svelte. React and Vue have been the two most popular frameworks, accumulating the most stars. Around 2017-2018, Vue surpassed React in stars and in the last two yeas, Vue appears to have taken the lead in total GitHub stars. Svelte is emerging as a contender, growing at a steady pace since 2019 while Angular's growth is more stable but much slower than the other frameworks.
The graph illustrates the number of GitHub stars over time for various JavaScript frameworks and libraries, including React, Vue, Angular, and Svelte. React and Vue have been the two most popular frameworks, accumulating the most stars. Around 2017-2018, Vue surpassed React in stars and in the last two yeas, Vue appears to have taken the lead in total GitHub stars. Svelte is emerging as a contender, growing at a steady pace since 2019 while Angular's growth is more stable but much slower than the other frameworks.
The graph illustrates the number of GitHub stars over time for various JavaScript frameworks and libraries, including React, Vue, Angular, and Svelte. React and Vue have been the two most popular frameworks, accumulating the most stars. Around 2017-2018, Vue surpassed React in stars and in the last two yeas, Vue appears to have taken the lead in total GitHub stars. Svelte is emerging as a contender, growing at a steady pace since 2019 while Angular's growth is more stable but much slower than the other frameworks.
Google Trends
Google Trends provides a broad spectrum of interests, but it’s also one of the most trusted sources for gauging popularity.
Google Trends
Google Trends provides a broad spectrum of interests, but it’s also one of the most trusted sources for gauging popularity.
Google Trends
Google Trends provides a broad spectrum of interests, but it’s also one of the most trusted sources for gauging popularity.
Vue's popularity has been relatively stable but declining over the past five years. In 2020-2021, Vue maintained a consistent interest level, trailing behind React. In late 2021, there’s a noticeable but brief increase in searches, likely due to a major release (e.g., Vue 3 adoption). Around 2022, Vue has gradually lost momentum, with search interest decreasing relative to React. Currently, Vue remains more popular than Svelte but lags behind React and Angular in global search interest.
Vue's popularity has been relatively stable but declining over the past five years. In 2020-2021, Vue maintained a consistent interest level, trailing behind React. In late 2021, there’s a noticeable but brief increase in searches, likely due to a major release (e.g., Vue 3 adoption). Around 2022, Vue has gradually lost momentum, with search interest decreasing relative to React. Currently, Vue remains more popular than Svelte but lags behind React and Angular in global search interest.
Vue's popularity has been relatively stable but declining over the past five years. In 2020-2021, Vue maintained a consistent interest level, trailing behind React. In late 2021, there’s a noticeable but brief increase in searches, likely due to a major release (e.g., Vue 3 adoption). Around 2022, Vue has gradually lost momentum, with search interest decreasing relative to React. Currently, Vue remains more popular than Svelte but lags behind React and Angular in global search interest.
Social media
And one last place we can look at to see how Vue is doing is social media. Namely, Reddit and X are two of the most authoritative social media sources. Looking at the number of followers over the years, Vue clearly continues to get traction.
Social media
And one last place we can look at to see how Vue is doing is social media. Namely, Reddit and X are two of the most authoritative social media sources. Looking at the number of followers over the years, Vue clearly continues to get traction.
Social media
And one last place we can look at to see how Vue is doing is social media. Namely, Reddit and X are two of the most authoritative social media sources. Looking at the number of followers over the years, Vue clearly continues to get traction.
X followers
React has experienced the most significant growth in the last five years, increasing from 355.4K to 789.6K followers. Angular has grown steadily but at a slower rate than React. Vue has shown consistent growth but maintains the smallest follower count among the three frameworks.
X followers
React has experienced the most significant growth in the last five years, increasing from 355.4K to 789.6K followers. Angular has grown steadily but at a slower rate than React. Vue has shown consistent growth but maintains the smallest follower count among the three frameworks.
X followers
React has experienced the most significant growth in the last five years, increasing from 355.4K to 789.6K followers. Angular has grown steadily but at a slower rate than React. Vue has shown consistent growth but maintains the smallest follower count among the three frameworks.
Vue Education and Community Growth: A Vue School Perspective
Vue Education and Community Growth: A Vue School Perspective
Vue School's position as both an educational platform and creator of Vue's official certification program provides unique insights into the framework's adoption and developer education landscape in 2025. This analysis examines key trends in Vue.js education, certification impact, and community growth.
Vue Education and Community Growth: A Vue School Perspective
Vue School's position as both an educational platform and creator of Vue's official certification program provides unique insights into the framework's adoption and developer education landscape in 2025. This analysis examines key trends in Vue.js education, certification impact, and community growth.
Vue Education and Community Growth: A Vue School Perspective
Vue School's position as both an educational platform and creator of Vue's official certification program provides unique insights into the framework's adoption and developer education landscape in 2025. This analysis examines key trends in Vue.js education, certification impact, and community growth.
Framework Adoption and Learning Patterns
Core Framework Preferences
Based on views of our blog articles and video courses, developers consistently demonstrate a strong preference for vanilla Vue.js over meta-frameworks like Nuxt or Quasar. While Nuxt.js maintains a significant market share, course engagement metrics point to developers favoring direct Vue.js implementation, particularly when integrating with existing backend frameworks. The Laravel ecosystem exemplifies this trend, with our Vue-Laravel integration guide consistently ranking as our most-read technical resource.
This preference points to developers prioritizing stack control and incremental feature adoption over full-framework solutions. Teams particularly value this flexibility when enhancing existing applications rather than building new full-stack Vue applications. Also ranking high in views are courses and articles related to Vite, confirming what we see in the developer world at large: Vite is the modern build tool of choice.
Developer Learning Priorities
Based on analytics from our learning platform, most Vue learners are young males under 30 from the United States, India, Germany, and China. What are their learning priorities? The most watched courses are all geared towards beginners looking to get started with Vue or go just beyond the basics. Developers usually explore Vue.js 3 or Nuxt 3 fundamentals in the first place or join a Vue master class.
Framework Adoption and Learning Patterns
Core Framework Preferences
Based on views of our blog articles and video courses, developers consistently demonstrate a strong preference for vanilla Vue.js over meta-frameworks like Nuxt or Quasar. While Nuxt.js maintains a significant market share, course engagement metrics point to developers favoring direct Vue.js implementation, particularly when integrating with existing backend frameworks. The Laravel ecosystem exemplifies this trend, with our Vue-Laravel integration guide consistently ranking as our most-read technical resource.
This preference points to developers prioritizing stack control and incremental feature adoption over full-framework solutions. Teams particularly value this flexibility when enhancing existing applications rather than building new full-stack Vue applications. Also ranking high in views are courses and articles related to Vite, confirming what we see in the developer world at large: Vite is the modern build tool of choice.
Developer Learning Priorities
Based on analytics from our learning platform, most Vue learners are young males under 30 from the United States, India, Germany, and China. What are their learning priorities? The most watched courses are all geared towards beginners looking to get started with Vue or go just beyond the basics. Developers usually explore Vue.js 3 or Nuxt 3 fundamentals in the first place or join a Vue master class.
Framework Adoption and Learning Patterns
Core Framework Preferences
Based on views of our blog articles and video courses, developers consistently demonstrate a strong preference for vanilla Vue.js over meta-frameworks like Nuxt or Quasar. While Nuxt.js maintains a significant market share, course engagement metrics point to developers favoring direct Vue.js implementation, particularly when integrating with existing backend frameworks. The Laravel ecosystem exemplifies this trend, with our Vue-Laravel integration guide consistently ranking as our most-read technical resource.
This preference points to developers prioritizing stack control and incremental feature adoption over full-framework solutions. Teams particularly value this flexibility when enhancing existing applications rather than building new full-stack Vue applications. Also ranking high in views are courses and articles related to Vite, confirming what we see in the developer world at large: Vite is the modern build tool of choice.
Developer Learning Priorities
Based on analytics from our learning platform, most Vue learners are young males under 30 from the United States, India, Germany, and China. What are their learning priorities? The most watched courses are all geared towards beginners looking to get started with Vue or go just beyond the basics. Developers usually explore Vue.js 3 or Nuxt 3 fundamentals in the first place or join a Vue master class.
The sustained dominance of foundational content demonstrates Vue.js's continued appeal as an entry point for modern web development.
Daniel Kelly, Lead Instructor at Vue School
The sustained dominance of foundational content demonstrates Vue.js's continued appeal as an entry point for modern web development.
Daniel Kelly, Lead Instructor at Vue School
The sustained dominance of foundational content demonstrates Vue.js's continued appeal as an entry point for modern web development.
Daniel Kelly, Lead Instructor at Vue School
While some of this content's free availability influences traffic patterns, consistent engagement rates validate Vue.js's position as a preferred framework for new developers.
API Implementation Trends
The Options API versus Composition API decision remains a conversation in the Vue community. We still often get questions about which API to choose. This ongoing discussion underscores Vue's strength in supporting diverse development approaches but also that (presumably for new developers) the two options are still a sticking point of confusion and friction.
Certification Impact and Professional Development
When discussing a personal developer’s growth and professional development, it’s important to analyze certification's impact on these aspects. As the platform providing the official Vue.js Certification in collaboration with Evan You, which has over 900 developers certified, we have some data to share. Post-exam surveys show that those who pass and fail alike all gain from the experience.
88% say that the exam assessed their Vue competence well.
76% say their skills improved by studying for and taking the exam.
84% said they would recommend the exam to a fellow developer.
These stats all point to a program that has evolved beyond simple credential verification into a comprehensive professional development pathway for new developers and a valuable learning opportunity for seasoned devs. Besides some hard stats, we’ve spoken with test takers to hear the value-add for them and their teams.
The most mentioned benefits included:
On-Track Training for Enterprise. Certification experience enables leaders to mentor a team of junior developers better and validate their skills.
Technical Leadership Enhancement. The certification process also drives deeper technical understanding among leadership.
Experienced Developer Growth. Even seasoned Vue developers who work with popular tooling widely used within the Vue community discover new growth opportunities through certification.
Boosting the Ecosystem. The certification program also reinforces Vue.js ecosystem stability and enhances the core team stability.
Conclusion
Vue.js education in 2025 reflects both framework maturity and evolving developer needs. At Vue School, we observe the framework's growing sophistication and industry adoption. The solid reviews and a number of certified devs from the Vue.js certification speak volumes of Vue’s value to the community. These metrics reinforce Vue.js's position as a leading framework for modern web development. The framework's ability to support both entry-level developers and enterprise implementations, coupled with strong community growth, positions Vue.js for continued expansion in the development ecosystem.
Note: All metrics and statistics reflect Vue School's current data as of early 2025.
While some of this content's free availability influences traffic patterns, consistent engagement rates validate Vue.js's position as a preferred framework for new developers.
API Implementation Trends
The Options API versus Composition API decision remains a conversation in the Vue community. We still often get questions about which API to choose. This ongoing discussion underscores Vue's strength in supporting diverse development approaches but also that (presumably for new developers) the two options are still a sticking point of confusion and friction.
Certification Impact and Professional Development
When discussing a personal developer’s growth and professional development, it’s important to analyze certification's impact on these aspects. As the platform providing the official Vue.js Certification in collaboration with Evan You, which has over 900 developers certified, we have some data to share. Post-exam surveys show that those who pass and fail alike all gain from the experience.
88% say that the exam assessed their Vue competence well.
76% say their skills improved by studying for and taking the exam.
84% said they would recommend the exam to a fellow developer.
These stats all point to a program that has evolved beyond simple credential verification into a comprehensive professional development pathway for new developers and a valuable learning opportunity for seasoned devs. Besides some hard stats, we’ve spoken with test takers to hear the value-add for them and their teams.
The most mentioned benefits included:
On-Track Training for Enterprise. Certification experience enables leaders to mentor a team of junior developers better and validate their skills.
Technical Leadership Enhancement. The certification process also drives deeper technical understanding among leadership.
Experienced Developer Growth. Even seasoned Vue developers who work with popular tooling widely used within the Vue community discover new growth opportunities through certification.
Boosting the Ecosystem. The certification program also reinforces Vue.js ecosystem stability and enhances the core team stability.
Conclusion
Vue.js education in 2025 reflects both framework maturity and evolving developer needs. At Vue School, we observe the framework's growing sophistication and industry adoption. The solid reviews and a number of certified devs from the Vue.js certification speak volumes of Vue’s value to the community. These metrics reinforce Vue.js's position as a leading framework for modern web development. The framework's ability to support both entry-level developers and enterprise implementations, coupled with strong community growth, positions Vue.js for continued expansion in the development ecosystem.
Note: All metrics and statistics reflect Vue School's current data as of early 2025.
While some of this content's free availability influences traffic patterns, consistent engagement rates validate Vue.js's position as a preferred framework for new developers.
API Implementation Trends
The Options API versus Composition API decision remains a conversation in the Vue community. We still often get questions about which API to choose. This ongoing discussion underscores Vue's strength in supporting diverse development approaches but also that (presumably for new developers) the two options are still a sticking point of confusion and friction.
Certification Impact and Professional Development
When discussing a personal developer’s growth and professional development, it’s important to analyze certification's impact on these aspects. As the platform providing the official Vue.js Certification in collaboration with Evan You, which has over 900 developers certified, we have some data to share. Post-exam surveys show that those who pass and fail alike all gain from the experience.
88% say that the exam assessed their Vue competence well.
76% say their skills improved by studying for and taking the exam.
84% said they would recommend the exam to a fellow developer.
These stats all point to a program that has evolved beyond simple credential verification into a comprehensive professional development pathway for new developers and a valuable learning opportunity for seasoned devs. Besides some hard stats, we’ve spoken with test takers to hear the value-add for them and their teams.
The most mentioned benefits included:
On-Track Training for Enterprise. Certification experience enables leaders to mentor a team of junior developers better and validate their skills.
Technical Leadership Enhancement. The certification process also drives deeper technical understanding among leadership.
Experienced Developer Growth. Even seasoned Vue developers who work with popular tooling widely used within the Vue community discover new growth opportunities through certification.
Boosting the Ecosystem. The certification program also reinforces Vue.js ecosystem stability and enhances the core team stability.
Conclusion
Vue.js education in 2025 reflects both framework maturity and evolving developer needs. At Vue School, we observe the framework's growing sophistication and industry adoption. The solid reviews and a number of certified devs from the Vue.js certification speak volumes of Vue’s value to the community. These metrics reinforce Vue.js's position as a leading framework for modern web development. The framework's ability to support both entry-level developers and enterprise implementations, coupled with strong community growth, positions Vue.js for continued expansion in the development ecosystem.
Note: All metrics and statistics reflect Vue School's current data as of early 2025.
Chapter Summary
According to multiple influential sources, Vue has consistently maintained its position as the second most popular and used front-end framework. This position has remained stable despite competition from emerging frameworks and established alternatives. The number of websites built with Vue continues to increase yearly, along with social media following and community platforms’ engagement. This data demonstrates Vue's established position as a mature, widely adopted framework with steady growth.
Chapter Summary
According to multiple influential sources, Vue has consistently maintained its position as the second most popular and used front-end framework. This position has remained stable despite competition from emerging frameworks and established alternatives. The number of websites built with Vue continues to increase yearly, along with social media following and community platforms’ engagement. This data demonstrates Vue's established position as a mature, widely adopted framework with steady growth.
Chapter Summary
According to multiple influential sources, Vue has consistently maintained its position as the second most popular and used front-end framework. This position has remained stable despite competition from emerging frameworks and established alternatives. The number of websites built with Vue continues to increase yearly, along with social media following and community platforms’ engagement. This data demonstrates Vue's established position as a mature, widely adopted framework with steady growth.
A power shift in Vue’s ecosystem! Pinia has dominated the scene, with 80% of developers turning to it for their global state management needs. Meanwhile, the former champion from 2021, Vuex, has tumbled to 38.4% usage.
State of Vue.js Report 2025 Highlights
4. Vue.js Developer Survey Results: Key Areas That Need Fixing
4. Vue.js Developer Survey Results: Key Areas That Need Fixing
4. Vue.js Developer Survey Results: Key Areas That Need Fixing
About the survey
Since our last Developer Survey for the State of Vue.js Report in 2021, the frontend landscape has transformed dramatically. Vue.js has evolved significantly. We're seeing the framework increasingly adopted across organizations of all sizes, with Vue 3 now firmly established as the ecosystem standard. Nuxt 3 was released, bringing Vue 3 compatibility along with new features. This development introduced fresh considerations and areas worth exploring more deeply.
The updated survey captures these evolutions and gives us greater insight into the professional community leveraging Vue.js and Nuxt for their development work.
Through the online survey, we collected responses from 1,428 professionals—primarily software developers and Chief Technology Officers (91.6% of respondents)—over four weeks in November and December 2024. This comprehensive data provides valuable insights into:
Current Vue and Nuxt usage patterns and future implementation plans across organizations.
Preferred tooling and solution choices within the Vue and Nuxt ecosystem.
Choice of other libraries, frameworks, and languages for both frontend and backend development.
Key challenges users face with Vue and Nuxt, along with their suggestions for improvements.
About the survey
Since our last Developer Survey for the State of Vue.js Report in 2021, the frontend landscape has transformed dramatically. Vue.js has evolved significantly. We're seeing the framework increasingly adopted across organizations of all sizes, with Vue 3 now firmly established as the ecosystem standard. Nuxt 3 was released, bringing Vue 3 compatibility along with new features. This development introduced fresh considerations and areas worth exploring more deeply.
The updated survey captures these evolutions and gives us greater insight into the professional community leveraging Vue.js and Nuxt for their development work.
Through the online survey, we collected responses from 1,428 professionals—primarily software developers and Chief Technology Officers (91.6% of respondents)—over four weeks in November and December 2024. This comprehensive data provides valuable insights into:
Current Vue and Nuxt usage patterns and future implementation plans across organizations.
Preferred tooling and solution choices within the Vue and Nuxt ecosystem.
Choice of other libraries, frameworks, and languages for both frontend and backend development.
Key challenges users face with Vue and Nuxt, along with their suggestions for improvements.
About the survey
Since our last Developer Survey for the State of Vue.js Report in 2021, the frontend landscape has transformed dramatically. Vue.js has evolved significantly. We're seeing the framework increasingly adopted across organizations of all sizes, with Vue 3 now firmly established as the ecosystem standard. Nuxt 3 was released, bringing Vue 3 compatibility along with new features. This development introduced fresh considerations and areas worth exploring more deeply.
The updated survey captures these evolutions and gives us greater insight into the professional community leveraging Vue.js and Nuxt for their development work.
Through the online survey, we collected responses from 1,428 professionals—primarily software developers and Chief Technology Officers (91.6% of respondents)—over four weeks in November and December 2024. This comprehensive data provides valuable insights into:
Current Vue and Nuxt usage patterns and future implementation plans across organizations.
Preferred tooling and solution choices within the Vue and Nuxt ecosystem.
Choice of other libraries, frameworks, and languages for both frontend and backend development.
Key challenges users face with Vue and Nuxt, along with their suggestions for improvements.
Key insights
Key insights
Key insights
96%
of the survey participants have been working with Vue 3.x.
96%
of the survey participants have been working with Vue 3.x.
96%
of the survey participants have been working with Vue 3.x.
93%
of respondents claim there is a high or very high probability of them using Vue.js for their next project.
93%
of respondents claim there is a high or very high probability of them using Vue.js for their next project.
93%
of respondents claim there is a high or very high probability of them using Vue.js for their next project.
82%
of developers picked Typescript as the number one choice for Javascript.
82%
of developers picked Typescript as the number one choice for Javascript.
82%
of developers picked Typescript as the number one choice for Javascript.
80%
of respondents pointed to Pinia for global state management.
80%
of respondents pointed to Pinia for global state management.
80%
of respondents pointed to Pinia for global state management.
68%
of respondents have used Nuxt in their Vue projects.
68%
of respondents have used Nuxt in their Vue projects.
68%
of respondents have used Nuxt in their Vue projects.
53%
of developers have been using Vue for more than 4 years.
53%
of developers have been using Vue for more than 4 years.
53%
of developers have been using Vue for more than 4 years.
1. How long has Vue.js been in use within your organization?
In 2021, 42,1% have used Vue for more than two years. Asked now, more than 53% of respondents have been using Vue for more than 4 years, showing that Vue is continuously being used within companies. Only 3.2% have used Vue for less than six months, and that number decreased from 8% in 2021.
1. How long has Vue.js been in use within your organization?
In 2021, 42,1% have used Vue for more than two years. Asked now, more than 53% of respondents have been using Vue for more than 4 years, showing that Vue is continuously being used within companies. Only 3.2% have used Vue for less than six months, and that number decreased from 8% in 2021.
1. How long has Vue.js been in use within your organization?
In 2021, 42,1% have used Vue for more than two years. Asked now, more than 53% of respondents have been using Vue for more than 4 years, showing that Vue is continuously being used within companies. Only 3.2% have used Vue for less than six months, and that number decreased from 8% in 2021.
2. What resources do you use to learn about Vue.js?
2. What resources do you use to learn about Vue.js?
2. What resources do you use to learn about Vue.js?
3. On a scale of 1 to 5, do you think the number of employees using Vue.js in your organization will increase in the next 12 months?
Almost half of the respondents predict that the number of employees will increase in their organizations within the next 12 months, while three years earlier, more than 55% were positive about it. A significant group of respondents (31%) don’t know what to expect regarding Vue.js recruitment in their organizations.
3. On a scale of 1 to 5, do you think the number of employees using Vue.js in your organization will increase in the next 12 months?
Almost half of the respondents predict that the number of employees will increase in their organizations within the next 12 months, while three years earlier, more than 55% were positive about it. A significant group of respondents (31%) don’t know what to expect regarding Vue.js recruitment in their organizations.
3. On a scale of 1 to 5, do you think the number of employees using Vue.js in your organization will increase in the next 12 months?
Almost half of the respondents predict that the number of employees will increase in their organizations within the next 12 months, while three years earlier, more than 55% were positive about it. A significant group of respondents (31%) don’t know what to expect regarding Vue.js recruitment in their organizations.
4. On a scale of 1 to 5, what's the probability of using Vue again for a new project?
Since 2021, the overall probability of using Vue again for a new project has grown from 90% to 93.4% in 2024. Eighty percent of respondents claim they would definitely use it, while only 74% were so firmly convinced in 2021.
4. On a scale of 1 to 5, what's the probability of using Vue again for a new project?
Since 2021, the overall probability of using Vue again for a new project has grown from 90% to 93.4% in 2024. Eighty percent of respondents claim they would definitely use it, while only 74% were so firmly convinced in 2021.
4. On a scale of 1 to 5, what's the probability of using Vue again for a new project?
Since 2021, the overall probability of using Vue again for a new project has grown from 90% to 93.4% in 2024. Eighty percent of respondents claim they would definitely use it, while only 74% were so firmly convinced in 2021.
5. What libraries/frameworks do you use for frontend development?
5. What libraries/frameworks do you use for frontend development?
5. What libraries/frameworks do you use for frontend development?
6. What languages does your organization use for backend development?
6. What languages does your organization use for backend development?
6. What languages does your organization use for backend development?
Please note: Question 7 -16 concern the period of the last 12 months.
7. What version of Vue have you been working with?
Although Vue 2 reached EOL and is no longer actively maintained, over 35% have used this version in their project in the last 12 months, illustrating challenges around complete migration to Vue 3 for many organizations.
7. What version of Vue have you been working with?
Although Vue 2 reached EOL and is no longer actively maintained, over 35% have used this version in their project in the last 12 months, illustrating challenges around complete migration to Vue 3 for many organizations.
7. What version of Vue have you been working with?
Although Vue 2 reached EOL and is no longer actively maintained, over 35% have used this version in their project in the last 12 months, illustrating challenges around complete migration to Vue 3 for many organizations.
8. Which of the following have you used for JavaScript?
The use of Typescript has immensely increased over the last few years. From being the third choice in 2021 with 38% opting for it, Typescript is now the number one choice for more than 82% of developers.
8. Which of the following have you used for JavaScript?
The use of Typescript has immensely increased over the last few years. From being the third choice in 2021 with 38% opting for it, Typescript is now the number one choice for more than 82% of developers.
8. Which of the following have you used for JavaScript?
The use of Typescript has immensely increased over the last few years. From being the third choice in 2021 with 38% opting for it, Typescript is now the number one choice for more than 82% of developers.
9. Which of the following use cases for Vue have you had?
While the majority of respondents (92.9%) have used Vue to control the entire frontend in a single-page application (SPA), 45% have also had use cases to control the entire frontend with server-side rendering (SSR)–in 2021, only 31% declared such experience.
9. Which of the following use cases for Vue have you had?
While the majority of respondents (92.9%) have used Vue to control the entire frontend in a single-page application (SPA), 45% have also had use cases to control the entire frontend with server-side rendering (SSR)–in 2021, only 31% declared such experience.
9. Which of the following use cases for Vue have you had?
While the majority of respondents (92.9%) have used Vue to control the entire frontend in a single-page application (SPA), 45% have also had use cases to control the entire frontend with server-side rendering (SSR)–in 2021, only 31% declared such experience.
10. How have you been writing your components for Vue.js projects?
10. How have you been writing your components for Vue.js projects?
10. How have you been writing your components for Vue.js projects?
11. Which of the following have you used for global state management?
The unquestioned winner here is Pinia–over 80% of people use this tool for global state management. The top answer in 2021 was Vuex, now reaching 38.4 % votes, which shows a significant shift in choosing Vue.js tooling.
11. Which of the following have you used for global state management?
The unquestioned winner here is Pinia–over 80% of people use this tool for global state management. The top answer in 2021 was Vuex, now reaching 38.4 % votes, which shows a significant shift in choosing Vue.js tooling.
11. Which of the following have you used for global state management?
The unquestioned winner here is Pinia–over 80% of people use this tool for global state management. The top answer in 2021 was Vuex, now reaching 38.4 % votes, which shows a significant shift in choosing Vue.js tooling.
12. What do you use to style your Vue application?
Most Vue developers style their application using the “scoped” attribute in Single File Components, exactly like in 2021. However, there is an increasing number of devs who use utility-first CSS frameworks such as TailwindCSS, and that number has grown to 56.1% from 22%.
12. What do you use to style your Vue application?
Most Vue developers style their application using the “scoped” attribute in Single File Components, exactly like in 2021. However, there is an increasing number of devs who use utility-first CSS frameworks such as TailwindCSS, and that number has grown to 56.1% from 22%.
12. What do you use to style your Vue application?
Most Vue developers style their application using the “scoped” attribute in Single File Components, exactly like in 2021. However, there is an increasing number of devs who use utility-first CSS frameworks such as TailwindCSS, and that number has grown to 56.1% from 22%.
13. Which CLI tool did you use to create your last Vue project?
Vue CLI 3 has seen a drop in use–from 53% in 2021 to only 16,1%. It was overtaken by create-vite, create-vue and Nuxt’s nuxi.
13. Which CLI tool did you use to create your last Vue project?
Vue CLI 3 has seen a drop in use–from 53% in 2021 to only 16,1%. It was overtaken by create-vite, create-vue and Nuxt’s nuxi.
13. Which CLI tool did you use to create your last Vue project?
Vue CLI 3 has seen a drop in use–from 53% in 2021 to only 16,1%. It was overtaken by create-vite, create-vue and Nuxt’s nuxi.
14. Is there anything you’re missing when it comes to Vue.js?
Vue.js is loved for its simplicity and flexibility, but like any framework, it has areas developers feel could be improved. 447 respondents shared their suggestions through the survey. We pooled these comments and requests to flesh out the bigger picture. Here's a quick look at the six most common answers the Vue community shares.
14. Is there anything you’re missing when it comes to Vue.js?
Vue.js is loved for its simplicity and flexibility, but like any framework, it has areas developers feel could be improved. 447 respondents shared their suggestions through the survey. We pooled these comments and requests to flesh out the bigger picture. Here's a quick look at the six most common answers the Vue community shares.
14. Is there anything you’re missing when it comes to Vue.js?
Vue.js is loved for its simplicity and flexibility, but like any framework, it has areas developers feel could be improved. 447 respondents shared their suggestions through the survey. We pooled these comments and requests to flesh out the bigger picture. Here's a quick look at the six most common answers the Vue community shares.
Ecosystem Gaps: Almost 22% of respondents pointed to the ecosystem gaps as one of the most important thing missing. Developers frequently cite the lack of robust, official component libraries like MUI or Radix, and better testing utilities. There’s also demand for more modular, enterprise-ready solutions for dashboards, e-commerce, and animation libraries akin to Framer Motion.
Mobile and Native Development: 15.6% of survey participants found the absence of a strong mobile solution as one of its biggest flaws. Developers desire a reliable and officially supported solution for building native mobile apps with Vue.
TypeScript and Developer Experience: Another big gap spotted by 13.8% of developers was TypeScript support. Developers mentioned issues with props, reactivity, and template inference make it harder for developers to adopt TypeScript seamlessly. Enhanced developer tools and better VS Code integration are also high on the wishlist.
Advanced Features and Usability: Features like Suspense, Vapor mode, and better support for microfrontends are commonly requested by almost 10% of the survey participants. Developers also want more flexibility with SFCs, such as allowing multiple components in one file and improved JSX/TSX integration.
Community and Visibility: Vue faces challenges with adoption and visibility compared to React according to 11% of developers. Developers report fewer job opportunities and limited community-driven content, especially for beginners and advanced users. Better marketing and corporate backing could significantly boost Vue’s reach.
Accessibility and Standards: The lack of an official accessibility library and advanced architectural guidelines for enterprise projects are notable gaps. Developers also want more standardized best practices to keep projects clean and maintainable.
Ecosystem Gaps: Almost 22% of respondents pointed to the ecosystem gaps as one of the most important thing missing. Developers frequently cite the lack of robust, official component libraries like MUI or Radix, and better testing utilities. There’s also demand for more modular, enterprise-ready solutions for dashboards, e-commerce, and animation libraries akin to Framer Motion.
Mobile and Native Development: 15.6% of survey participants found the absence of a strong mobile solution as one of its biggest flaws. Developers desire a reliable and officially supported solution for building native mobile apps with Vue.
TypeScript and Developer Experience: Another big gap spotted by 13.8% of developers was TypeScript support. Developers mentioned issues with props, reactivity, and template inference make it harder for developers to adopt TypeScript seamlessly. Enhanced developer tools and better VS Code integration are also high on the wishlist.
Advanced Features and Usability: Features like Suspense, Vapor mode, and better support for microfrontends are commonly requested by almost 10% of the survey participants. Developers also want more flexibility with SFCs, such as allowing multiple components in one file and improved JSX/TSX integration.
Community and Visibility: Vue faces challenges with adoption and visibility compared to React according to 11% of developers. Developers report fewer job opportunities and limited community-driven content, especially for beginners and advanced users. Better marketing and corporate backing could significantly boost Vue’s reach.
Accessibility and Standards: The lack of an official accessibility library and advanced architectural guidelines for enterprise projects are notable gaps. Developers also want more standardized best practices to keep projects clean and maintainable.
Ecosystem Gaps: Almost 22% of respondents pointed to the ecosystem gaps as one of the most important thing missing. Developers frequently cite the lack of robust, official component libraries like MUI or Radix, and better testing utilities. There’s also demand for more modular, enterprise-ready solutions for dashboards, e-commerce, and animation libraries akin to Framer Motion.
Mobile and Native Development: 15.6% of survey participants found the absence of a strong mobile solution as one of its biggest flaws. Developers desire a reliable and officially supported solution for building native mobile apps with Vue.
TypeScript and Developer Experience: Another big gap spotted by 13.8% of developers was TypeScript support. Developers mentioned issues with props, reactivity, and template inference make it harder for developers to adopt TypeScript seamlessly. Enhanced developer tools and better VS Code integration are also high on the wishlist.
Advanced Features and Usability: Features like Suspense, Vapor mode, and better support for microfrontends are commonly requested by almost 10% of the survey participants. Developers also want more flexibility with SFCs, such as allowing multiple components in one file and improved JSX/TSX integration.
Community and Visibility: Vue faces challenges with adoption and visibility compared to React according to 11% of developers. Developers report fewer job opportunities and limited community-driven content, especially for beginners and advanced users. Better marketing and corporate backing could significantly boost Vue’s reach.
Accessibility and Standards: The lack of an official accessibility library and advanced architectural guidelines for enterprise projects are notable gaps. Developers also want more standardized best practices to keep projects clean and maintainable.
15. What challenges are you facing right now with Vue.js?
513 developers decided to share with us what they find toubling when working with Vue. The most significant pain points revolve around migration, tooling, and TypeScript. Job market challenges and ecosystem growth are recurrent themes. There is a need for better documentation, real-world examples, and robust ecosystem support for Vue to thrive further. Let’s have a look at detailed responses.
15. What challenges are you facing right now with Vue.js?
513 developers decided to share with us what they find toubling when working with Vue. The most significant pain points revolve around migration, tooling, and TypeScript. Job market challenges and ecosystem growth are recurrent themes. There is a need for better documentation, real-world examples, and robust ecosystem support for Vue to thrive further. Let’s have a look at detailed responses.
15. What challenges are you facing right now with Vue.js?
513 developers decided to share with us what they find toubling when working with Vue. The most significant pain points revolve around migration, tooling, and TypeScript. Job market challenges and ecosystem growth are recurrent themes. There is a need for better documentation, real-world examples, and robust ecosystem support for Vue to thrive further. Let’s have a look at detailed responses.
Migration Difficulties. Over 25% of developers reported experiencing challenges when migrating older projects from Vue 2 to Vue 3. It was considered a challenged due to breaking changes, dependency updates, and lack of automated tools, including Vuex and Vue Router adjustments.
Tooling and Ecosystem Limitations. The second biggest issue mentioned in the survey was connected tolling and ecosystem limitations. Most popular answers depicted issues with VS Code integration, Volar stability, and language servers slowing down for large projects. Almost 17% devs pointed to a lack of robust, high-quality third-party libraries (e.g., for forms, animations, or UI components).
Job Market and Adoption Issues. Vue is perceived as having fewer job opportunities compared to React by 13.6% of respondents. Developers struggle to convince stakeholders or teams to adopt Vue over more popular frameworks.
TypeScript Challenges. 11.9% of responses were connected to the difficulty in achieving proper TypeScript support, especially with complex typing, reactivity, and composables.Slow performance in development environments for large TypeScript codebases was also one of the prevailing answers.
Learning Curve and Documentation Gaps. Developers cite difficulty onboarding new team members or transitioning to the Composition API. Lack of advanced real-world examples and documentation for state management, SSR, and testing is challenging to over 10% of devs.
The answers that gained around 7-8% of reponses circle around community and ecosystem challenges understood as fewer resources, tutorials, and libraries compared to Vue. Some developers feel Vue lacks visibility or corporate backing to grow adoption. Developers highlighted performance concerns for large-scale applications, including slow dev environments and large production bundles. Some challenges were Nuxt-specific e.g SSR complexities, and dependency management in Nuxt projects.
To help you overcome these pain points, our Vue.js Expert, Jakub Andrzejewski prepared a detailed article providing practical solutions to key challenges emerging from the survey.
Migration Difficulties. Over 25% of developers reported experiencing challenges when migrating older projects from Vue 2 to Vue 3. It was considered a challenged due to breaking changes, dependency updates, and lack of automated tools, including Vuex and Vue Router adjustments.
Tooling and Ecosystem Limitations. The second biggest issue mentioned in the survey was connected tolling and ecosystem limitations. Most popular answers depicted issues with VS Code integration, Volar stability, and language servers slowing down for large projects. Almost 17% devs pointed to a lack of robust, high-quality third-party libraries (e.g., for forms, animations, or UI components).
Job Market and Adoption Issues. Vue is perceived as having fewer job opportunities compared to React by 13.6% of respondents. Developers struggle to convince stakeholders or teams to adopt Vue over more popular frameworks.
TypeScript Challenges. 11.9% of responses were connected to the difficulty in achieving proper TypeScript support, especially with complex typing, reactivity, and composables.Slow performance in development environments for large TypeScript codebases was also one of the prevailing answers.
Learning Curve and Documentation Gaps. Developers cite difficulty onboarding new team members or transitioning to the Composition API. Lack of advanced real-world examples and documentation for state management, SSR, and testing is challenging to over 10% of devs.
The answers that gained around 7-8% of reponses circle around community and ecosystem challenges understood as fewer resources, tutorials, and libraries compared to Vue. Some developers feel Vue lacks visibility or corporate backing to grow adoption. Developers highlighted performance concerns for large-scale applications, including slow dev environments and large production bundles. Some challenges were Nuxt-specific e.g SSR complexities, and dependency management in Nuxt projects.
To help you overcome these pain points, our Vue.js Expert, Jakub Andrzejewski prepared a detailed article providing practical solutions to key challenges emerging from the survey.
Migration Difficulties. Over 25% of developers reported experiencing challenges when migrating older projects from Vue 2 to Vue 3. It was considered a challenged due to breaking changes, dependency updates, and lack of automated tools, including Vuex and Vue Router adjustments.
Tooling and Ecosystem Limitations. The second biggest issue mentioned in the survey was connected tolling and ecosystem limitations. Most popular answers depicted issues with VS Code integration, Volar stability, and language servers slowing down for large projects. Almost 17% devs pointed to a lack of robust, high-quality third-party libraries (e.g., for forms, animations, or UI components).
Job Market and Adoption Issues. Vue is perceived as having fewer job opportunities compared to React by 13.6% of respondents. Developers struggle to convince stakeholders or teams to adopt Vue over more popular frameworks.
TypeScript Challenges. 11.9% of responses were connected to the difficulty in achieving proper TypeScript support, especially with complex typing, reactivity, and composables.Slow performance in development environments for large TypeScript codebases was also one of the prevailing answers.
Learning Curve and Documentation Gaps. Developers cite difficulty onboarding new team members or transitioning to the Composition API. Lack of advanced real-world examples and documentation for state management, SSR, and testing is challenging to over 10% of devs.
The answers that gained around 7-8% of reponses circle around community and ecosystem challenges understood as fewer resources, tutorials, and libraries compared to Vue. Some developers feel Vue lacks visibility or corporate backing to grow adoption. Developers highlighted performance concerns for large-scale applications, including slow dev environments and large production bundles. Some challenges were Nuxt-specific e.g SSR complexities, and dependency management in Nuxt projects.
To help you overcome these pain points, our Vue.js Expert, Jakub Andrzejewski prepared a detailed article providing practical solutions to key challenges emerging from the survey.
16. Have you used Nuxt in any of Vue.js projects?
16. Have you used Nuxt in any of Vue.js projects?
16. Have you used Nuxt in any of Vue.js projects?
Questions about Nuxt
17. In which of the following cases, have you used Nuxt?
17. In which of the following cases, have you used Nuxt?
17. In which of the following cases, have you used Nuxt?
18. What version of Nuxt have you been working with?
18. What version of Nuxt have you been working with?
18. What version of Nuxt have you been working with?
19. What’s the probability of you using Nuxt again for a new project?
19. What’s the probability of you using Nuxt again for a new project?
19. What’s the probability of you using Nuxt again for a new project?
20. Is there anything you’re missing when it comes to Nuxt?
In the State of Vue report survey, respondents were able to share their feedback about Nuxt framework, including what they liked and what they miss nowadays. While a significant portion of them (13%) are satisfied with Nuxt and don't feel they're missing anything, there are clear areas for improvement.
20. Is there anything you’re missing when it comes to Nuxt?
In the State of Vue report survey, respondents were able to share their feedback about Nuxt framework, including what they liked and what they miss nowadays. While a significant portion of them (13%) are satisfied with Nuxt and don't feel they're missing anything, there are clear areas for improvement.
20. Is there anything you’re missing when it comes to Nuxt?
In the State of Vue report survey, respondents were able to share their feedback about Nuxt framework, including what they liked and what they miss nowadays. While a significant portion of them (13%) are satisfied with Nuxt and don't feel they're missing anything, there are clear areas for improvement.
Concerns & Recommendations
Below are the most common concerns users had related to Nuxt framework and how they can be addressed/resolved:
Ecosystem & Stability
16% of users expressed concerns about Nuxt’s ecosystem and stability, indicating a need for more reliable updates and long-term support, a stronger plugin ecosystem for better third-party integration, and improved backward compatibility and fewer breaking changes.
Recommendation: The migration between Nuxt 2 and Nuxt 3 definitely brings a lot of problems but since the release of Nuxt 3, the Nuxt Core Team decided to switch to a safer path where the next major version will come with only a few breaking changes and a proper migration guide will be provided to help users migrate easily. Minor versions are released once per month, and patch versions are released whenever needed (and they don’t come with breaking changes same as minors). This way, the Nuxt 3 development (including upcoming Nuxt 4) is much safer and less problematic.
Routing
Some users highlighted difficulties with modal routes, suggesting improvements in managing and navigating modal-based routes, and better documentation or examples for complex routing scenarios.
Recommendation: Nuxt documentation covers mainly Nuxt specific functionality and as Nuxt uses Vue Router under the hood, for more complex examples, users should go to the documentation of Vue Router. This way, the content of documentation is not duplicated while explaining basic and more complex concepts.
Core modules not migrated to Nuxt 3 (PWA, Auth)
"Out of the box PWA config/support" appeared quite frequently, implying a need for simpler and more seamless Progressive Web App (PWA) integration and enhanced cross-platform compatibility for PWA features.
Also, there is demand for an improved Auth module with better integration with existing authentication providers, more flexible customization options and stronger security features and official support.
Recommendation: Both modules (auth and PWA) were used often in the era of Nuxt 2. With the introduction of Nuxt 3 however, some internals made it impossible to migrate these modules so different modules were introduced such as Nuxt Auth Utils by Sebastien Chopin (@atinux) and PWA module for Vite and Nuxt by Anthony Fu (@antfu) and Joaquin (@Userquin)
Data Fetching
Several users found data fetching mechanisms to be clunky, specifically mentioning the complexity of implementing custom data fetching strategies and a lack of intuitive API design for managing server-side data.
Recommendation: There is a great article by Michael Thiessen about data fetching that covers these examples and an episode of DejaVue podcast.
Error Handling
Logging and error handling were described as insufficient, with concerns about the difficulty of debugging and monitoring applications and a need for clearer, more structured error messages and logging tools.
Recommendation: There is another great article by Michael Thiessen about handling errors for more complex examples and a DejaVue podcast episode.
Learning Resources & Community Support
Users suggested that Nuxt’s rich API is not used enough due to a lack of educational resources such as tutorials, documentation, and guides that could help new developers. More community-driven content (e.g., blogs, videos, courses) would improve knowledge sharing.
Recommendation: There are several good community-driven content that publish Nuxt related content such as:
Clear Documentation
The most frequent complaint could be summarised as “Documentation Issues”. 26% of respondents want better, clearer, more comprehensive documentation with examples and tutorials. They expressed the need for documentation that matches the professional level of Vue.js as the current Nuxt documentation has become vague and less helpful, it is not structured enough and does not come with in-depth examples and explanations that are needed, and does not focus on real-world use cases including information about best practices.
Recommendation: The documentation is being improved all the time. Everyday, a new example, use case, template, or feature is being added to the documentation to make it easier for newcomers to learn the concepts of Nuxt. This is a process that will take time but Nuxt team is always grateful for the contributions to help make it even better.
Migration Guide
Users requested a better migration guide for transitioning between versions and pointed issues such as lack of clear step-by-step instructions for upgrading from Nuxt 2.x to newer versions, a detailed comparison of deprecated and new features or troubleshooting common migration issues.
Recommendation: There are multiple resources created by either Nuxt core team or the community members to help with the migration process such as:
Concerns & Recommendations
Below are the most common concerns users had related to Nuxt framework and how they can be addressed/resolved:
Ecosystem & Stability
16% of users expressed concerns about Nuxt’s ecosystem and stability, indicating a need for more reliable updates and long-term support, a stronger plugin ecosystem for better third-party integration, and improved backward compatibility and fewer breaking changes.
Recommendation: The migration between Nuxt 2 and Nuxt 3 definitely brings a lot of problems but since the release of Nuxt 3, the Nuxt Core Team decided to switch to a safer path where the next major version will come with only a few breaking changes and a proper migration guide will be provided to help users migrate easily. Minor versions are released once per month, and patch versions are released whenever needed (and they don’t come with breaking changes same as minors). This way, the Nuxt 3 development (including upcoming Nuxt 4) is much safer and less problematic.
Routing
Some users highlighted difficulties with modal routes, suggesting improvements in managing and navigating modal-based routes, and better documentation or examples for complex routing scenarios.
Recommendation: Nuxt documentation covers mainly Nuxt specific functionality and as Nuxt uses Vue Router under the hood, for more complex examples, users should go to the documentation of Vue Router. This way, the content of documentation is not duplicated while explaining basic and more complex concepts.
Core modules not migrated to Nuxt 3 (PWA, Auth)
"Out of the box PWA config/support" appeared quite frequently, implying a need for simpler and more seamless Progressive Web App (PWA) integration and enhanced cross-platform compatibility for PWA features.
Also, there is demand for an improved Auth module with better integration with existing authentication providers, more flexible customization options and stronger security features and official support.
Recommendation: Both modules (auth and PWA) were used often in the era of Nuxt 2. With the introduction of Nuxt 3 however, some internals made it impossible to migrate these modules so different modules were introduced such as Nuxt Auth Utils by Sebastien Chopin (@atinux) and PWA module for Vite and Nuxt by Anthony Fu (@antfu) and Joaquin (@Userquin)
Data Fetching
Several users found data fetching mechanisms to be clunky, specifically mentioning the complexity of implementing custom data fetching strategies and a lack of intuitive API design for managing server-side data.
Recommendation: There is a great article by Michael Thiessen about data fetching that covers these examples and an episode of DejaVue podcast.
Error Handling
Logging and error handling were described as insufficient, with concerns about the difficulty of debugging and monitoring applications and a need for clearer, more structured error messages and logging tools.
Recommendation: There is another great article by Michael Thiessen about handling errors for more complex examples and a DejaVue podcast episode.
Learning Resources & Community Support
Users suggested that Nuxt’s rich API is not used enough due to a lack of educational resources such as tutorials, documentation, and guides that could help new developers. More community-driven content (e.g., blogs, videos, courses) would improve knowledge sharing.
Recommendation: There are several good community-driven content that publish Nuxt related content such as:
Clear Documentation
The most frequent complaint could be summarised as “Documentation Issues”. 26% of respondents want better, clearer, more comprehensive documentation with examples and tutorials. They expressed the need for documentation that matches the professional level of Vue.js as the current Nuxt documentation has become vague and less helpful, it is not structured enough and does not come with in-depth examples and explanations that are needed, and does not focus on real-world use cases including information about best practices.
Recommendation: The documentation is being improved all the time. Everyday, a new example, use case, template, or feature is being added to the documentation to make it easier for newcomers to learn the concepts of Nuxt. This is a process that will take time but Nuxt team is always grateful for the contributions to help make it even better.
Migration Guide
Users requested a better migration guide for transitioning between versions and pointed issues such as lack of clear step-by-step instructions for upgrading from Nuxt 2.x to newer versions, a detailed comparison of deprecated and new features or troubleshooting common migration issues.
Recommendation: There are multiple resources created by either Nuxt core team or the community members to help with the migration process such as:
Concerns & Recommendations
Below are the most common concerns users had related to Nuxt framework and how they can be addressed/resolved:
Ecosystem & Stability
16% of users expressed concerns about Nuxt’s ecosystem and stability, indicating a need for more reliable updates and long-term support, a stronger plugin ecosystem for better third-party integration, and improved backward compatibility and fewer breaking changes.
Recommendation: The migration between Nuxt 2 and Nuxt 3 definitely brings a lot of problems but since the release of Nuxt 3, the Nuxt Core Team decided to switch to a safer path where the next major version will come with only a few breaking changes and a proper migration guide will be provided to help users migrate easily. Minor versions are released once per month, and patch versions are released whenever needed (and they don’t come with breaking changes same as minors). This way, the Nuxt 3 development (including upcoming Nuxt 4) is much safer and less problematic.
Routing
Some users highlighted difficulties with modal routes, suggesting improvements in managing and navigating modal-based routes, and better documentation or examples for complex routing scenarios.
Recommendation: Nuxt documentation covers mainly Nuxt specific functionality and as Nuxt uses Vue Router under the hood, for more complex examples, users should go to the documentation of Vue Router. This way, the content of documentation is not duplicated while explaining basic and more complex concepts.
Core modules not migrated to Nuxt 3 (PWA, Auth)
"Out of the box PWA config/support" appeared quite frequently, implying a need for simpler and more seamless Progressive Web App (PWA) integration and enhanced cross-platform compatibility for PWA features.
Also, there is demand for an improved Auth module with better integration with existing authentication providers, more flexible customization options and stronger security features and official support.
Recommendation: Both modules (auth and PWA) were used often in the era of Nuxt 2. With the introduction of Nuxt 3 however, some internals made it impossible to migrate these modules so different modules were introduced such as Nuxt Auth Utils by Sebastien Chopin (@atinux) and PWA module for Vite and Nuxt by Anthony Fu (@antfu) and Joaquin (@Userquin)
Data Fetching
Several users found data fetching mechanisms to be clunky, specifically mentioning the complexity of implementing custom data fetching strategies and a lack of intuitive API design for managing server-side data.
Recommendation: There is a great article by Michael Thiessen about data fetching that covers these examples and an episode of DejaVue podcast.
Error Handling
Logging and error handling were described as insufficient, with concerns about the difficulty of debugging and monitoring applications and a need for clearer, more structured error messages and logging tools.
Recommendation: There is another great article by Michael Thiessen about handling errors for more complex examples and a DejaVue podcast episode.
Learning Resources & Community Support
Users suggested that Nuxt’s rich API is not used enough due to a lack of educational resources such as tutorials, documentation, and guides that could help new developers. More community-driven content (e.g., blogs, videos, courses) would improve knowledge sharing.
Recommendation: There are several good community-driven content that publish Nuxt related content such as:
Clear Documentation
The most frequent complaint could be summarised as “Documentation Issues”. 26% of respondents want better, clearer, more comprehensive documentation with examples and tutorials. They expressed the need for documentation that matches the professional level of Vue.js as the current Nuxt documentation has become vague and less helpful, it is not structured enough and does not come with in-depth examples and explanations that are needed, and does not focus on real-world use cases including information about best practices.
Recommendation: The documentation is being improved all the time. Everyday, a new example, use case, template, or feature is being added to the documentation to make it easier for newcomers to learn the concepts of Nuxt. This is a process that will take time but Nuxt team is always grateful for the contributions to help make it even better.
Migration Guide
Users requested a better migration guide for transitioning between versions and pointed issues such as lack of clear step-by-step instructions for upgrading from Nuxt 2.x to newer versions, a detailed comparison of deprecated and new features or troubleshooting common migration issues.
Recommendation: There are multiple resources created by either Nuxt core team or the community members to help with the migration process such as:
Demographic Questionnaire
Where are you from?
Where are you from?
Where are you from?



What's the size of your company in terms of number of employees?
What's the size of your company in terms of number of employees?
What's the size of your company in terms of number of employees?
What's your development team size?
What's your development team size?
What's your development team size?
What is your position in the company?
What is your position in the company?
What is your position in the company?
Chapter Summary
Vue has matured into a stable framework with a loyal, experienced user base that continues to evolve with modern JavaScript practices. While growth expectations have moderated slightly, the framework shows remarkable staying power and increasing developer satisfaction, with nearly all users willing to choose it again for future projects.
Chapter Summary
Vue has matured into a stable framework with a loyal, experienced user base that continues to evolve with modern JavaScript practices. While growth expectations have moderated slightly, the framework shows remarkable staying power and increasing developer satisfaction, with nearly all users willing to choose it again for future projects.
Chapter Summary
Vue has matured into a stable framework with a loyal, experienced user base that continues to evolve with modern JavaScript practices. While growth expectations have moderated slightly, the framework shows remarkable staying power and increasing developer satisfaction, with nearly all users willing to choose it again for future projects.
Typescript has exploded in popularity! Sitting in third place with just 38% of developers in its corner in 2021, it's now skyrocketed to become the number one choice for a massive 82% of the community.
State of Vue.js Report 2025 Highlights
5. What’s New in Nuxt v3 & What’s Next with v4
5. What’s New in Nuxt v3 & What’s Next with v4
5. What’s New in Nuxt v3 & What’s Next with v4
The road to Nuxt v3 was a painful one, but full of lessons for a sustainable, reliable future for Nuxt and the Nuxt ecosystem.
On 16 November 2022, we released Nuxt v3 after over two years of development. During that time, we entirely rewrote Nuxt itself - I doubt it shares a single line of code with Nuxt v2. That also meant rewriting the Nuxt server (first as Nuxt Sigma, then spun out into the standalone Nitro project), as well as creating a whole host of libraries to support a next-generation framework's needs, which you can now find in the `unjs` organization on GitHub and on UnJS.
The road to Nuxt v3 was a painful one, but full of lessons for a sustainable, reliable future for Nuxt and the Nuxt ecosystem.
On 16 November 2022, we released Nuxt v3 after over two years of development. During that time, we entirely rewrote Nuxt itself - I doubt it shares a single line of code with Nuxt v2. That also meant rewriting the Nuxt server (first as Nuxt Sigma, then spun out into the standalone Nitro project), as well as creating a whole host of libraries to support a next-generation framework's needs, which you can now find in the `unjs` organization on GitHub and on UnJS.
The road to Nuxt v3 was a painful one, but full of lessons for a sustainable, reliable future for Nuxt and the Nuxt ecosystem.
On 16 November 2022, we released Nuxt v3 after over two years of development. During that time, we entirely rewrote Nuxt itself - I doubt it shares a single line of code with Nuxt v2. That also meant rewriting the Nuxt server (first as Nuxt Sigma, then spun out into the standalone Nitro project), as well as creating a whole host of libraries to support a next-generation framework's needs, which you can now find in the `unjs` organization on GitHub and on UnJS.
Partly due to the pain we experienced, we've embraced a new philosophy for Nuxt releases.
Alexander Lichter, Consultant & Nuxt Team Member
Partly due to the pain we experienced, we've embraced a new philosophy for Nuxt releases.
Alexander Lichter, Consultant & Nuxt Team Member
Partly due to the pain we experienced, we've embraced a new philosophy for Nuxt releases.
Alexander Lichter, Consultant & Nuxt Team Member
Just after the release of Nuxt v3, in January 2023, I stepped in to lead the core team, and one of the first things I announced was the need for a new release schedule. The plan was to commit to release a bugfix ('patch') release every week or so, a new feature ('minor') release every month or so, and a new release with breaking changes (a 'major' release) every year or so. That means a couple of key things:
Nuxt is not driven by hype
Because our feature releases are scheduled regularly, and without the fanfare of a significant version change, we don't need artificiality in our releases. That works because we're not a VC-funded framework needing to prove ourselves to investors - or drive a rush of adoption. (Although note that NuxtLabs, a company which the original creators of Nuxt started, does fund work on Nuxt.)
Hype-driven development is successful because it taps into FOMO, and an unintended byproduct is often imposter syndrome - something we all know well in the tech space. I can't promise we always get this right but this is our objective.
Development is reliable
Bug-fixes aren't kept back unnecessarily, and we're committed to pushing forward a path of continual safe upgrade for users. I want to see that continue to build, as individuals, agencies and enterprises start trusting that Nuxt isn't just a good decision for an individual project but as a platform for future development. We've needed to put a few things into place to make this the case.
First, we needed a way to test Nuxt itself against regressions. As a result, we built `@nuxt/test-utils` and `nuxt-vitest` (and then merged the two) into a framework for testing the client-side of a Nuxt app.
It's now the key way to test Nuxt from end-to-end and within unit tests. Although it's currently client-side only, it's under active development, and we have plans to build a server unit test environment to make server tests as painless as possible.
Second, we needed a way to ensure that new features and fixes (on our more aggressive release schedule) didn't cause regressions in the ecosystem.
So we borrowed the 'ecosystem-ci' concept (and code!) from Vite, introducing our own `nuxt/ecosystem-ci` test suite that lets us check before any release that we haven't inadvertently broken something that the ecosystem relied upon. I would absolutely welcome PRs to add representative and well-tested open-source projects and applications to the test suite.
Third, we wanted to be able to continue to push the boundaries for experimentation whilst keeping Nuxt stable and reliable for users.
Our `experimental` and `future` options namespaces have let us do that. We were the first framework to ship support for the View Transitions API, as well as cross-origin prefetch using the Speculation Rules API (to pick two small examples).Fourth, we use internally a framework for pushing fixes and features downstream to modules built on top of Nuxt.
Our open-source registry of Nuxt modules (on `nuxt/modules`) makes this possible, as well as powering auto-install of modules directly from the Nuxt CLI and DevTools.
User experience remains crucial
The promise of a framework like Nuxt is that adopting it can reduce friction and increase productivity. As I said recently in response to a question, Nuxt is "an attempt to make excellence take less effort." That means that if the upgrade path is painful or time-consuming, we totally lose the benefit of adopting Nuxt.
I want our major version releases, therefore to be known for having thoughtful breaking changes that allow both opt-in and opt-out for new features and involve a minimum of pain when transitioning.
For a year now, it's been possible to adopt some of the breaking changes of Nuxt v4 using a flag: `future.compatibilityVersion: 4`, and countless members of the Nuxt community have done so in testing and even in production. We have a migration guide that lets users test everything and then granularly enable/disable features that might be causing an issue as part of the process.
While this can't possibly cover every change we end up including in the major release, the fact that we've been able to test so many of the breaking changes in advance means we can move forward with a great deal of confidence that the experience of upgrading to Nuxt v4 should be a comfortable one.
Just after the release of Nuxt v3, in January 2023, I stepped in to lead the core team, and one of the first things I announced was the need for a new release schedule. The plan was to commit to release a bugfix ('patch') release every week or so, a new feature ('minor') release every month or so, and a new release with breaking changes (a 'major' release) every year or so. That means a couple of key things:
Nuxt is not driven by hype
Because our feature releases are scheduled regularly, and without the fanfare of a significant version change, we don't need artificiality in our releases. That works because we're not a VC-funded framework needing to prove ourselves to investors - or drive a rush of adoption. (Although note that NuxtLabs, a company which the original creators of Nuxt started, does fund work on Nuxt.)
Hype-driven development is successful because it taps into FOMO, and an unintended byproduct is often imposter syndrome - something we all know well in the tech space. I can't promise we always get this right but this is our objective.
Development is reliable
Bug-fixes aren't kept back unnecessarily, and we're committed to pushing forward a path of continual safe upgrade for users. I want to see that continue to build, as individuals, agencies and enterprises start trusting that Nuxt isn't just a good decision for an individual project but as a platform for future development. We've needed to put a few things into place to make this the case.
First, we needed a way to test Nuxt itself against regressions. As a result, we built `@nuxt/test-utils` and `nuxt-vitest` (and then merged the two) into a framework for testing the client-side of a Nuxt app.
It's now the key way to test Nuxt from end-to-end and within unit tests. Although it's currently client-side only, it's under active development, and we have plans to build a server unit test environment to make server tests as painless as possible.
Second, we needed a way to ensure that new features and fixes (on our more aggressive release schedule) didn't cause regressions in the ecosystem.
So we borrowed the 'ecosystem-ci' concept (and code!) from Vite, introducing our own `nuxt/ecosystem-ci` test suite that lets us check before any release that we haven't inadvertently broken something that the ecosystem relied upon. I would absolutely welcome PRs to add representative and well-tested open-source projects and applications to the test suite.
Third, we wanted to be able to continue to push the boundaries for experimentation whilst keeping Nuxt stable and reliable for users.
Our `experimental` and `future` options namespaces have let us do that. We were the first framework to ship support for the View Transitions API, as well as cross-origin prefetch using the Speculation Rules API (to pick two small examples).Fourth, we use internally a framework for pushing fixes and features downstream to modules built on top of Nuxt.
Our open-source registry of Nuxt modules (on `nuxt/modules`) makes this possible, as well as powering auto-install of modules directly from the Nuxt CLI and DevTools.
User experience remains crucial
The promise of a framework like Nuxt is that adopting it can reduce friction and increase productivity. As I said recently in response to a question, Nuxt is "an attempt to make excellence take less effort." That means that if the upgrade path is painful or time-consuming, we totally lose the benefit of adopting Nuxt.
I want our major version releases, therefore to be known for having thoughtful breaking changes that allow both opt-in and opt-out for new features and involve a minimum of pain when transitioning.
For a year now, it's been possible to adopt some of the breaking changes of Nuxt v4 using a flag: `future.compatibilityVersion: 4`, and countless members of the Nuxt community have done so in testing and even in production. We have a migration guide that lets users test everything and then granularly enable/disable features that might be causing an issue as part of the process.
While this can't possibly cover every change we end up including in the major release, the fact that we've been able to test so many of the breaking changes in advance means we can move forward with a great deal of confidence that the experience of upgrading to Nuxt v4 should be a comfortable one.
Just after the release of Nuxt v3, in January 2023, I stepped in to lead the core team, and one of the first things I announced was the need for a new release schedule. The plan was to commit to release a bugfix ('patch') release every week or so, a new feature ('minor') release every month or so, and a new release with breaking changes (a 'major' release) every year or so. That means a couple of key things:
Nuxt is not driven by hype
Because our feature releases are scheduled regularly, and without the fanfare of a significant version change, we don't need artificiality in our releases. That works because we're not a VC-funded framework needing to prove ourselves to investors - or drive a rush of adoption. (Although note that NuxtLabs, a company which the original creators of Nuxt started, does fund work on Nuxt.)
Hype-driven development is successful because it taps into FOMO, and an unintended byproduct is often imposter syndrome - something we all know well in the tech space. I can't promise we always get this right but this is our objective.
Development is reliable
Bug-fixes aren't kept back unnecessarily, and we're committed to pushing forward a path of continual safe upgrade for users. I want to see that continue to build, as individuals, agencies and enterprises start trusting that Nuxt isn't just a good decision for an individual project but as a platform for future development. We've needed to put a few things into place to make this the case.
First, we needed a way to test Nuxt itself against regressions. As a result, we built `@nuxt/test-utils` and `nuxt-vitest` (and then merged the two) into a framework for testing the client-side of a Nuxt app.
It's now the key way to test Nuxt from end-to-end and within unit tests. Although it's currently client-side only, it's under active development, and we have plans to build a server unit test environment to make server tests as painless as possible.
Second, we needed a way to ensure that new features and fixes (on our more aggressive release schedule) didn't cause regressions in the ecosystem.
So we borrowed the 'ecosystem-ci' concept (and code!) from Vite, introducing our own `nuxt/ecosystem-ci` test suite that lets us check before any release that we haven't inadvertently broken something that the ecosystem relied upon. I would absolutely welcome PRs to add representative and well-tested open-source projects and applications to the test suite.
Third, we wanted to be able to continue to push the boundaries for experimentation whilst keeping Nuxt stable and reliable for users.
Our `experimental` and `future` options namespaces have let us do that. We were the first framework to ship support for the View Transitions API, as well as cross-origin prefetch using the Speculation Rules API (to pick two small examples).Fourth, we use internally a framework for pushing fixes and features downstream to modules built on top of Nuxt.
Our open-source registry of Nuxt modules (on `nuxt/modules`) makes this possible, as well as powering auto-install of modules directly from the Nuxt CLI and DevTools.
User experience remains crucial
The promise of a framework like Nuxt is that adopting it can reduce friction and increase productivity. As I said recently in response to a question, Nuxt is "an attempt to make excellence take less effort." That means that if the upgrade path is painful or time-consuming, we totally lose the benefit of adopting Nuxt.
I want our major version releases, therefore to be known for having thoughtful breaking changes that allow both opt-in and opt-out for new features and involve a minimum of pain when transitioning.
For a year now, it's been possible to adopt some of the breaking changes of Nuxt v4 using a flag: `future.compatibilityVersion: 4`, and countless members of the Nuxt community have done so in testing and even in production. We have a migration guide that lets users test everything and then granularly enable/disable features that might be causing an issue as part of the process.
While this can't possibly cover every change we end up including in the major release, the fact that we've been able to test so many of the breaking changes in advance means we can move forward with a great deal of confidence that the experience of upgrading to Nuxt v4 should be a comfortable one.
That said, the release of Nuxt v4 is just around the corner.
Alexander Lichter, Consultant & Nuxt Team Member
That said, the release of Nuxt v4 is just around the corner.
Alexander Lichter, Consultant & Nuxt Team Member
That said, the release of Nuxt v4 is just around the corner.
Alexander Lichter, Consultant & Nuxt Team Member
Since May 2024, we've been waiting for an impending major release of Nitro, which has been a considerably more complex process than initially anticipated. (In fact, if I had known, then it wouldn't have been released by the end of 2024, so we probably would have gone ahead with Nuxt v4 as originally planned in June 2024.)
However, hindsight is 20:20, and the fact that we've allowed users to opt-in to the Nuxt breaking changes means that hopefully, this delay has not unduly inconvenienced people or teams looking to schedule their work.
Our plan today is to allow for at least a month of testing after the release of Nitro v3, to ensure the ecosystem is prepared for a swathe of users testing it. That means core modules need a chance to be updated and compatible with any additional breaking changes Nitro brings to the table, for example.
While that might be painful and definitely prevents us from the high of conference-driven development, I think it strikes a balance between opting into new features earlier and deferring the final release until it's thoroughly tested.Ultimately, I hope these changes and this approach will create a stabler, more reliable experience for Nuxt users.
The Nuxt Ecosystem
Nuxt is its community–the ecosystem of dedicated maintainers, talented module authors, and enthusiastic users who collaborate to push the framework forward. This vibrant community connects through the Nuxt Discord server, with over 28,000 members. The module ecosystem showcases Nuxt's commitment to collaboration, with more than 250 modules built and maintained by 208 Nuxters.
In the following sections, we examine just some of the Nuxt module updates across three areas: core modules developed by the Nuxt team and innovative solutions from the community. We also take a quick look at the UnJS ecosystem.
Core Modules
Core modules form the foundation of the Nuxt ecosystem, providing essential features that enhance every Nuxt application. Following Nuxt's principle of choice, these modules remain optional, enabling developers to select precisely the functionality their projects require. While the Nuxt core team leads the development of these modules, they flourish through active community involvement in feedback and maintenance.
Nuxt Content version 3 introduces SQL-based collections. It now includes serverless support, transforming how Nuxt applications manage content.
Nuxt UI version 3 has entered alpha. This major update transitions to Tailwind v4 and Reka UI (previously Radix Vue). The redesign brings significant improvements to the component architecture.
Nuxt Hub simplifies CloudFlare infrastructure integration.
Nuxt Scripts enters beta with a commitment to performance and privacy for third-party scripts.
Nuxt Fonts provides a comprehensive solution for font management.
Community Modules
The Nuxt community continues to enrich the ecosystem with innovative modules that address specific development needs. These community-driven solutions span authentication, security, performance, and developer experience, demonstrating the diverse expertise within the Nuxt community.
Authentication and Security:
Nuxt Auth Utils has expanded to support over 30 OAuth providers and recently introduced WebSocket capabilities for real-time applications.
Nuxt Security is advancing the framework's security posture by working to integrate Content Security Policy directly into the core.
Clerk provides a comprehensive user management solution through their official Nuxt module.
Internationalization and SEO:
Nuxt I18n releases version 9 with enhanced TypeScript support and improved directory structure alignment with Nuxt 4.
Nuxt I18n Micro explores internationalization with a reduced runtime footprint, offering an alternative for performance-critical applications.
Nuxt SEO has achieved stability with its version 2 release, offering robust search engine optimization tools.
Performance and Developer Experience:
Sentry offers enterprise-grade error monitoring through their official beta module.
Nuxt Vitalizer focuses on improving out-of-the-box performance metrics.
Nuxt API Party streamlines third-party service integration.
These community contributions and official integrations demonstrate the ecosystem's maturity and commitment to providing enterprise-ready solutions while continuing to innovate in developer experience.
UnJS Ecosystem
The UnJS ecosystem forms the foundation of Nuxt's architecture, with 63 specialized JavaScript packages serving 421 million monthly downloads. This year brings significant updates to core UnJS packages that power Nuxt's functionality, including h3, rou3, and unstorage.
Notable new additions to the UnJS ecosystem include:
unrouting brings universal filesystem routing capabilities.
db0 provides lightweight SQL connectivity.
unwasm offers WebAssembly tooling for JavaScript.
crossws enables WebSocket servers across Node.js, Deno, Bun, and Cloudflare Workers.
Major updates are in progress for essential packages, including jiti for runtime support, mlly for module loading, ufo for URL handling, and consola for logging. These improvements continue to strengthen both Nuxt's foundation and the broader JavaScript ecosystem.
Nuxt.js in Practice: Real-World Application Case Studies
Throughout the years, Nuxt.js has evolved to become one of the most powerful meta-frameworks in the web ecosystem. In this chapter, we will explore a handful of projects that demonstrate Nuxt.js's capabilities in production. In the following case studies, applications with different use cases, solutions, and requirements are presented–from e-commerce solutions to learning platforms and AI-based tools.
The goal is to not only show the capabilities of Nuxt.js but also how Nuxt actually helps to solve real-world problems and challenges. Through the diversity of applications, Nuxt.js also proves its flexibility and adaptability to different scenarios.
Since May 2024, we've been waiting for an impending major release of Nitro, which has been a considerably more complex process than initially anticipated. (In fact, if I had known, then it wouldn't have been released by the end of 2024, so we probably would have gone ahead with Nuxt v4 as originally planned in June 2024.)
However, hindsight is 20:20, and the fact that we've allowed users to opt-in to the Nuxt breaking changes means that hopefully, this delay has not unduly inconvenienced people or teams looking to schedule their work.
Our plan today is to allow for at least a month of testing after the release of Nitro v3, to ensure the ecosystem is prepared for a swathe of users testing it. That means core modules need a chance to be updated and compatible with any additional breaking changes Nitro brings to the table, for example.
While that might be painful and definitely prevents us from the high of conference-driven development, I think it strikes a balance between opting into new features earlier and deferring the final release until it's thoroughly tested.Ultimately, I hope these changes and this approach will create a stabler, more reliable experience for Nuxt users.
The Nuxt Ecosystem
Nuxt is its community–the ecosystem of dedicated maintainers, talented module authors, and enthusiastic users who collaborate to push the framework forward. This vibrant community connects through the Nuxt Discord server, with over 28,000 members. The module ecosystem showcases Nuxt's commitment to collaboration, with more than 250 modules built and maintained by 208 Nuxters.
In the following sections, we examine just some of the Nuxt module updates across three areas: core modules developed by the Nuxt team and innovative solutions from the community. We also take a quick look at the UnJS ecosystem.
Core Modules
Core modules form the foundation of the Nuxt ecosystem, providing essential features that enhance every Nuxt application. Following Nuxt's principle of choice, these modules remain optional, enabling developers to select precisely the functionality their projects require. While the Nuxt core team leads the development of these modules, they flourish through active community involvement in feedback and maintenance.
Nuxt Content version 3 introduces SQL-based collections. It now includes serverless support, transforming how Nuxt applications manage content.
Nuxt UI version 3 has entered alpha. This major update transitions to Tailwind v4 and Reka UI (previously Radix Vue). The redesign brings significant improvements to the component architecture.
Nuxt Hub simplifies CloudFlare infrastructure integration.
Nuxt Scripts enters beta with a commitment to performance and privacy for third-party scripts.
Nuxt Fonts provides a comprehensive solution for font management.
Community Modules
The Nuxt community continues to enrich the ecosystem with innovative modules that address specific development needs. These community-driven solutions span authentication, security, performance, and developer experience, demonstrating the diverse expertise within the Nuxt community.
Authentication and Security:
Nuxt Auth Utils has expanded to support over 30 OAuth providers and recently introduced WebSocket capabilities for real-time applications.
Nuxt Security is advancing the framework's security posture by working to integrate Content Security Policy directly into the core.
Clerk provides a comprehensive user management solution through their official Nuxt module.
Internationalization and SEO:
Nuxt I18n releases version 9 with enhanced TypeScript support and improved directory structure alignment with Nuxt 4.
Nuxt I18n Micro explores internationalization with a reduced runtime footprint, offering an alternative for performance-critical applications.
Nuxt SEO has achieved stability with its version 2 release, offering robust search engine optimization tools.
Performance and Developer Experience:
Sentry offers enterprise-grade error monitoring through their official beta module.
Nuxt Vitalizer focuses on improving out-of-the-box performance metrics.
Nuxt API Party streamlines third-party service integration.
These community contributions and official integrations demonstrate the ecosystem's maturity and commitment to providing enterprise-ready solutions while continuing to innovate in developer experience.
UnJS Ecosystem
The UnJS ecosystem forms the foundation of Nuxt's architecture, with 63 specialized JavaScript packages serving 421 million monthly downloads. This year brings significant updates to core UnJS packages that power Nuxt's functionality, including h3, rou3, and unstorage.
Notable new additions to the UnJS ecosystem include:
unrouting brings universal filesystem routing capabilities.
db0 provides lightweight SQL connectivity.
unwasm offers WebAssembly tooling for JavaScript.
crossws enables WebSocket servers across Node.js, Deno, Bun, and Cloudflare Workers.
Major updates are in progress for essential packages, including jiti for runtime support, mlly for module loading, ufo for URL handling, and consola for logging. These improvements continue to strengthen both Nuxt's foundation and the broader JavaScript ecosystem.
Nuxt.js in Practice: Real-World Application Case Studies
Throughout the years, Nuxt.js has evolved to become one of the most powerful meta-frameworks in the web ecosystem. In this chapter, we will explore a handful of projects that demonstrate Nuxt.js's capabilities in production. In the following case studies, applications with different use cases, solutions, and requirements are presented–from e-commerce solutions to learning platforms and AI-based tools.
The goal is to not only show the capabilities of Nuxt.js but also how Nuxt actually helps to solve real-world problems and challenges. Through the diversity of applications, Nuxt.js also proves its flexibility and adaptability to different scenarios.
Since May 2024, we've been waiting for an impending major release of Nitro, which has been a considerably more complex process than initially anticipated. (In fact, if I had known, then it wouldn't have been released by the end of 2024, so we probably would have gone ahead with Nuxt v4 as originally planned in June 2024.)
However, hindsight is 20:20, and the fact that we've allowed users to opt-in to the Nuxt breaking changes means that hopefully, this delay has not unduly inconvenienced people or teams looking to schedule their work.
Our plan today is to allow for at least a month of testing after the release of Nitro v3, to ensure the ecosystem is prepared for a swathe of users testing it. That means core modules need a chance to be updated and compatible with any additional breaking changes Nitro brings to the table, for example.
While that might be painful and definitely prevents us from the high of conference-driven development, I think it strikes a balance between opting into new features earlier and deferring the final release until it's thoroughly tested.Ultimately, I hope these changes and this approach will create a stabler, more reliable experience for Nuxt users.
The Nuxt Ecosystem
Nuxt is its community–the ecosystem of dedicated maintainers, talented module authors, and enthusiastic users who collaborate to push the framework forward. This vibrant community connects through the Nuxt Discord server, with over 28,000 members. The module ecosystem showcases Nuxt's commitment to collaboration, with more than 250 modules built and maintained by 208 Nuxters.
In the following sections, we examine just some of the Nuxt module updates across three areas: core modules developed by the Nuxt team and innovative solutions from the community. We also take a quick look at the UnJS ecosystem.
Core Modules
Core modules form the foundation of the Nuxt ecosystem, providing essential features that enhance every Nuxt application. Following Nuxt's principle of choice, these modules remain optional, enabling developers to select precisely the functionality their projects require. While the Nuxt core team leads the development of these modules, they flourish through active community involvement in feedback and maintenance.
Nuxt Content version 3 introduces SQL-based collections. It now includes serverless support, transforming how Nuxt applications manage content.
Nuxt UI version 3 has entered alpha. This major update transitions to Tailwind v4 and Reka UI (previously Radix Vue). The redesign brings significant improvements to the component architecture.
Nuxt Hub simplifies CloudFlare infrastructure integration.
Nuxt Scripts enters beta with a commitment to performance and privacy for third-party scripts.
Nuxt Fonts provides a comprehensive solution for font management.
Community Modules
The Nuxt community continues to enrich the ecosystem with innovative modules that address specific development needs. These community-driven solutions span authentication, security, performance, and developer experience, demonstrating the diverse expertise within the Nuxt community.
Authentication and Security:
Nuxt Auth Utils has expanded to support over 30 OAuth providers and recently introduced WebSocket capabilities for real-time applications.
Nuxt Security is advancing the framework's security posture by working to integrate Content Security Policy directly into the core.
Clerk provides a comprehensive user management solution through their official Nuxt module.
Internationalization and SEO:
Nuxt I18n releases version 9 with enhanced TypeScript support and improved directory structure alignment with Nuxt 4.
Nuxt I18n Micro explores internationalization with a reduced runtime footprint, offering an alternative for performance-critical applications.
Nuxt SEO has achieved stability with its version 2 release, offering robust search engine optimization tools.
Performance and Developer Experience:
Sentry offers enterprise-grade error monitoring through their official beta module.
Nuxt Vitalizer focuses on improving out-of-the-box performance metrics.
Nuxt API Party streamlines third-party service integration.
These community contributions and official integrations demonstrate the ecosystem's maturity and commitment to providing enterprise-ready solutions while continuing to innovate in developer experience.
UnJS Ecosystem
The UnJS ecosystem forms the foundation of Nuxt's architecture, with 63 specialized JavaScript packages serving 421 million monthly downloads. This year brings significant updates to core UnJS packages that power Nuxt's functionality, including h3, rou3, and unstorage.
Notable new additions to the UnJS ecosystem include:
unrouting brings universal filesystem routing capabilities.
db0 provides lightweight SQL connectivity.
unwasm offers WebAssembly tooling for JavaScript.
crossws enables WebSocket servers across Node.js, Deno, Bun, and Cloudflare Workers.
Major updates are in progress for essential packages, including jiti for runtime support, mlly for module loading, ufo for URL handling, and consola for logging. These improvements continue to strengthen both Nuxt's foundation and the broader JavaScript ecosystem.
Nuxt.js in Practice: Real-World Application Case Studies
Throughout the years, Nuxt.js has evolved to become one of the most powerful meta-frameworks in the web ecosystem. In this chapter, we will explore a handful of projects that demonstrate Nuxt.js's capabilities in production. In the following case studies, applications with different use cases, solutions, and requirements are presented–from e-commerce solutions to learning platforms and AI-based tools.
The goal is to not only show the capabilities of Nuxt.js but also how Nuxt actually helps to solve real-world problems and challenges. Through the diversity of applications, Nuxt.js also proves its flexibility and adaptability to different scenarios.
From SaaS to custom solution for the Academy Portal
From SaaS to custom solution for the Academy Portal
From SaaS to custom solution for the Academy Portal
About Intrinsify
Intrinsify, founded by Prof. Dr. Lars Vollmer and Mark Poppenborg, faced a challenge with their digital learning portal. They needed an integrated learning platform that matched their specific requirements while providing a great user experience. After trying out various Software-as-a-Service applications, the result was clear–No other SaaS could cater to their needs. Thus, they decided to build their learning platform, the intrinsify Academy Portal.
About Intrinsify
Intrinsify, founded by Prof. Dr. Lars Vollmer and Mark Poppenborg, faced a challenge with their digital learning portal. They needed an integrated learning platform that matched their specific requirements while providing a great user experience. After trying out various Software-as-a-Service applications, the result was clear–No other SaaS could cater to their needs. Thus, they decided to build their learning platform, the intrinsify Academy Portal.
About Intrinsify
Intrinsify, founded by Prof. Dr. Lars Vollmer and Mark Poppenborg, faced a challenge with their digital learning portal. They needed an integrated learning platform that matched their specific requirements while providing a great user experience. After trying out various Software-as-a-Service applications, the result was clear–No other SaaS could cater to their needs. Thus, they decided to build their learning platform, the intrinsify Academy Portal.
The learning management system features a sophisticated permission framework that enables fine-grained access control. Administrators can assign lessons to specific users or groups and control access based on triggers, such as time constraints and/or user progress. The system allows for hierarchical organization through categories and bundles, each with its own configurable permission settings.
Further, the portal supports diverse lesson formats and interactive experiments, creating an engaging learning experience that promotes continuous advancement. Users can track their development through an integrated profile system while staying informed via implemented notifications.
After evaluating technologies for the project, we decided to adopt Nuxt.js 3 during its beta phase. Given that the development would take longer, we were confident that we could launch our app with the full release of Nuxt.js 3 and successfully launched our platform in January 2023, faster than initially planned.
The learning management system features a sophisticated permission framework that enables fine-grained access control. Administrators can assign lessons to specific users or groups and control access based on triggers, such as time constraints and/or user progress. The system allows for hierarchical organization through categories and bundles, each with its own configurable permission settings.
Further, the portal supports diverse lesson formats and interactive experiments, creating an engaging learning experience that promotes continuous advancement. Users can track their development through an integrated profile system while staying informed via implemented notifications.
After evaluating technologies for the project, we decided to adopt Nuxt.js 3 during its beta phase. Given that the development would take longer, we were confident that we could launch our app with the full release of Nuxt.js 3 and successfully launched our platform in January 2023, faster than initially planned.
The learning management system features a sophisticated permission framework that enables fine-grained access control. Administrators can assign lessons to specific users or groups and control access based on triggers, such as time constraints and/or user progress. The system allows for hierarchical organization through categories and bundles, each with its own configurable permission settings.
Further, the portal supports diverse lesson formats and interactive experiments, creating an engaging learning experience that promotes continuous advancement. Users can track their development through an integrated profile system while staying informed via implemented notifications.
After evaluating technologies for the project, we decided to adopt Nuxt.js 3 during its beta phase. Given that the development would take longer, we were confident that we could launch our app with the full release of Nuxt.js 3 and successfully launched our platform in January 2023, faster than initially planned.
Our bet on the meta-framework has been proven to be worth it, not due to fitting release time but because Nuxt is a game-changer during our development process and beyond.
Christopher H. Stappert, Engineering Manager at Intrinsify
Our bet on the meta-framework has been proven to be worth it, not due to fitting release time but because Nuxt is a game-changer during our development process and beyond.
Christopher H. Stappert, Engineering Manager at Intrinsify
Our bet on the meta-framework has been proven to be worth it, not due to fitting release time but because Nuxt is a game-changer during our development process and beyond.
Christopher H. Stappert, Engineering Manager at Intrinsify
The project started fully behind authentication, meaning that we could use Nuxt without Server Side Rendering, while still having the option to add SRR or SSG if needed, for example, when certain content should be available as a preview for non-registered users. Even though our application wasn’t server-rendered, Nuxt’s server engine Nitro was heavily used. With it, we could handle all the complex backend logic while benefiting from end-to-end type safety with Nuxt.
Another key part that we highly value with Nuxt (and Nitro) is the vast options of deployment providers. While initially hosting the application on Digital Ocean, we switched to Vercel throughout the process and did not need to change a single line of code. Nuxt handled both providers under the hood with zero config.
Besides Nuxt, our technology stack included Tailwind CSS (previously Windi CSS, which we migrated away from) as the CSS framework of choice due to the ease of implementing an existing Corporate Design. Storyblok was the headless CMS for learning content, making it easy for non-technical people to create content. FormKit was chosen as the library for form integrations, especially for the complex permission forms in the application's back office. Data was saved via MongoDB, while authentication and login were handled via Auth0 and the @sidebase/nuxt-auth
package. We used Vitest as the main testing library for migration scripts and business logic, such as the permission system, and Playwright as the E2E testing tool of choice.
The project started fully behind authentication, meaning that we could use Nuxt without Server Side Rendering, while still having the option to add SRR or SSG if needed, for example, when certain content should be available as a preview for non-registered users. Even though our application wasn’t server-rendered, Nuxt’s server engine Nitro was heavily used. With it, we could handle all the complex backend logic while benefiting from end-to-end type safety with Nuxt.
Another key part that we highly value with Nuxt (and Nitro) is the vast options of deployment providers. While initially hosting the application on Digital Ocean, we switched to Vercel throughout the process and did not need to change a single line of code. Nuxt handled both providers under the hood with zero config.
Besides Nuxt, our technology stack included Tailwind CSS (previously Windi CSS, which we migrated away from) as the CSS framework of choice due to the ease of implementing an existing Corporate Design. Storyblok was the headless CMS for learning content, making it easy for non-technical people to create content. FormKit was chosen as the library for form integrations, especially for the complex permission forms in the application's back office. Data was saved via MongoDB, while authentication and login were handled via Auth0 and the @sidebase/nuxt-auth
package. We used Vitest as the main testing library for migration scripts and business logic, such as the permission system, and Playwright as the E2E testing tool of choice.
The project started fully behind authentication, meaning that we could use Nuxt without Server Side Rendering, while still having the option to add SRR or SSG if needed, for example, when certain content should be available as a preview for non-registered users. Even though our application wasn’t server-rendered, Nuxt’s server engine Nitro was heavily used. With it, we could handle all the complex backend logic while benefiting from end-to-end type safety with Nuxt.
Another key part that we highly value with Nuxt (and Nitro) is the vast options of deployment providers. While initially hosting the application on Digital Ocean, we switched to Vercel throughout the process and did not need to change a single line of code. Nuxt handled both providers under the hood with zero config.
Besides Nuxt, our technology stack included Tailwind CSS (previously Windi CSS, which we migrated away from) as the CSS framework of choice due to the ease of implementing an existing Corporate Design. Storyblok was the headless CMS for learning content, making it easy for non-technical people to create content. FormKit was chosen as the library for form integrations, especially for the complex permission forms in the application's back office. Data was saved via MongoDB, while authentication and login were handled via Auth0 and the @sidebase/nuxt-auth
package. We used Vitest as the main testing library for migration scripts and business logic, such as the permission system, and Playwright as the E2E testing tool of choice.
After the launch, we recognized a drop of 70% on customer support needs and user feedback, showing a greatly improved user experience. Due to the great experience with Nuxt, we continued using it in other applications throughout the company and can only recommend the framework.
Christopher H. Stappert, Engineering Manager at Intrinsify
After the launch, we recognized a drop of 70% on customer support needs and user feedback, showing a greatly improved user experience. Due to the great experience with Nuxt, we continued using it in other applications throughout the company and can only recommend the framework.
Christopher H. Stappert, Engineering Manager at Intrinsify
After the launch, we recognized a drop of 70% on customer support needs and user feedback, showing a greatly improved user experience. Due to the great experience with Nuxt, we continued using it in other applications throughout the company and can only recommend the framework.
Christopher H. Stappert, Engineering Manager at Intrinsify
Accelerating career growth with an AI-powered helper
Accelerating career growth with an AI-powered helper
Accelerating career growth with an AI-powered helper
About CareerDeck AI
CareerDeck AI, founded by Marlotte van Herksen and Patrick van Everdingen, transforms the traditional job search and helps you automate it. CareerDeck AI serves as your dedicated career copilot, providing intelligent guidance from the moment you discover a promising vacancy until you confidently sign your offer letter.
About CareerDeck AI
CareerDeck AI, founded by Marlotte van Herksen and Patrick van Everdingen, transforms the traditional job search and helps you automate it. CareerDeck AI serves as your dedicated career copilot, providing intelligent guidance from the moment you discover a promising vacancy until you confidently sign your offer letter.
About CareerDeck AI
CareerDeck AI, founded by Marlotte van Herksen and Patrick van Everdingen, transforms the traditional job search and helps you automate it. CareerDeck AI serves as your dedicated career copilot, providing intelligent guidance from the moment you discover a promising vacancy until you confidently sign your offer letter.
CareerDeck AI leverages AI technology to deliver personalized career assistance at scale:
AI-Powered Resume Optimization: A common pitfall for job seekers is that they donʼt tailor resumes to particular job vacancies. Just like each job listing requires a different set of skills, so does your resume need to showcase these. Our AI analyses job descriptions and creates ATS-friendly resumes and lets you choose from 20 different resume templates.
Dynamic Cover Letter Generation: Creating compelling narratives that showcase relevant experience while maintaining authentic voice and professional tone. A research agent performs deep research on a company and uses this information to craft a unique cover letter that doesnʼt sound “ChatGPT-likeˮ.
Interactive Interview Preparation: At CareerDeck AI we believe in authenticity and practice. Thatʼs why we have created an interactive AI mock interview simulator, which allows you to practice and prepare for a job interview using audio and video.
CareerDeck Academy: We offer courses and tutorials on how to set yourself up for success during the job search. These video courses include topics such as non-verbal communication, presenting skills, crafting an elevator pitch and salary negotiations.
When starting to build the first prototypes, we decided on using Nuxt.js as Nuxt and Vue were used in previous projects and convinced in terms of both, user experience and developer experience. The TypeScript support is superb and keeps us as far away from runtime errors as possible.
CareerDeck AI leverages AI technology to deliver personalized career assistance at scale:
AI-Powered Resume Optimization: A common pitfall for job seekers is that they donʼt tailor resumes to particular job vacancies. Just like each job listing requires a different set of skills, so does your resume need to showcase these. Our AI analyses job descriptions and creates ATS-friendly resumes and lets you choose from 20 different resume templates.
Dynamic Cover Letter Generation: Creating compelling narratives that showcase relevant experience while maintaining authentic voice and professional tone. A research agent performs deep research on a company and uses this information to craft a unique cover letter that doesnʼt sound “ChatGPT-likeˮ.
Interactive Interview Preparation: At CareerDeck AI we believe in authenticity and practice. Thatʼs why we have created an interactive AI mock interview simulator, which allows you to practice and prepare for a job interview using audio and video.
CareerDeck Academy: We offer courses and tutorials on how to set yourself up for success during the job search. These video courses include topics such as non-verbal communication, presenting skills, crafting an elevator pitch and salary negotiations.
When starting to build the first prototypes, we decided on using Nuxt.js as Nuxt and Vue were used in previous projects and convinced in terms of both, user experience and developer experience. The TypeScript support is superb and keeps us as far away from runtime errors as possible.
CareerDeck AI leverages AI technology to deliver personalized career assistance at scale:
AI-Powered Resume Optimization: A common pitfall for job seekers is that they donʼt tailor resumes to particular job vacancies. Just like each job listing requires a different set of skills, so does your resume need to showcase these. Our AI analyses job descriptions and creates ATS-friendly resumes and lets you choose from 20 different resume templates.
Dynamic Cover Letter Generation: Creating compelling narratives that showcase relevant experience while maintaining authentic voice and professional tone. A research agent performs deep research on a company and uses this information to craft a unique cover letter that doesnʼt sound “ChatGPT-likeˮ.
Interactive Interview Preparation: At CareerDeck AI we believe in authenticity and practice. Thatʼs why we have created an interactive AI mock interview simulator, which allows you to practice and prepare for a job interview using audio and video.
CareerDeck Academy: We offer courses and tutorials on how to set yourself up for success during the job search. These video courses include topics such as non-verbal communication, presenting skills, crafting an elevator pitch and salary negotiations.
When starting to build the first prototypes, we decided on using Nuxt.js as Nuxt and Vue were used in previous projects and convinced in terms of both, user experience and developer experience. The TypeScript support is superb and keeps us as far away from runtime errors as possible.
To our delight, Nuxt is also an ideal meta-framework to integrate AI responses, which are often delivered as web streams, no matter if you do it through Server-Sent Events, own Backend-For-Frontend via Nitro in the same application, or simply consume a third party API.
Patrick van Everdingen, AI Solutions Engineer & Founder at CareerDeck AI
To our delight, Nuxt is also an ideal meta-framework to integrate AI responses, which are often delivered as web streams, no matter if you do it through Server-Sent Events, own Backend-For-Frontend via Nitro in the same application, or simply consume a third party API.
Patrick van Everdingen, AI Solutions Engineer & Founder at CareerDeck AI
To our delight, Nuxt is also an ideal meta-framework to integrate AI responses, which are often delivered as web streams, no matter if you do it through Server-Sent Events, own Backend-For-Frontend via Nitro in the same application, or simply consume a third party API.
Patrick van Everdingen, AI Solutions Engineer & Founder at CareerDeck AI
Also, Vercel’s AI SDK, which provides a unified API for integrations with OpenAI, Anthropic, and Langchain.js, can be easily integrated into a Nuxt application, making the usage of AI even easier. Another easy integration was Tavus.io, which is responsible for the AI generation of personalized coaching videos.
In addition to working well with AI, SEO and good web performance were further requirements. Nuxt ensures good SEO via Server-Side Rendering and provides excellent performance out of the box, as well as modules to ensure you can use images, scripts and web fonts in the most performant way possible.
Another module that came in handy was the Nuxt Content module, allowing us to use any kind of flat files as CMS while even providing more flexibility with the recent release of version 3. As the UI library of choice, Nuxt UI (with their Pro components) was chosen, which ensured that our PoC could be built quickly. Tailwind CSS was used to refine the styles further or for rapid prototyping. Auth was covered via Supabase, and PostgreSQL was used as the backend database.
Also, Vercel’s AI SDK, which provides a unified API for integrations with OpenAI, Anthropic, and Langchain.js, can be easily integrated into a Nuxt application, making the usage of AI even easier. Another easy integration was Tavus.io, which is responsible for the AI generation of personalized coaching videos.
In addition to working well with AI, SEO and good web performance were further requirements. Nuxt ensures good SEO via Server-Side Rendering and provides excellent performance out of the box, as well as modules to ensure you can use images, scripts and web fonts in the most performant way possible.
Another module that came in handy was the Nuxt Content module, allowing us to use any kind of flat files as CMS while even providing more flexibility with the recent release of version 3. As the UI library of choice, Nuxt UI (with their Pro components) was chosen, which ensured that our PoC could be built quickly. Tailwind CSS was used to refine the styles further or for rapid prototyping. Auth was covered via Supabase, and PostgreSQL was used as the backend database.
Also, Vercel’s AI SDK, which provides a unified API for integrations with OpenAI, Anthropic, and Langchain.js, can be easily integrated into a Nuxt application, making the usage of AI even easier. Another easy integration was Tavus.io, which is responsible for the AI generation of personalized coaching videos.
In addition to working well with AI, SEO and good web performance were further requirements. Nuxt ensures good SEO via Server-Side Rendering and provides excellent performance out of the box, as well as modules to ensure you can use images, scripts and web fonts in the most performant way possible.
Another module that came in handy was the Nuxt Content module, allowing us to use any kind of flat files as CMS while even providing more flexibility with the recent release of version 3. As the UI library of choice, Nuxt UI (with their Pro components) was chosen, which ensured that our PoC could be built quickly. Tailwind CSS was used to refine the styles further or for rapid prototyping. Auth was covered via Supabase, and PostgreSQL was used as the backend database.

Powering Netherland’s largest real estate listing platform
Powering Netherland’s largest real estate listing platform
Powering Netherland’s largest real estate listing platform
About Funda
Funda is the Netherlands' leading real estate listing platform, serving millions of users daily. With hundreds of thousands of property listings and approximately 5 million daily searches, the platform demands exceptional performance, scalability, and search capabilities. Given the possible combination of search parameters and filters to cater to the users’ needs, this isn’t a trivial task. In addition, search engine optimization (SEO) is critical for ensuring visibility in property searches and maintaining a competitive edge for brokers.
About Funda
Funda is the Netherlands' leading real estate listing platform, serving millions of users daily. With hundreds of thousands of property listings and approximately 5 million daily searches, the platform demands exceptional performance, scalability, and search capabilities. Given the possible combination of search parameters and filters to cater to the users’ needs, this isn’t a trivial task. In addition, search engine optimization (SEO) is critical for ensuring visibility in property searches and maintaining a competitive edge for brokers.
About Funda
Funda is the Netherlands' leading real estate listing platform, serving millions of users daily. With hundreds of thousands of property listings and approximately 5 million daily searches, the platform demands exceptional performance, scalability, and search capabilities. Given the possible combination of search parameters and filters to cater to the users’ needs, this isn’t a trivial task. In addition, search engine optimization (SEO) is critical for ensuring visibility in property searches and maintaining a competitive edge for brokers.
Our web application combines modern technologies throughout its stack. For the frontend, we rely on Nuxt 3 with TypeScript and use Tailwind CSS as our CSS framework of choice, which also helps us write consistent styles according to our design system. The backend relies on the .NET framework, incorporating Elasticsearch to handle search functionality. The entire solution is hosted on the Microsoft Azure cloud platform.
Our web application combines modern technologies throughout its stack. For the frontend, we rely on Nuxt 3 with TypeScript and use Tailwind CSS as our CSS framework of choice, which also helps us write consistent styles according to our design system. The backend relies on the .NET framework, incorporating Elasticsearch to handle search functionality. The entire solution is hosted on the Microsoft Azure cloud platform.
Our web application combines modern technologies throughout its stack. For the frontend, we rely on Nuxt 3 with TypeScript and use Tailwind CSS as our CSS framework of choice, which also helps us write consistent styles according to our design system. The backend relies on the .NET framework, incorporating Elasticsearch to handle search functionality. The entire solution is hosted on the Microsoft Azure cloud platform.
Nuxt was an easy pick for Funda when deciding on the tech stack. Given that we need good SEO, the project had to utilize Server Side Rendering (SSR). Instead of rolling our own setup with Vue and Vite and reinventing the wheel, we decided to go with Nuxt and its out-of-the-box capabilities, which also include SSR.
Reza Ranjibar, Software Engineer & Scrum Master at Funda
Nuxt was an easy pick for Funda when deciding on the tech stack. Given that we need good SEO, the project had to utilize Server Side Rendering (SSR). Instead of rolling our own setup with Vue and Vite and reinventing the wheel, we decided to go with Nuxt and its out-of-the-box capabilities, which also include SSR.
Reza Ranjibar, Software Engineer & Scrum Master at Funda
Nuxt was an easy pick for Funda when deciding on the tech stack. Given that we need good SEO, the project had to utilize Server Side Rendering (SSR). Instead of rolling our own setup with Vue and Vite and reinventing the wheel, we decided to go with Nuxt and its out-of-the-box capabilities, which also include SSR.
Reza Ranjibar, Software Engineer & Scrum Master at Funda
Beyond that, essential performance defaults, such as automatic code-splitting by route or predefined cache headers for assets, helped us get a good baseline. The built-in filesystem-based routing structure is also a big plus, as it makes navigation between listings and pages much simpler than solely using Vue Router (which is possible in Nuxt, too, if needed).
One key feature that makes domain-driven design possible is Nuxt's layer system. This allows us to split our codebase into multiple layers representing a domain. Each layer can have its own BFF and export its components. This makes it easy to separate concerns and keep the codebase clean and maintainable. Further, the layer system makes it easy to auto-import composables, components, and utilities, which is a big plus. Eventually, we benefit from further enhancements the Nuxt team ships consistently, from performance to developer experience improvements.
Beyond that, essential performance defaults, such as automatic code-splitting by route or predefined cache headers for assets, helped us get a good baseline. The built-in filesystem-based routing structure is also a big plus, as it makes navigation between listings and pages much simpler than solely using Vue Router (which is possible in Nuxt, too, if needed).
One key feature that makes domain-driven design possible is Nuxt's layer system. This allows us to split our codebase into multiple layers representing a domain. Each layer can have its own BFF and export its components. This makes it easy to separate concerns and keep the codebase clean and maintainable. Further, the layer system makes it easy to auto-import composables, components, and utilities, which is a big plus. Eventually, we benefit from further enhancements the Nuxt team ships consistently, from performance to developer experience improvements.
Beyond that, essential performance defaults, such as automatic code-splitting by route or predefined cache headers for assets, helped us get a good baseline. The built-in filesystem-based routing structure is also a big plus, as it makes navigation between listings and pages much simpler than solely using Vue Router (which is possible in Nuxt, too, if needed).
One key feature that makes domain-driven design possible is Nuxt's layer system. This allows us to split our codebase into multiple layers representing a domain. Each layer can have its own BFF and export its components. This makes it easy to separate concerns and keep the codebase clean and maintainable. Further, the layer system makes it easy to auto-import composables, components, and utilities, which is a big plus. Eventually, we benefit from further enhancements the Nuxt team ships consistently, from performance to developer experience improvements.
Building a free audience response system
Building a free audience response system
Building a free audience response system
About Bli.do
The idea for Bli.do came out of necessity. A non-profit organizes in-person demo events a few times per year with a live audience, often around 250+ attendees. While searching for a way to make their presentations more interactive, the typical Audience Response Systems were simply too expensive for an organization that didn’t aim to make any money with their events. While there were open-source tools, any tool that I came across was either not working or was too complex. I was looking into a two-click solution to ask questions or answer polls for a certain event or presentation.
About Bli.do
The idea for Bli.do came out of necessity. A non-profit organizes in-person demo events a few times per year with a live audience, often around 250+ attendees. While searching for a way to make their presentations more interactive, the typical Audience Response Systems were simply too expensive for an organization that didn’t aim to make any money with their events. While there were open-source tools, any tool that I came across was either not working or was too complex. I was looking into a two-click solution to ask questions or answer polls for a certain event or presentation.
About Bli.do
The idea for Bli.do came out of necessity. A non-profit organizes in-person demo events a few times per year with a live audience, often around 250+ attendees. While searching for a way to make their presentations more interactive, the typical Audience Response Systems were simply too expensive for an organization that didn’t aim to make any money with their events. While there were open-source tools, any tool that I came across was either not working or was too complex. I was looking into a two-click solution to ask questions or answer polls for a certain event or presentation.
So, I decided to build the app myself and eventually launched Bli.do. The app is free to use for anyone and was used at various events throughout different industries, as well as at technical conferences such as vuejs.de Conf and Vue Toronto.
The project is built using Nuxt.js and Supabase. Nuxt.js has been the foundation for all my company developments, including a thriving academy of 600+ team leads and junior developers working on real projects. Over the years, I've refined a starter kit that enables rapid project initialization within one hour. The framework offers superior developer experience with features like automatic imports that maintain a clean code structure.
It provides comprehensive documentation, extensive modules from the team and community, and deployment flexibility without vendor lock-in. Recent improvements to Nitro by the UnJS team have significantly enhanced performance for various use cases. The framework successfully balances industry innovation with stable release cycles.
So, I decided to build the app myself and eventually launched Bli.do. The app is free to use for anyone and was used at various events throughout different industries, as well as at technical conferences such as vuejs.de Conf and Vue Toronto.
The project is built using Nuxt.js and Supabase. Nuxt.js has been the foundation for all my company developments, including a thriving academy of 600+ team leads and junior developers working on real projects. Over the years, I've refined a starter kit that enables rapid project initialization within one hour. The framework offers superior developer experience with features like automatic imports that maintain a clean code structure.
It provides comprehensive documentation, extensive modules from the team and community, and deployment flexibility without vendor lock-in. Recent improvements to Nitro by the UnJS team have significantly enhanced performance for various use cases. The framework successfully balances industry innovation with stable release cycles.
So, I decided to build the app myself and eventually launched Bli.do. The app is free to use for anyone and was used at various events throughout different industries, as well as at technical conferences such as vuejs.de Conf and Vue Toronto.
The project is built using Nuxt.js and Supabase. Nuxt.js has been the foundation for all my company developments, including a thriving academy of 600+ team leads and junior developers working on real projects. Over the years, I've refined a starter kit that enables rapid project initialization within one hour. The framework offers superior developer experience with features like automatic imports that maintain a clean code structure.
It provides comprehensive documentation, extensive modules from the team and community, and deployment flexibility without vendor lock-in. Recent improvements to Nitro by the UnJS team have significantly enhanced performance for various use cases. The framework successfully balances industry innovation with stable release cycles.
The Nuxt.js community stands out for its positive, drama-free environment focused on practical development. If you need advice or a helping hand, I recommend joining their Discord or asking on GitHub.
Georgi Kirilov, Creator of Bli.do
The Nuxt.js community stands out for its positive, drama-free environment focused on practical development. If you need advice or a helping hand, I recommend joining their Discord or asking on GitHub.
Georgi Kirilov, Creator of Bli.do
The Nuxt.js community stands out for its positive, drama-free environment focused on practical development. If you need advice or a helping hand, I recommend joining their Discord or asking on GitHub.
Georgi Kirilov, Creator of Bli.do
For real-time functionality, Supabase was chosen as the ideal solution, mainly due to its straightforward implementation and reliable real-time events system. This was especially important given the serverless deployment requirements and websockets via Nitro (through crossws) not being available yet when working on the project.
For real-time functionality, Supabase was chosen as the ideal solution, mainly due to its straightforward implementation and reliable real-time events system. This was especially important given the serverless deployment requirements and websockets via Nitro (through crossws) not being available yet when working on the project.
For real-time functionality, Supabase was chosen as the ideal solution, mainly due to its straightforward implementation and reliable real-time events system. This was especially important given the serverless deployment requirements and websockets via Nitro (through crossws) not being available yet when working on the project.
Creating a full-blown Enterprise Resource Planning (ERP) system
Creating a full-blown Enterprise Resource Planning (ERP) system
Creating a full-blown Enterprise Resource Planning (ERP) system
About Sidestream
At Sidestream, a Nuxt-specialized software development agency, we focus on building custom solutions that deliver measurable results for businesses. This also applies to a recent project with Europe’s leading forklift provider, Hanselmann. Hanselmann has built their success on specialized processes that give them a competitive edge in the market. Rather than adapting their proven processes to fit standard ERP solutions like SAP, they were looking to develop a custom ERP solution that would preserve and enhance their unique operational advantages.
About Sidestream
At Sidestream, a Nuxt-specialized software development agency, we focus on building custom solutions that deliver measurable results for businesses. This also applies to a recent project with Europe’s leading forklift provider, Hanselmann. Hanselmann has built their success on specialized processes that give them a competitive edge in the market. Rather than adapting their proven processes to fit standard ERP solutions like SAP, they were looking to develop a custom ERP solution that would preserve and enhance their unique operational advantages.
About Sidestream
At Sidestream, a Nuxt-specialized software development agency, we focus on building custom solutions that deliver measurable results for businesses. This also applies to a recent project with Europe’s leading forklift provider, Hanselmann. Hanselmann has built their success on specialized processes that give them a competitive edge in the market. Rather than adapting their proven processes to fit standard ERP solutions like SAP, they were looking to develop a custom ERP solution that would preserve and enhance their unique operational advantages.
Together with Hanselmann, we conceptualized and developed the HanselmannOS ERP system, which covers several pain points. From managing documents digitally instead of physically, where they potentially get damaged or even lost, over to a single source of truth for information instead of managing conflicts between different systems that may not communicate with one another.
The cooperation focused on achieving four core pillars:
Unified Process Management
Enhanced Transparency & Documentation
Automation & Reduced Overhead
External Partner & Customer Integration
As of today the HanselmannOS manages over 3800 units (e.g. forklifts or trailers), more than 100 employees, and over 36.000 m² of warehouse space.
Development of the application started in March 2023, using a full-stack Nuxt 3 setup (back then, starting with Nuxt version 3.2.3). Further parts of the tech stack consist of Prisma with Postgres for ORM and database management, TRPC and Tanstack Query for frontend-backend communication, FormKit for forms, our open-source module for authentication, and @nuxtjs/i18n for translations. From an architectural and product point of view, the HanselmannOS was built on a “module”-principle. Modules are developed one after another and built on top of other “coreˮ base modules, allowing us to let the different modules operate together. Specific Modules are implemented separately using Nuxt Layers. Our primary separation using layers is between internal employee views and external customer views (e.g. shop, self-service module). The HanselmannOS is tested using Unit Tests, E2E Test flows, and extensive functional reviews with automatic preview deployments.
Thanks to Nuxt, we could scale the project successfully from a simple <NuxtWelcome />
component to over 900 components through the last 2 years! The project has traversed through 12 minor versions of Nuxt without a single issue. That makes us confident that this project can continue to thrive and expand through Nuxt 4 and always stay up to date with the most modern web development tools.
Daniel Kremerov, Co-Founder of Sidestream
Thanks to Nuxt, we could scale the project successfully from a simple <NuxtWelcome />
component to over 900 components through the last 2 years! The project has traversed through 12 minor versions of Nuxt without a single issue. That makes us confident that this project can continue to thrive and expand through Nuxt 4 and always stay up to date with the most modern web development tools.
Daniel Kremerov, Co-Founder of Sidestream
Thanks to Nuxt, we could scale the project successfully from a simple <NuxtWelcome />
component to over 900 components through the last 2 years! The project has traversed through 12 minor versions of Nuxt without a single issue. That makes us confident that this project can continue to thrive and expand through Nuxt 4 and always stay up to date with the most modern web development tools.
Daniel Kremerov, Co-Founder of Sidestream
Through intuitive and simple tooling, Nuxt allows us to efficiently split and manage the code base for our use case. One fantastic feature to mention here is Nuxt Layers, which allows us to keep a big project organized and ensure that our developers can focus on smaller modules that they work on rather than the entire application. Nuxt allows us to quickly develop and reuse components, utilities, and packages, which we can share with the community. This was the starting point for modules under our sidebase brand, such as @sidebase/nuxt-auth and other modules.
Regarding full-stack capabilities, Nuxt allows us to create a deeply integrated system that makes it easy to securely and quickly transport data from the database to the server to the client and vice versa. This is also done with full TypeScript and schema validation (using Zod) to avoid pesky bugs.
Another key aspect that makes Nuxt the number one choice for us is the maintainers and the community surrounding it. Whenever we seemingly faced issues with the framework during the initial development, there was always a helping hand giving advice and helping us resolve issues. When it comes to extending the functionality of Nuxt, the sky's the limit. If the customer asks us: “Can you do X?ˮ, we can confidently say “Yes! ˮ thanks to the stability and tools provided by Nuxt.
Through intuitive and simple tooling, Nuxt allows us to efficiently split and manage the code base for our use case. One fantastic feature to mention here is Nuxt Layers, which allows us to keep a big project organized and ensure that our developers can focus on smaller modules that they work on rather than the entire application. Nuxt allows us to quickly develop and reuse components, utilities, and packages, which we can share with the community. This was the starting point for modules under our sidebase brand, such as @sidebase/nuxt-auth and other modules.
Regarding full-stack capabilities, Nuxt allows us to create a deeply integrated system that makes it easy to securely and quickly transport data from the database to the server to the client and vice versa. This is also done with full TypeScript and schema validation (using Zod) to avoid pesky bugs.
Another key aspect that makes Nuxt the number one choice for us is the maintainers and the community surrounding it. Whenever we seemingly faced issues with the framework during the initial development, there was always a helping hand giving advice and helping us resolve issues. When it comes to extending the functionality of Nuxt, the sky's the limit. If the customer asks us: “Can you do X?ˮ, we can confidently say “Yes! ˮ thanks to the stability and tools provided by Nuxt.
Through intuitive and simple tooling, Nuxt allows us to efficiently split and manage the code base for our use case. One fantastic feature to mention here is Nuxt Layers, which allows us to keep a big project organized and ensure that our developers can focus on smaller modules that they work on rather than the entire application. Nuxt allows us to quickly develop and reuse components, utilities, and packages, which we can share with the community. This was the starting point for modules under our sidebase brand, such as @sidebase/nuxt-auth and other modules.
Regarding full-stack capabilities, Nuxt allows us to create a deeply integrated system that makes it easy to securely and quickly transport data from the database to the server to the client and vice versa. This is also done with full TypeScript and schema validation (using Zod) to avoid pesky bugs.
Another key aspect that makes Nuxt the number one choice for us is the maintainers and the community surrounding it. Whenever we seemingly faced issues with the framework during the initial development, there was always a helping hand giving advice and helping us resolve issues. When it comes to extending the functionality of Nuxt, the sky's the limit. If the customer asks us: “Can you do X?ˮ, we can confidently say “Yes! ˮ thanks to the stability and tools provided by Nuxt.

Future-proof enterprise solution for the e-commerce sector
Future-proof enterprise solution for the e-commerce sector
Future-proof enterprise solution for the e-commerce sector
About novomind
novomind iSHOP is a comprehensive e-commerce system delivering reliable and scalable solutions across global markets. Since 2000, corporations, medium-sized companies and institutions have been relying on intelligent solutions from novomind–including brands such as C&A, FALKE, Müller Drogerie, OTTO and Volkswagen AG. Novomind was founded in Hamburg but now has eight offices worldwide and employs more than 500 people.
About novomind
novomind iSHOP is a comprehensive e-commerce system delivering reliable and scalable solutions across global markets. Since 2000, corporations, medium-sized companies and institutions have been relying on intelligent solutions from novomind–including brands such as C&A, FALKE, Müller Drogerie, OTTO and Volkswagen AG. Novomind was founded in Hamburg but now has eight offices worldwide and employs more than 500 people.
About novomind
novomind iSHOP is a comprehensive e-commerce system delivering reliable and scalable solutions across global markets. Since 2000, corporations, medium-sized companies and institutions have been relying on intelligent solutions from novomind–including brands such as C&A, FALKE, Müller Drogerie, OTTO and Volkswagen AG. Novomind was founded in Hamburg but now has eight offices worldwide and employs more than 500 people.
Our platform serves various businesses through a highly customizable base application that adapts to specific B2B and B2C customer needs. As a future-proof enterprise solution, novomind iSHOP specializes in creating fast and SEO-friendly applications for the e-commerce sector. The system's flexible architecture supports multi-tenancy and white-labeling, enabling customers to manage multiple brands while ensuring maximum reusability. It can be individually adapted and is ready to go for coupled, headless and composable architectures.
The iSHOP application combines modern frontend and backend technologies. The frontend is built with Nuxt 3, leveraging Vue 3, Pinia for state management, and GraphQL for data handling. The backend utilizes Node.js through Nuxt and Nitro (BFF Pattern) and Spring Boot with GraphQL support. The infrastructure runs on a dedicated Kubernetes cluster or AWS, depending on the requirements of the client, monitored through Grafana, Prometheus, and Loki. Our development workflow is realized with GitLab CI/CD and Docker containerization.
Our platform serves various businesses through a highly customizable base application that adapts to specific B2B and B2C customer needs. As a future-proof enterprise solution, novomind iSHOP specializes in creating fast and SEO-friendly applications for the e-commerce sector. The system's flexible architecture supports multi-tenancy and white-labeling, enabling customers to manage multiple brands while ensuring maximum reusability. It can be individually adapted and is ready to go for coupled, headless and composable architectures.
The iSHOP application combines modern frontend and backend technologies. The frontend is built with Nuxt 3, leveraging Vue 3, Pinia for state management, and GraphQL for data handling. The backend utilizes Node.js through Nuxt and Nitro (BFF Pattern) and Spring Boot with GraphQL support. The infrastructure runs on a dedicated Kubernetes cluster or AWS, depending on the requirements of the client, monitored through Grafana, Prometheus, and Loki. Our development workflow is realized with GitLab CI/CD and Docker containerization.
Our platform serves various businesses through a highly customizable base application that adapts to specific B2B and B2C customer needs. As a future-proof enterprise solution, novomind iSHOP specializes in creating fast and SEO-friendly applications for the e-commerce sector. The system's flexible architecture supports multi-tenancy and white-labeling, enabling customers to manage multiple brands while ensuring maximum reusability. It can be individually adapted and is ready to go for coupled, headless and composable architectures.
The iSHOP application combines modern frontend and backend technologies. The frontend is built with Nuxt 3, leveraging Vue 3, Pinia for state management, and GraphQL for data handling. The backend utilizes Node.js through Nuxt and Nitro (BFF Pattern) and Spring Boot with GraphQL support. The infrastructure runs on a dedicated Kubernetes cluster or AWS, depending on the requirements of the client, monitored through Grafana, Prometheus, and Loki. Our development workflow is realized with GitLab CI/CD and Docker containerization.
When starting the iSHOP project, we chose Nuxt with our partner creativestyle for various reasons. Its powerful Server-Side Rendering capabilities enhance both performance and SEO. Its hybrid rendering approach allows for seamless integration of server-side rendering with client-side interactivity and different rendering modes for different pages.
Mirko Jantschke, Software Architect at novomind
When starting the iSHOP project, we chose Nuxt with our partner creativestyle for various reasons. Its powerful Server-Side Rendering capabilities enhance both performance and SEO. Its hybrid rendering approach allows for seamless integration of server-side rendering with client-side interactivity and different rendering modes for different pages.
Mirko Jantschke, Software Architect at novomind
When starting the iSHOP project, we chose Nuxt with our partner creativestyle for various reasons. Its powerful Server-Side Rendering capabilities enhance both performance and SEO. Its hybrid rendering approach allows for seamless integration of server-side rendering with client-side interactivity and different rendering modes for different pages.
Mirko Jantschke, Software Architect at novomind
Second, the framework provides excellent developer experience through its ecosystem of auto-imports, modules, and development tools. The built-in TypeScript support and modular architecture ensure long-term maintainability and security. Additionally, our team's existing Vue experience made Nuxt a natural choice for our platform.
Second, the framework provides excellent developer experience through its ecosystem of auto-imports, modules, and development tools. The built-in TypeScript support and modular architecture ensure long-term maintainability and security. Additionally, our team's existing Vue experience made Nuxt a natural choice for our platform.
Second, the framework provides excellent developer experience through its ecosystem of auto-imports, modules, and development tools. The built-in TypeScript support and modular architecture ensure long-term maintainability and security. Additionally, our team's existing Vue experience made Nuxt a natural choice for our platform.
Strategic evolution of a headless CMS
Strategic evolution of a headless CMS
Strategic evolution of a headless CMS
About Directus
Directus is a powerful headless CMS and backend solution designed for custom builds. As an admin portal for managing data, it requires extensive customization capabilities and dynamic rendering based on user access control and configuration. Due to the provided flexibility, topics like themability and adding components or whole modules at runtime are highly relevant. Given that Directus is a source-available project, contributions should be as easy as possible.
About Directus
Directus is a powerful headless CMS and backend solution designed for custom builds. As an admin portal for managing data, it requires extensive customization capabilities and dynamic rendering based on user access control and configuration. Due to the provided flexibility, topics like themability and adding components or whole modules at runtime are highly relevant. Given that Directus is a source-available project, contributions should be as easy as possible.
About Directus
Directus is a powerful headless CMS and backend solution designed for custom builds. As an admin portal for managing data, it requires extensive customization capabilities and dynamic rendering based on user access control and configuration. Due to the provided flexibility, topics like themability and adding components or whole modules at runtime are highly relevant. Given that Directus is a source-available project, contributions should be as easy as possible.
Our current tech stack is based on Vue.js, Pinia and the Vue Router, plus a lot of custom code for theming and running extensions. Directus also comes with its own component library that powers the admin panel. One of the reasons Vue was chosen in the past is how easy Vue is to pick up for web developers with any kind of framework background or none at all!
Our current tech stack is based on Vue.js, Pinia and the Vue Router, plus a lot of custom code for theming and running extensions. Directus also comes with its own component library that powers the admin panel. One of the reasons Vue was chosen in the past is how easy Vue is to pick up for web developers with any kind of framework background or none at all!
Our current tech stack is based on Vue.js, Pinia and the Vue Router, plus a lot of custom code for theming and running extensions. Directus also comes with its own component library that powers the admin panel. One of the reasons Vue was chosen in the past is how easy Vue is to pick up for web developers with any kind of framework background or none at all!
But in the foreseeable future, we plan to migrate to Vue’s meta-framework Nuxt.js, which should bring several strategic advantages. Its built-in bundle splitting and build tooling help control the otherwise massive output. But beyond performance reasons, using Nuxt will also allow us to create a better platform.
Rijk van Zanten, CTO and Co-Founder of Directus
But in the foreseeable future, we plan to migrate to Vue’s meta-framework Nuxt.js, which should bring several strategic advantages. Its built-in bundle splitting and build tooling help control the otherwise massive output. But beyond performance reasons, using Nuxt will also allow us to create a better platform.
Rijk van Zanten, CTO and Co-Founder of Directus
But in the foreseeable future, we plan to migrate to Vue’s meta-framework Nuxt.js, which should bring several strategic advantages. Its built-in bundle splitting and build tooling help control the otherwise massive output. But beyond performance reasons, using Nuxt will also allow us to create a better platform.
Rijk van Zanten, CTO and Co-Founder of Directus
The framework's opinionated architecture makes it easier to educate people on how things are put together in the codebase, which in turn means making it more accessible for new contributors and developers and leading to more contributions. Nuxt Layers will better organize theming, layouts, and components within our monorepo structure.
Further, Development efficiency improves through built-in Nuxt features such as auto-importing common dependencies and simplified routing based on folder structure. The mature ecosystem of plugins and libraries allows the team to leverage existing solutions for common functionalities like dynamic font loading and icons, enabling focus on Directus-specific features while adhering to best practices.
The framework's opinionated architecture makes it easier to educate people on how things are put together in the codebase, which in turn means making it more accessible for new contributors and developers and leading to more contributions. Nuxt Layers will better organize theming, layouts, and components within our monorepo structure.
Further, Development efficiency improves through built-in Nuxt features such as auto-importing common dependencies and simplified routing based on folder structure. The mature ecosystem of plugins and libraries allows the team to leverage existing solutions for common functionalities like dynamic font loading and icons, enabling focus on Directus-specific features while adhering to best practices.
The framework's opinionated architecture makes it easier to educate people on how things are put together in the codebase, which in turn means making it more accessible for new contributors and developers and leading to more contributions. Nuxt Layers will better organize theming, layouts, and components within our monorepo structure.
Further, Development efficiency improves through built-in Nuxt features such as auto-importing common dependencies and simplified routing based on folder structure. The mature ecosystem of plugins and libraries allows the team to leverage existing solutions for common functionalities like dynamic font loading and icons, enabling focus on Directus-specific features while adhering to best practices.
The migration to Nuxt.js represents a strategic evolution in Directus' architecture, enhancing both development and user experience while preserving the platform's fundamental commitment to customization and extensibility.
Rijk van Zanten, CTO and Co-Founder of Directus
The migration to Nuxt.js represents a strategic evolution in Directus' architecture, enhancing both development and user experience while preserving the platform's fundamental commitment to customization and extensibility.
Rijk van Zanten, CTO and Co-Founder of Directus
The migration to Nuxt.js represents a strategic evolution in Directus' architecture, enhancing both development and user experience while preserving the platform's fundamental commitment to customization and extensibility.
Rijk van Zanten, CTO and Co-Founder of Directus
Building a Web AR experience for Pearl Jam’s “Dark Matter” album
Building a Web AR experience for Pearl Jam’s “Dark Matter” album
Building a Web AR experience for Pearl Jam’s “Dark Matter” album
Dark matter is a material that cannot be seen directly because it does not absorb, reflect, or emit light. Some physicists claim it doesn’t even exist. New, unreleased music is a lot like this...
Lee Martin, Netmaker
Dark matter is a material that cannot be seen directly because it does not absorb, reflect, or emit light. Some physicists claim it doesn’t even exist. New, unreleased music is a lot like this...
Lee Martin, Netmaker
Dark matter is a material that cannot be seen directly because it does not absorb, reflect, or emit light. Some physicists claim it doesn’t even exist. New, unreleased music is a lot like this...
Lee Martin, Netmaker
Our Dark Matter Observer invites you to experience elements of the new album for the first time by observing a temporary anomaly in your sky using web-based AR. Yes, a black hole will open up in your sky and absorb all of the light, but I was also able to do something I’ve wanted to do for a long time: use the audio levels of a playing song to affect the gravity distortion of the sky. In addition to watching the vortex, watch the edges to see how Pearl Jam’s new music is bending time and space. As quickly as the black hole appears, it will recede, leaving you with a shareable video of your discovery.
Our Dark Matter Observer invites you to experience elements of the new album for the first time by observing a temporary anomaly in your sky using web-based AR. Yes, a black hole will open up in your sky and absorb all of the light, but I was also able to do something I’ve wanted to do for a long time: use the audio levels of a playing song to affect the gravity distortion of the sky. In addition to watching the vortex, watch the edges to see how Pearl Jam’s new music is bending time and space. As quickly as the black hole appears, it will recede, leaving you with a shareable video of your discovery.
Our Dark Matter Observer invites you to experience elements of the new album for the first time by observing a temporary anomaly in your sky using web-based AR. Yes, a black hole will open up in your sky and absorb all of the light, but I was also able to do something I’ve wanted to do for a long time: use the audio levels of a playing song to affect the gravity distortion of the sky. In addition to watching the vortex, watch the edges to see how Pearl Jam’s new music is bending time and space. As quickly as the black hole appears, it will recede, leaving you with a shareable video of your discovery.
The primary objective was to raise awareness for Pearl Jam's upcoming album "Dark Matter." The application provides fans an exclusive first listen of new material through an interactive AR experience. Users can create and share videos of their personal encounters with the virtual anomaly, effectively amplifying the album's social media presence and engagement.
Lee Martin, Netmaker
The primary objective was to raise awareness for Pearl Jam's upcoming album "Dark Matter." The application provides fans an exclusive first listen of new material through an interactive AR experience. Users can create and share videos of their personal encounters with the virtual anomaly, effectively amplifying the album's social media presence and engagement.
Lee Martin, Netmaker
The primary objective was to raise awareness for Pearl Jam's upcoming album "Dark Matter." The application provides fans an exclusive first listen of new material through an interactive AR experience. Users can create and share videos of their personal encounters with the virtual anomaly, effectively amplifying the album's social media presence and engagement.
Lee Martin, Netmaker
From a technical perspective, the application is built with a modern web technology stack centered around Nuxt 3 and Vue 3. The 3D visualization is powered by Three.js, with GSAP handling animations and Howler managing audio playback. The styling is implemented using Tailwind CSS, while Pinia manages the application's state.
You can't beat the synergy between routing, components, composables, and middleware for a project like this. There are so many elements at play in the primary experience. I have composables connected to web standard APIs (like camera and orientation) and web audio players being visualized within a user-navigable. Three.js shader scene which is being recorded by MediaRecorder. Every piece of tech shows up when it needs to and shuts down when it's done. It just works.
The application can be experienced at Dark Matter - Pearl Jam
From a technical perspective, the application is built with a modern web technology stack centered around Nuxt 3 and Vue 3. The 3D visualization is powered by Three.js, with GSAP handling animations and Howler managing audio playback. The styling is implemented using Tailwind CSS, while Pinia manages the application's state.
You can't beat the synergy between routing, components, composables, and middleware for a project like this. There are so many elements at play in the primary experience. I have composables connected to web standard APIs (like camera and orientation) and web audio players being visualized within a user-navigable. Three.js shader scene which is being recorded by MediaRecorder. Every piece of tech shows up when it needs to and shuts down when it's done. It just works.
The application can be experienced at Dark Matter - Pearl Jam
From a technical perspective, the application is built with a modern web technology stack centered around Nuxt 3 and Vue 3. The 3D visualization is powered by Three.js, with GSAP handling animations and Howler managing audio playback. The styling is implemented using Tailwind CSS, while Pinia manages the application's state.
You can't beat the synergy between routing, components, composables, and middleware for a project like this. There are so many elements at play in the primary experience. I have composables connected to web standard APIs (like camera and orientation) and web audio players being visualized within a user-navigable. Three.js shader scene which is being recorded by MediaRecorder. Every piece of tech shows up when it needs to and shuts down when it's done. It just works.
The application can be experienced at Dark Matter - Pearl Jam
Open-source collaboration resulting in 13.5 million requests in 30 days
Open-source collaboration resulting in 13.5 million requests in 30 days
Open-source collaboration resulting in 13.5 million requests in 30 days
After a series of changes on X (Formerly, Twitter), more and more users sought alternatives and discovered Mastodon. When Vue, Vite and Nuxt core team member Anthony Fu tried out the decentralized platform in November 2022, he came up with an idea:
After a series of changes on X (Formerly, Twitter), more and more users sought alternatives and discovered Mastodon. When Vue, Vite and Nuxt core team member Anthony Fu tried out the decentralized platform in November 2022, he came up with an idea:
After a series of changes on X (Formerly, Twitter), more and more users sought alternatives and discovered Mastodon. When Vue, Vite and Nuxt core team member Anthony Fu tried out the decentralized platform in November 2022, he came up with an idea:
Why not create a more user-friendly Mastodon experience using Nuxt? The initial concept was straightforward: develop a modern client based on the popular meta-framework. This approach aimed to address limitations in Mastodon's official UI and UX, while also showcasing Nuxt's capabilities. All of that open source, of course.
Alexander Lichter, Consultant & Nuxt Team Member
Why not create a more user-friendly Mastodon experience using Nuxt? The initial concept was straightforward: develop a modern client based on the popular meta-framework. This approach aimed to address limitations in Mastodon's official UI and UX, while also showcasing Nuxt's capabilities. All of that open source, of course.
Alexander Lichter, Consultant & Nuxt Team Member
Why not create a more user-friendly Mastodon experience using Nuxt? The initial concept was straightforward: develop a modern client based on the popular meta-framework. This approach aimed to address limitations in Mastodon's official UI and UX, while also showcasing Nuxt's capabilities. All of that open source, of course.
Alexander Lichter, Consultant & Nuxt Team Member
The project quickly assembled a group of key contributors, adding Nuxt team lead Daniel Roe, Vite and Vue team member Matias Capeletto (Patak), and Vue team member Kevin Deng to the team.
To create this powerful, feature-rich Mastodon client, the team decided to use the following technologies:
Nuxt (built on top of Vue and Vite)
VueUse for composables
Pinia for state management
Vue Macros, specifically the
setupSFC
macro for.setup.ts
filesUnoCSS for styling
Iconify for icons
Masto.js for Mastodon API integration
Shiki for syntax highlighting
PWA support via
vite-plugin-pwa
And various other nuxt modules such as nuxt-security
or @nuxtjs/i18n
The project quickly assembled a group of key contributors, adding Nuxt team lead Daniel Roe, Vite and Vue team member Matias Capeletto (Patak), and Vue team member Kevin Deng to the team.
To create this powerful, feature-rich Mastodon client, the team decided to use the following technologies:
Nuxt (built on top of Vue and Vite)
VueUse for composables
Pinia for state management
Vue Macros, specifically the
setupSFC
macro for.setup.ts
filesUnoCSS for styling
Iconify for icons
Masto.js for Mastodon API integration
Shiki for syntax highlighting
PWA support via
vite-plugin-pwa
And various other nuxt modules such as nuxt-security
or @nuxtjs/i18n
The project quickly assembled a group of key contributors, adding Nuxt team lead Daniel Roe, Vite and Vue team member Matias Capeletto (Patak), and Vue team member Kevin Deng to the team.
To create this powerful, feature-rich Mastodon client, the team decided to use the following technologies:
Nuxt (built on top of Vue and Vite)
VueUse for composables
Pinia for state management
Vue Macros, specifically the
setupSFC
macro for.setup.ts
filesUnoCSS for styling
Iconify for icons
Masto.js for Mastodon API integration
Shiki for syntax highlighting
PWA support via
vite-plugin-pwa
And various other nuxt modules such as nuxt-security
or @nuxtjs/i18n
To this date, Elk is used by hundreds of thousands of users worldwide. More than 545,000 page visits and 13.54 million requests in the last 30 days show that the project still caters to a large user base even after multiple years. The actual user count is even higher, as the project is also available as a PWA and as a native app based on Tauri. With over 230 contributors, a fair chunk without prior Vue or Nuxt experience, Elk also has become a prime example of open-source collaboration.
Alexander Lichter, Consultant & Nuxt Team Member
To this date, Elk is used by hundreds of thousands of users worldwide. More than 545,000 page visits and 13.54 million requests in the last 30 days show that the project still caters to a large user base even after multiple years. The actual user count is even higher, as the project is also available as a PWA and as a native app based on Tauri. With over 230 contributors, a fair chunk without prior Vue or Nuxt experience, Elk also has become a prime example of open-source collaboration.
Alexander Lichter, Consultant & Nuxt Team Member
To this date, Elk is used by hundreds of thousands of users worldwide. More than 545,000 page visits and 13.54 million requests in the last 30 days show that the project still caters to a large user base even after multiple years. The actual user count is even higher, as the project is also available as a PWA and as a native app based on Tauri. With over 230 contributors, a fair chunk without prior Vue or Nuxt experience, Elk also has become a prime example of open-source collaboration.
Alexander Lichter, Consultant & Nuxt Team Member
6. Vue 3 Migration: Strategies, Challenges and Success Stories
Vue 3 migration is more than just a technical update—it’s a strategic upgrade that sets the stage for improved performance, long-term maintainability, and future-proof scalability. This chapter will walk you through Monterail’s real-world insights from completed projects, explore the Vue 3 migration challenges and solutions, and share best practices. You will find lessons learned, practical advice, successful migrations and challenges from Gitlab, Booksy and Coursedog.
Why care about Migration to Vue 3.0?
Although Vue 2 reached End of Life (EOL) on December 31st, 2023, this doesn’t mean all companies migrated to Vue 3 before that date or even until now. According to a community-based survey on Reddit, 35.7% of companies hadn’t planned migration back then, and 22% predicted not finishing before the end date. This data reflects our experiences as a software development agency and corresponds with the companies’ experiences that we interviewed. Let’s dive deeper into why migration to Vue 3 is even a matter of discussion.
Migration to Vue 3 doesn’t only shore up your product against the future. There are also immediate and tangible benefits. What can we gain from migrating to Vue 3.0?
Libraries
Thanks to Vue 2.7, it is still possible to use some new libraries developed mostly for Vue 3 in Vue 2 applications. Unfortunately, only a fraction of them. New libraries created that can significantly help in the development of your application, will most likely be written exclusively for Vue 3. Vue 3’s ecosystem is already strong and we believe it will develop drastically soon.
Performance
In almost all cases, Vue 3 is faster than its previous version (about 55% faster). Performance significantly impacts UX and how users perceive an application and can also affect SEO.
Security
End-of-life (EOL) software doesn’t receive security fixes. While Vue 2 has had no significant vulnerabilities, a supported version might be required to meet regulations or company policies. For apps with SLAs, avoid using EOL software. Though rare, browser updates could theoretically break legacy libraries.
New possibilities
Vue 3 has new features that are not present in Vue 2, such as Teleport, Suspense, and multiple root elements per template. These functionalities open up new possibilities for developers and can help take care of an easier-to-maintain and develop architecture, especially for complex applications.
In the new version of Vue, we also have more options for ensuring the stability of the software thanks to, among other things, better support for TypeScript, which at this point allows static code analysis of the entire application.
Practical Challenges - Insights From Experts
As a software agency with many Vue and Nuxt clients, we have observed firsthand businesses' struggles with Vue 3 migration.
There are many reasons why it's hard to migrate some applications to Vue 3:
Huge codebase
Lack of time/budget
Lack of experience
Dependencies without Vue 3 support or a lot of breaking changes
Usage of non-public APIs that have been changed in newer versions
Let’s see what challenges Coursedog, Booksy, Gitlab and Monterail clients face.
6. Vue 3 Migration: Strategies, Challenges and Success Stories
Vue 3 migration is more than just a technical update—it’s a strategic upgrade that sets the stage for improved performance, long-term maintainability, and future-proof scalability. This chapter will walk you through Monterail’s real-world insights from completed projects, explore the Vue 3 migration challenges and solutions, and share best practices. You will find lessons learned, practical advice, successful migrations and challenges from Gitlab, Booksy and Coursedog.
Why care about Migration to Vue 3.0?
Although Vue 2 reached End of Life (EOL) on December 31st, 2023, this doesn’t mean all companies migrated to Vue 3 before that date or even until now. According to a community-based survey on Reddit, 35.7% of companies hadn’t planned migration back then, and 22% predicted not finishing before the end date. This data reflects our experiences as a software development agency and corresponds with the companies’ experiences that we interviewed. Let’s dive deeper into why migration to Vue 3 is even a matter of discussion.
Migration to Vue 3 doesn’t only shore up your product against the future. There are also immediate and tangible benefits. What can we gain from migrating to Vue 3.0?
Libraries
Thanks to Vue 2.7, it is still possible to use some new libraries developed mostly for Vue 3 in Vue 2 applications. Unfortunately, only a fraction of them. New libraries created that can significantly help in the development of your application, will most likely be written exclusively for Vue 3. Vue 3’s ecosystem is already strong and we believe it will develop drastically soon.
Performance
In almost all cases, Vue 3 is faster than its previous version (about 55% faster). Performance significantly impacts UX and how users perceive an application and can also affect SEO.
Security
End-of-life (EOL) software doesn’t receive security fixes. While Vue 2 has had no significant vulnerabilities, a supported version might be required to meet regulations or company policies. For apps with SLAs, avoid using EOL software. Though rare, browser updates could theoretically break legacy libraries.
New possibilities
Vue 3 has new features that are not present in Vue 2, such as Teleport, Suspense, and multiple root elements per template. These functionalities open up new possibilities for developers and can help take care of an easier-to-maintain and develop architecture, especially for complex applications.
In the new version of Vue, we also have more options for ensuring the stability of the software thanks to, among other things, better support for TypeScript, which at this point allows static code analysis of the entire application.
Practical Challenges - Insights From Experts
As a software agency with many Vue and Nuxt clients, we have observed firsthand businesses' struggles with Vue 3 migration.
There are many reasons why it's hard to migrate some applications to Vue 3:
Huge codebase
Lack of time/budget
Lack of experience
Dependencies without Vue 3 support or a lot of breaking changes
Usage of non-public APIs that have been changed in newer versions
Let’s see what challenges Coursedog, Booksy, Gitlab and Monterail clients face.
6. Vue 3 Migration: Strategies, Challenges and Success Stories
Vue 3 migration is more than just a technical update—it’s a strategic upgrade that sets the stage for improved performance, long-term maintainability, and future-proof scalability. This chapter will walk you through Monterail’s real-world insights from completed projects, explore the Vue 3 migration challenges and solutions, and share best practices. You will find lessons learned, practical advice, successful migrations and challenges from Gitlab, Booksy and Coursedog.
Why care about Migration to Vue 3.0?
Although Vue 2 reached End of Life (EOL) on December 31st, 2023, this doesn’t mean all companies migrated to Vue 3 before that date or even until now. According to a community-based survey on Reddit, 35.7% of companies hadn’t planned migration back then, and 22% predicted not finishing before the end date. This data reflects our experiences as a software development agency and corresponds with the companies’ experiences that we interviewed. Let’s dive deeper into why migration to Vue 3 is even a matter of discussion.
Migration to Vue 3 doesn’t only shore up your product against the future. There are also immediate and tangible benefits. What can we gain from migrating to Vue 3.0?
Libraries
Thanks to Vue 2.7, it is still possible to use some new libraries developed mostly for Vue 3 in Vue 2 applications. Unfortunately, only a fraction of them. New libraries created that can significantly help in the development of your application, will most likely be written exclusively for Vue 3. Vue 3’s ecosystem is already strong and we believe it will develop drastically soon.
Performance
In almost all cases, Vue 3 is faster than its previous version (about 55% faster). Performance significantly impacts UX and how users perceive an application and can also affect SEO.
Security
End-of-life (EOL) software doesn’t receive security fixes. While Vue 2 has had no significant vulnerabilities, a supported version might be required to meet regulations or company policies. For apps with SLAs, avoid using EOL software. Though rare, browser updates could theoretically break legacy libraries.
New possibilities
Vue 3 has new features that are not present in Vue 2, such as Teleport, Suspense, and multiple root elements per template. These functionalities open up new possibilities for developers and can help take care of an easier-to-maintain and develop architecture, especially for complex applications.
In the new version of Vue, we also have more options for ensuring the stability of the software thanks to, among other things, better support for TypeScript, which at this point allows static code analysis of the entire application.
Practical Challenges - Insights From Experts
As a software agency with many Vue and Nuxt clients, we have observed firsthand businesses' struggles with Vue 3 migration.
There are many reasons why it's hard to migrate some applications to Vue 3:
Huge codebase
Lack of time/budget
Lack of experience
Dependencies without Vue 3 support or a lot of breaking changes
Usage of non-public APIs that have been changed in newer versions
Let’s see what challenges Coursedog, Booksy, Gitlab and Monterail clients face.
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app ratings) and appreciated by business owners.
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app ratings) and appreciated by business owners.
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app ratings) and appreciated by business owners.
The two core applications remain a challenge when migrating to Vue. Booksy Marketplace is customer-facing and uses Nuxt.js, while Booksy Biz is provider-facing and written in Vue.js. Migrating the whole application, which has 650k lines of code and requires parallel development of new features, is a highly complicated process. The Booksy team is very demanding regarding code quality and desired functionalities.
The two core applications remain a challenge when migrating to Vue. Booksy Marketplace is customer-facing and uses Nuxt.js, while Booksy Biz is provider-facing and written in Vue.js. Migrating the whole application, which has 650k lines of code and requires parallel development of new features, is a highly complicated process. The Booksy team is very demanding regarding code quality and desired functionalities.
The two core applications remain a challenge when migrating to Vue. Booksy Marketplace is customer-facing and uses Nuxt.js, while Booksy Biz is provider-facing and written in Vue.js. Migrating the whole application, which has 650k lines of code and requires parallel development of new features, is a highly complicated process. The Booksy team is very demanding regarding code quality and desired functionalities.
The challenge of migrating to Vue 3 was that not all functionalities could be seamlessly integrated into the new framework. Some constructions were too sophisticated and complicated. The team faced initial setbacks and decided to rewrite some functionalities to be compatible with Vue 2 and Vue 3, which took a whole year. As of 2024, the largest application is written in Vue 3 and is in pre-production. The final release is planned for soon. The next milestone is migrating the second-biggest application to the latest version of Nuxt—Booksy Marketplace.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
The challenge of migrating to Vue 3 was that not all functionalities could be seamlessly integrated into the new framework. Some constructions were too sophisticated and complicated. The team faced initial setbacks and decided to rewrite some functionalities to be compatible with Vue 2 and Vue 3, which took a whole year. As of 2024, the largest application is written in Vue 3 and is in pre-production. The final release is planned for soon. The next milestone is migrating the second-biggest application to the latest version of Nuxt—Booksy Marketplace.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
The challenge of migrating to Vue 3 was that not all functionalities could be seamlessly integrated into the new framework. Some constructions were too sophisticated and complicated. The team faced initial setbacks and decided to rewrite some functionalities to be compatible with Vue 2 and Vue 3, which took a whole year. As of 2024, the largest application is written in Vue 3 and is in pre-production. The final release is planned for soon. The next milestone is migrating the second-biggest application to the latest version of Nuxt—Booksy Marketplace.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
About Coursedog
Coursedog is an Integrated Academic Operations platform founded in 2018 in New York, US. The company provides software for academic operations analytics, curriculum and catalog management, and academic and event scheduling to over 200 higher education institutions that serve over 2 million students. In 2024, Deloitte's Fast 500 North America recognized it as one of the fastest-growing technology companies.
About Coursedog
Coursedog is an Integrated Academic Operations platform founded in 2018 in New York, US. The company provides software for academic operations analytics, curriculum and catalog management, and academic and event scheduling to over 200 higher education institutions that serve over 2 million students. In 2024, Deloitte's Fast 500 North America recognized it as one of the fastest-growing technology companies.
About Coursedog
Coursedog is an Integrated Academic Operations platform founded in 2018 in New York, US. The company provides software for academic operations analytics, curriculum and catalog management, and academic and event scheduling to over 200 higher education institutions that serve over 2 million students. In 2024, Deloitte's Fast 500 North America recognized it as one of the fastest-growing technology companies.
The migration to Vue 3 will be a significant undertaking, given the scale of Coursedog’s codebase. Most of our products are part of a large monorepo, sharing several core functionalities between each other. It’s usually a very convenient setup, allowing us to grow quickly in the past few years.
The migration to Vue 3 will be a significant undertaking, given the scale of Coursedog’s codebase. Most of our products are part of a large monorepo, sharing several core functionalities between each other. It’s usually a very convenient setup, allowing us to grow quickly in the past few years.
The migration to Vue 3 will be a significant undertaking, given the scale of Coursedog’s codebase. Most of our products are part of a large monorepo, sharing several core functionalities between each other. It’s usually a very convenient setup, allowing us to grow quickly in the past few years.
However, when it comes to upgrading a library like Vue.js, it gets a tad more complicated, because we need to do it all in one go. That includes almost 2000 Vue components that were built over the last six years.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
However, when it comes to upgrading a library like Vue.js, it gets a tad more complicated, because we need to do it all in one go. That includes almost 2000 Vue components that were built over the last six years.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
However, when it comes to upgrading a library like Vue.js, it gets a tad more complicated, because we need to do it all in one go. That includes almost 2000 Vue components that were built over the last six years.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
Initially we wrote using the Options API, then we introduced the Composition API plugin as one of the early adopters. The code is still a mixed bag of those two approaches, depending on the age of the component. Right now we are using Vue 2.7 and plan to finally upgrade to Vue 3 in early 2025. We are excited for the performance improvements and, obviously, to address the end-of-life for Vue 2. We will also be updating Nuxt to the latest version.
How do you prepare for the process?
First, we check what libraries we are using right now, whether they have compatible versions for Vue 3 and what are breaking changes between them. I’m pretty confident that the Vue upgrade will be rather painless, but I’m less sure about all the 3rd party libraries. Luckily, there is a migration build of Vue 3. It should hopefully make the migration easier, allowing us to gradually upgrade the libraries, without having to make too many changes at once, which is always a risk.
Generally we would be pretty happy with Vue 2.7, but with Vue 2 already reaching end-of-life, we can’t postpone the upgrade any longer. Since more and more 3rd party libraries and services are ditching support for Vue 2.x. Which is understandable at this point.
Initially we wrote using the Options API, then we introduced the Composition API plugin as one of the early adopters. The code is still a mixed bag of those two approaches, depending on the age of the component. Right now we are using Vue 2.7 and plan to finally upgrade to Vue 3 in early 2025. We are excited for the performance improvements and, obviously, to address the end-of-life for Vue 2. We will also be updating Nuxt to the latest version.
How do you prepare for the process?
First, we check what libraries we are using right now, whether they have compatible versions for Vue 3 and what are breaking changes between them. I’m pretty confident that the Vue upgrade will be rather painless, but I’m less sure about all the 3rd party libraries. Luckily, there is a migration build of Vue 3. It should hopefully make the migration easier, allowing us to gradually upgrade the libraries, without having to make too many changes at once, which is always a risk.
Generally we would be pretty happy with Vue 2.7, but with Vue 2 already reaching end-of-life, we can’t postpone the upgrade any longer. Since more and more 3rd party libraries and services are ditching support for Vue 2.x. Which is understandable at this point.
Initially we wrote using the Options API, then we introduced the Composition API plugin as one of the early adopters. The code is still a mixed bag of those two approaches, depending on the age of the component. Right now we are using Vue 2.7 and plan to finally upgrade to Vue 3 in early 2025. We are excited for the performance improvements and, obviously, to address the end-of-life for Vue 2. We will also be updating Nuxt to the latest version.
How do you prepare for the process?
First, we check what libraries we are using right now, whether they have compatible versions for Vue 3 and what are breaking changes between them. I’m pretty confident that the Vue upgrade will be rather painless, but I’m less sure about all the 3rd party libraries. Luckily, there is a migration build of Vue 3. It should hopefully make the migration easier, allowing us to gradually upgrade the libraries, without having to make too many changes at once, which is always a risk.
Generally we would be pretty happy with Vue 2.7, but with Vue 2 already reaching end-of-life, we can’t postpone the upgrade any longer. Since more and more 3rd party libraries and services are ditching support for Vue 2.x. Which is understandable at this point.
As our company’s products mature, we are placing a stronger focus on overall code quality and making sure that we are up to date with all of our dependencies is a much higher priority than before.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
As our company’s products mature, we are placing a stronger focus on overall code quality and making sure that we are up to date with all of our dependencies is a much higher priority than before.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
As our company’s products mature, we are placing a stronger focus on overall code quality and making sure that we are up to date with all of our dependencies is a much higher priority than before.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
What might be challenging?
As they say, the devil is in the details and that’s where I think the true challenge might be. Similar to the subtle differences in the order of the watch’s execution back when we migrated from the Composition API plugin to Vue 2.7. Other than that, I think Vuex might be a bit problematic and the WYSIWYG editor that we use extensively throughout the platform. There is a new version of it for Vue 3, but there are plenty of breaking changes that I have yet to review.
What might be challenging?
As they say, the devil is in the details and that’s where I think the true challenge might be. Similar to the subtle differences in the order of the watch’s execution back when we migrated from the Composition API plugin to Vue 2.7. Other than that, I think Vuex might be a bit problematic and the WYSIWYG editor that we use extensively throughout the platform. There is a new version of it for Vue 3, but there are plenty of breaking changes that I have yet to review.
What might be challenging?
As they say, the devil is in the details and that’s where I think the true challenge might be. Similar to the subtle differences in the order of the watch’s execution back when we migrated from the Composition API plugin to Vue 2.7. Other than that, I think Vuex might be a bit problematic and the WYSIWYG editor that we use extensively throughout the platform. There is a new version of it for Vue 3, but there are plenty of breaking changes that I have yet to review.
Of course, the size of the application is the real challenge. The migration itself should take two or three days, but the following weeks will likely be spent on ensuring that all tests passed as well as doing an extensive round of QA work. But I’m rather optimistic about the process and look forward to finally getting a chance to use Vue 3 and its new features in production.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
Of course, the size of the application is the real challenge. The migration itself should take two or three days, but the following weeks will likely be spent on ensuring that all tests passed as well as doing an extensive round of QA work. But I’m rather optimistic about the process and look forward to finally getting a chance to use Vue 3 and its new features in production.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
Of course, the size of the application is the real challenge. The migration itself should take two or three days, but the following weeks will likely be spent on ensuring that all tests passed as well as doing an extensive round of QA work. But I’m rather optimistic about the process and look forward to finally getting a chance to use Vue 3 and its new features in production.
Damian Dulisz, Senior Staff Software Engineer at Coursedog
About Gitlab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
About Gitlab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
About Gitlab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
How did you approach migration to Vue 3?
As of December 2024, a few projects moved to Vue 3 under the compatibility mode. We’re trying to migrate the main project right now, also under the compatibility mode. Why? Our component library, GitLab UI, is not independently built. When GitLab started this component library, the idea was, “Let's take the BootstrapVue, wrap the components in our components, see if it works, and then rewrite the implementation.” The last step never happened, so our component library uses BootstrapVue under the hood. BootstrapVue never migrated to the 3.0 version and is not supported for Vue 3.
Some people are building a new BootstrapVue for Vue 3, but the old one we use isn't compatible. One of our engineers took over the ownership of BootstrapVue and at least moved it to Vue Compat. That was already a big step forward–moving to Vue compatibility. We have been trying to build upon this for a long time, fixing tests and whatnot, trying just to make the main code base work in Vue Compat mode 3. We are at least halfway there.
What is the biggest challenge when migrating the enterprise application?
One of the biggest challenges in the migration process is that, while the core projects migrated fine, many supporting libraries didn't. It's not only BootstrapVue; there is Vue draggable. A significant chunk of the libraries have never moved to Vue. It's false for the company to either rewrite or vendor them or choose something else. It is not easy because it’s a product company we’re talking about.
Deliverables are overall, all the refactoring is intact. That's the first one. The second one is that the code base is old, dark, and full of terrors. There are places where we still use the old kind of state management that is written with JavaScript classes, not even Vuex. There are places where people use something that is not even supported in Vue 3 anymore. There are places where technically everything looks fine, but unit tests fail with Vue 3 or even with Compact mode 3 because we do something that was not supposed to be done.
While migrating, it actually feeds back into the Vue ecosystem. There were so many contributions from GitLab to Vue test details because we're trying to migrate fully with our unit tests. Over time, we discovered more and more things about the bugs. There were a few contributions back to Vue 4 and Vue Compat. We concluded that it doesn't work when we're static.
How did you approach migration to Vue 3?
As of December 2024, a few projects moved to Vue 3 under the compatibility mode. We’re trying to migrate the main project right now, also under the compatibility mode. Why? Our component library, GitLab UI, is not independently built. When GitLab started this component library, the idea was, “Let's take the BootstrapVue, wrap the components in our components, see if it works, and then rewrite the implementation.” The last step never happened, so our component library uses BootstrapVue under the hood. BootstrapVue never migrated to the 3.0 version and is not supported for Vue 3.
Some people are building a new BootstrapVue for Vue 3, but the old one we use isn't compatible. One of our engineers took over the ownership of BootstrapVue and at least moved it to Vue Compat. That was already a big step forward–moving to Vue compatibility. We have been trying to build upon this for a long time, fixing tests and whatnot, trying just to make the main code base work in Vue Compat mode 3. We are at least halfway there.
What is the biggest challenge when migrating the enterprise application?
One of the biggest challenges in the migration process is that, while the core projects migrated fine, many supporting libraries didn't. It's not only BootstrapVue; there is Vue draggable. A significant chunk of the libraries have never moved to Vue. It's false for the company to either rewrite or vendor them or choose something else. It is not easy because it’s a product company we’re talking about.
Deliverables are overall, all the refactoring is intact. That's the first one. The second one is that the code base is old, dark, and full of terrors. There are places where we still use the old kind of state management that is written with JavaScript classes, not even Vuex. There are places where people use something that is not even supported in Vue 3 anymore. There are places where technically everything looks fine, but unit tests fail with Vue 3 or even with Compact mode 3 because we do something that was not supposed to be done.
While migrating, it actually feeds back into the Vue ecosystem. There were so many contributions from GitLab to Vue test details because we're trying to migrate fully with our unit tests. Over time, we discovered more and more things about the bugs. There were a few contributions back to Vue 4 and Vue Compat. We concluded that it doesn't work when we're static.
How did you approach migration to Vue 3?
As of December 2024, a few projects moved to Vue 3 under the compatibility mode. We’re trying to migrate the main project right now, also under the compatibility mode. Why? Our component library, GitLab UI, is not independently built. When GitLab started this component library, the idea was, “Let's take the BootstrapVue, wrap the components in our components, see if it works, and then rewrite the implementation.” The last step never happened, so our component library uses BootstrapVue under the hood. BootstrapVue never migrated to the 3.0 version and is not supported for Vue 3.
Some people are building a new BootstrapVue for Vue 3, but the old one we use isn't compatible. One of our engineers took over the ownership of BootstrapVue and at least moved it to Vue Compat. That was already a big step forward–moving to Vue compatibility. We have been trying to build upon this for a long time, fixing tests and whatnot, trying just to make the main code base work in Vue Compat mode 3. We are at least halfway there.
What is the biggest challenge when migrating the enterprise application?
One of the biggest challenges in the migration process is that, while the core projects migrated fine, many supporting libraries didn't. It's not only BootstrapVue; there is Vue draggable. A significant chunk of the libraries have never moved to Vue. It's false for the company to either rewrite or vendor them or choose something else. It is not easy because it’s a product company we’re talking about.
Deliverables are overall, all the refactoring is intact. That's the first one. The second one is that the code base is old, dark, and full of terrors. There are places where we still use the old kind of state management that is written with JavaScript classes, not even Vuex. There are places where people use something that is not even supported in Vue 3 anymore. There are places where technically everything looks fine, but unit tests fail with Vue 3 or even with Compact mode 3 because we do something that was not supposed to be done.
While migrating, it actually feeds back into the Vue ecosystem. There were so many contributions from GitLab to Vue test details because we're trying to migrate fully with our unit tests. Over time, we discovered more and more things about the bugs. There were a few contributions back to Vue 4 and Vue Compat. We concluded that it doesn't work when we're static.
We are currently passing the tests at over 70%. The problem is that the more extensive the code base, the more libraries you use. The older the code base, the more problematic it is to migrate. Migration success largely depends on the size and novelty of the product. Overall, the process is not as smooth as we imagined. It’s happening slowly but steadily.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer, GitLab
We are currently passing the tests at over 70%. The problem is that the more extensive the code base, the more libraries you use. The older the code base, the more problematic it is to migrate. Migration success largely depends on the size and novelty of the product. Overall, the process is not as smooth as we imagined. It’s happening slowly but steadily.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer, GitLab
We are currently passing the tests at over 70%. The problem is that the more extensive the code base, the more libraries you use. The older the code base, the more problematic it is to migrate. Migration success largely depends on the size and novelty of the product. Overall, the process is not as smooth as we imagined. It’s happening slowly but steadily.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer, GitLab
Tackling Migration to Vue 3.0 in E-commerce Applications
Migrating a vast e-commerce website to the most recent major version of either Vue or Nuxt is a challenging task. Migrating from Vue 2.6
to Vue 3.0
is not the most significant issue here - the framework has specific changes in the architecture and design, but in general, the required changes in the application are global and, if done in one place, can be easily replicated in others. What is troublesome is the ecosystem of a framework - all modules, plugins, integrations, or libraries that need to be migrated so that you can migrate your whole project with it.
Let’s take a look at this example. In your e-commerce application, you have a slider that shows recent products. If you manage to migrate your storefront to a Vue 3 version but the maintainer of this slider still has not migrated to Vue 3, you cannot use this slider and must search for an alternative solution. Each package you use makes the migration more difficult.
How do we actually conduct the process of migration? There are two approaches here that you can try to implement:
Rewrite the whole application from scratch with a new framework version
Divide your application into individual modules and migrate module after module.
The first approach is pretty straightforward but also really time-consuming.
It stops further development of the whole application because the more code on the legacy system, the more it will need to migrate to a new version. This solution has advantages, however, because it can solve global issues that cannot be solved on the legacy application, like unmanageable styling, mixed contexts, or complex architecture.
The second approach can be implemented feature by feature, for example, by extracting the checkout page from the main application.
This creates an architecture of micro-frontends, where the main application uses legacy Vue 2/ Nuxt 2, and Checkout is a new Nuxt 3 application. This solution allows the gradual migration of functionality to a newer version of the framework but also adds issues like code reusability and sharing, more applications to maintain, and more complex infrastructure and architecture—this requires the maturity of the organization.
Expect the unexpected when migrating to Vue 3.0
Migration is risky. Essentially, if you think about it, it’s a change that affects your whole application.
Tackling Migration to Vue 3.0 in E-commerce Applications
Migrating a vast e-commerce website to the most recent major version of either Vue or Nuxt is a challenging task. Migrating from Vue 2.6
to Vue 3.0
is not the most significant issue here - the framework has specific changes in the architecture and design, but in general, the required changes in the application are global and, if done in one place, can be easily replicated in others. What is troublesome is the ecosystem of a framework - all modules, plugins, integrations, or libraries that need to be migrated so that you can migrate your whole project with it.
Let’s take a look at this example. In your e-commerce application, you have a slider that shows recent products. If you manage to migrate your storefront to a Vue 3 version but the maintainer of this slider still has not migrated to Vue 3, you cannot use this slider and must search for an alternative solution. Each package you use makes the migration more difficult.
How do we actually conduct the process of migration? There are two approaches here that you can try to implement:
Rewrite the whole application from scratch with a new framework version
Divide your application into individual modules and migrate module after module.
The first approach is pretty straightforward but also really time-consuming.
It stops further development of the whole application because the more code on the legacy system, the more it will need to migrate to a new version. This solution has advantages, however, because it can solve global issues that cannot be solved on the legacy application, like unmanageable styling, mixed contexts, or complex architecture.
The second approach can be implemented feature by feature, for example, by extracting the checkout page from the main application.
This creates an architecture of micro-frontends, where the main application uses legacy Vue 2/ Nuxt 2, and Checkout is a new Nuxt 3 application. This solution allows the gradual migration of functionality to a newer version of the framework but also adds issues like code reusability and sharing, more applications to maintain, and more complex infrastructure and architecture—this requires the maturity of the organization.
Expect the unexpected when migrating to Vue 3.0
Migration is risky. Essentially, if you think about it, it’s a change that affects your whole application.
Tackling Migration to Vue 3.0 in E-commerce Applications
Migrating a vast e-commerce website to the most recent major version of either Vue or Nuxt is a challenging task. Migrating from Vue 2.6
to Vue 3.0
is not the most significant issue here - the framework has specific changes in the architecture and design, but in general, the required changes in the application are global and, if done in one place, can be easily replicated in others. What is troublesome is the ecosystem of a framework - all modules, plugins, integrations, or libraries that need to be migrated so that you can migrate your whole project with it.
Let’s take a look at this example. In your e-commerce application, you have a slider that shows recent products. If you manage to migrate your storefront to a Vue 3 version but the maintainer of this slider still has not migrated to Vue 3, you cannot use this slider and must search for an alternative solution. Each package you use makes the migration more difficult.
How do we actually conduct the process of migration? There are two approaches here that you can try to implement:
Rewrite the whole application from scratch with a new framework version
Divide your application into individual modules and migrate module after module.
The first approach is pretty straightforward but also really time-consuming.
It stops further development of the whole application because the more code on the legacy system, the more it will need to migrate to a new version. This solution has advantages, however, because it can solve global issues that cannot be solved on the legacy application, like unmanageable styling, mixed contexts, or complex architecture.
The second approach can be implemented feature by feature, for example, by extracting the checkout page from the main application.
This creates an architecture of micro-frontends, where the main application uses legacy Vue 2/ Nuxt 2, and Checkout is a new Nuxt 3 application. This solution allows the gradual migration of functionality to a newer version of the framework but also adds issues like code reusability and sharing, more applications to maintain, and more complex infrastructure and architecture—this requires the maturity of the organization.
Expect the unexpected when migrating to Vue 3.0
Migration is risky. Essentially, if you think about it, it’s a change that affects your whole application.
While staying with Vue 2 might be feasible for a while, Vue 3 migration challenges include potential bugs and breaking changes.
Szymon Licau, Engineer Manager at Monterail
While staying with Vue 2 might be feasible for a while, Vue 3 migration challenges include potential bugs and breaking changes.
Szymon Licau, Engineer Manager at Monterail
While staying with Vue 2 might be feasible for a while, Vue 3 migration challenges include potential bugs and breaking changes.
Szymon Licau, Engineer Manager at Monterail
Of course, this is bad because you don’t want to impact your users negatively. Because it's such a big thing, it’s difficult to accurately estimate how much time and effort the migration will take - so many uncertainties are involved. Even taking it one step at a time will uncover new things and increase the workload.
Typically, the issues that come up are not usually connected to the Vue framework itself - they’re usually about the dependencies. For example, migrating your Nuxt application might be quite complex and challenging, especially because many of the popular modules for Nuxt 2 are still not there for Nuxt 3. The Nuxt team has proposed some solutions here, and there are other ways to approach it, like Nuxt Bridge. If your product doesn’t have many dependencies and if you follow the Vue Migration Guidelines, the whole process should be pretty straightforward.
Of course, this is bad because you don’t want to impact your users negatively. Because it's such a big thing, it’s difficult to accurately estimate how much time and effort the migration will take - so many uncertainties are involved. Even taking it one step at a time will uncover new things and increase the workload.
Typically, the issues that come up are not usually connected to the Vue framework itself - they’re usually about the dependencies. For example, migrating your Nuxt application might be quite complex and challenging, especially because many of the popular modules for Nuxt 2 are still not there for Nuxt 3. The Nuxt team has proposed some solutions here, and there are other ways to approach it, like Nuxt Bridge. If your product doesn’t have many dependencies and if you follow the Vue Migration Guidelines, the whole process should be pretty straightforward.
Of course, this is bad because you don’t want to impact your users negatively. Because it's such a big thing, it’s difficult to accurately estimate how much time and effort the migration will take - so many uncertainties are involved. Even taking it one step at a time will uncover new things and increase the workload.
Typically, the issues that come up are not usually connected to the Vue framework itself - they’re usually about the dependencies. For example, migrating your Nuxt application might be quite complex and challenging, especially because many of the popular modules for Nuxt 2 are still not there for Nuxt 3. The Nuxt team has proposed some solutions here, and there are other ways to approach it, like Nuxt Bridge. If your product doesn’t have many dependencies and if you follow the Vue Migration Guidelines, the whole process should be pretty straightforward.
3. Successful Migrations Step by Step–Case Studies
3. Successful Migrations Step by Step–Case Studies
3. Successful Migrations Step by Step–Case Studies
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development. The company embarked on a multi-phase migration of its front-end interface, transitioning from Vue 1 to Vue 2 and subsequently to Vue 3 over six years.
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development. The company embarked on a multi-phase migration of its front-end interface, transitioning from Vue 1 to Vue 2 and subsequently to Vue 3 over six years.
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development. The company embarked on a multi-phase migration of its front-end interface, transitioning from Vue 1 to Vue 2 and subsequently to Vue 3 over six years.
As Storyblok continued to evolve and improve, the codebase needed to be upgraded from Vue 2 to Vue 3. With the release of Vue 3, Storyblok opted for a "soft migration," updating the existing codebase without altering the user interface. The process involved:
Migrating the Design System to Vue 3.
Updating or replacing outdated dependencies.
Conducting developer training on Vue 3 changes.
Thorough testing to ensure functionality.
The upgrade required extensive code changes while maintaining functionality throughout. Storyblok’s team devoted significant effort to interface testing and had to set aside time for developers to master Vue 3's changes. Managing this across a large team proved complex due to multiple codebases and varying business requirements.
As Storyblok continued to evolve and improve, the codebase needed to be upgraded from Vue 2 to Vue 3. With the release of Vue 3, Storyblok opted for a "soft migration," updating the existing codebase without altering the user interface. The process involved:
Migrating the Design System to Vue 3.
Updating or replacing outdated dependencies.
Conducting developer training on Vue 3 changes.
Thorough testing to ensure functionality.
The upgrade required extensive code changes while maintaining functionality throughout. Storyblok’s team devoted significant effort to interface testing and had to set aside time for developers to master Vue 3's changes. Managing this across a large team proved complex due to multiple codebases and varying business requirements.
As Storyblok continued to evolve and improve, the codebase needed to be upgraded from Vue 2 to Vue 3. With the release of Vue 3, Storyblok opted for a "soft migration," updating the existing codebase without altering the user interface. The process involved:
Migrating the Design System to Vue 3.
Updating or replacing outdated dependencies.
Conducting developer training on Vue 3 changes.
Thorough testing to ensure functionality.
The upgrade required extensive code changes while maintaining functionality throughout. Storyblok’s team devoted significant effort to interface testing and had to set aside time for developers to master Vue 3's changes. Managing this across a large team proved complex due to multiple codebases and varying business requirements.
We encountered several challenges during migration. The first was user resistance to change - while we wanted to improve the UX and remove underperforming features, users strongly preferred maintaining familiar functionality from the previous version. We ultimately adapted our approach to align more closely with their expectations.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
We encountered several challenges during migration. The first was user resistance to change - while we wanted to improve the UX and remove underperforming features, users strongly preferred maintaining familiar functionality from the previous version. We ultimately adapted our approach to align more closely with their expectations.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
We encountered several challenges during migration. The first was user resistance to change - while we wanted to improve the UX and remove underperforming features, users strongly preferred maintaining familiar functionality from the previous version. We ultimately adapted our approach to align more closely with their expectations.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
What became a real issue and a challenge was testing the Vue 2 to Vue 3 transition. Updating unit tests became more labor-intensive than the actual application changes, requiring three weeks of intensive work with our QA team to identify and resolve issues.
What became a real issue and a challenge was testing the Vue 2 to Vue 3 transition. Updating unit tests became more labor-intensive than the actual application changes, requiring three weeks of intensive work with our QA team to identify and resolve issues.
What became a real issue and a challenge was testing the Vue 2 to Vue 3 transition. Updating unit tests became more labor-intensive than the actual application changes, requiring three weeks of intensive work with our QA team to identify and resolve issues.
For the production rollout, we implemented a staged approach. Using blue/green deployment, we directed a small portion of traffic to the Vue 3 version while maintaining most users on the stable Vue 2 version. We monitored this setup for a week, working closely with our Sales and Support teams who maintained contact with key clients. This gradual introduction helped us catch issues early while minimizing disruption to our user base.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
For the production rollout, we implemented a staged approach. Using blue/green deployment, we directed a small portion of traffic to the Vue 3 version while maintaining most users on the stable Vue 2 version. We monitored this setup for a week, working closely with our Sales and Support teams who maintained contact with key clients. This gradual introduction helped us catch issues early while minimizing disruption to our user base.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
For the production rollout, we implemented a staged approach. Using blue/green deployment, we directed a small portion of traffic to the Vue 3 version while maintaining most users on the stable Vue 2 version. We monitored this setup for a week, working closely with our Sales and Support teams who maintained contact with key clients. This gradual introduction helped us catch issues early while minimizing disruption to our user base.
Lisi Linhart, Ex-Principal Frontend Architect at Storyblok
Key Strategies and Lessons Learned:
Timeline Management: The Vue 2 to Vue 3 transition took about eight months–establishing clear timelines helped in resource allocation and stakeholder communication.
Prioritizing Functionality: Focusing on critical components, like the Visual Editor, ensured essential features were migrated first, maintaining service continuity.
Automation Utilization: Employing automation tools like the migration build and scripts accelerated the migration by handling repetitive tasks, such as code updates across numerous files.
User Engagement: Involving users through feedback mechanisms and beta releases facilitated iterative improvements and user satisfaction.
Comprehensive Testing: Extensive unit and end-to-end testing were crucial in identifying and resolving issues, ensuring a stable production environment.
Key Strategies and Lessons Learned:
Timeline Management: The Vue 2 to Vue 3 transition took about eight months–establishing clear timelines helped in resource allocation and stakeholder communication.
Prioritizing Functionality: Focusing on critical components, like the Visual Editor, ensured essential features were migrated first, maintaining service continuity.
Automation Utilization: Employing automation tools like the migration build and scripts accelerated the migration by handling repetitive tasks, such as code updates across numerous files.
User Engagement: Involving users through feedback mechanisms and beta releases facilitated iterative improvements and user satisfaction.
Comprehensive Testing: Extensive unit and end-to-end testing were crucial in identifying and resolving issues, ensuring a stable production environment.
Key Strategies and Lessons Learned:
Timeline Management: The Vue 2 to Vue 3 transition took about eight months–establishing clear timelines helped in resource allocation and stakeholder communication.
Prioritizing Functionality: Focusing on critical components, like the Visual Editor, ensured essential features were migrated first, maintaining service continuity.
Automation Utilization: Employing automation tools like the migration build and scripts accelerated the migration by handling repetitive tasks, such as code updates across numerous files.
User Engagement: Involving users through feedback mechanisms and beta releases facilitated iterative improvements and user satisfaction.
Comprehensive Testing: Extensive unit and end-to-end testing were crucial in identifying and resolving issues, ensuring a stable production environment.

About Systems Engineering A/S
Systems Engineering A/S is a Danish consulting firm dedicated to applying Systems Engineering principles to the design and implementation of industrial and commercial products, including industrial machinery and process plants. With a six-year partnership with Monterail, the company began working on system engineering projects as a consulting team. They developed an application that underwent a significant technological upgrade throughout the collaboration, transitioning to Vue 3.0 in 2023, demonstrating their commitment to staying current with modern web development technologies.
About Systems Engineering A/S
Systems Engineering A/S is a Danish consulting firm dedicated to applying Systems Engineering principles to the design and implementation of industrial and commercial products, including industrial machinery and process plants. With a six-year partnership with Monterail, the company began working on system engineering projects as a consulting team. They developed an application that underwent a significant technological upgrade throughout the collaboration, transitioning to Vue 3.0 in 2023, demonstrating their commitment to staying current with modern web development technologies.
About Systems Engineering A/S
Systems Engineering A/S is a Danish consulting firm dedicated to applying Systems Engineering principles to the design and implementation of industrial and commercial products, including industrial machinery and process plants. With a six-year partnership with Monterail, the company began working on system engineering projects as a consulting team. They developed an application that underwent a significant technological upgrade throughout the collaboration, transitioning to Vue 3.0 in 2023, demonstrating their commitment to staying current with modern web development technologies.
The migration was an opportunity to address technical requirements and improve product quality and scalability. The team decided to start the migration in June to retain as much decision-making power as possible and have enough time before December 2023, when Vue 2 stopped being further developed and supported.
The migration was an opportunity to address technical requirements and improve product quality and scalability. The team decided to start the migration in June to retain as much decision-making power as possible and have enough time before December 2023, when Vue 2 stopped being further developed and supported.
The migration was an opportunity to address technical requirements and improve product quality and scalability. The team decided to start the migration in June to retain as much decision-making power as possible and have enough time before December 2023, when Vue 2 stopped being further developed and supported.
One of the biggest technical challenges, but also an opportunity, was that once the application was migrated, it would have to use the existing Vue 2 ecosystem exclusively, with its libraries and components. Older Vue 2 features like portals with Vue 3’s built-in teleport component were replaced, which reduced the need for external dependencies and improved performance.
Harald Hersted, Specialist at Systems Engineering
One of the biggest technical challenges, but also an opportunity, was that once the application was migrated, it would have to use the existing Vue 2 ecosystem exclusively, with its libraries and components. Older Vue 2 features like portals with Vue 3’s built-in teleport component were replaced, which reduced the need for external dependencies and improved performance.
Harald Hersted, Specialist at Systems Engineering
One of the biggest technical challenges, but also an opportunity, was that once the application was migrated, it would have to use the existing Vue 2 ecosystem exclusively, with its libraries and components. Older Vue 2 features like portals with Vue 3’s built-in teleport component were replaced, which reduced the need for external dependencies and improved performance.
Harald Hersted, Specialist at Systems Engineering
The developers have also used Vuetify, an open-source UI Component Framework. The dependencies were rewritten specifically for Vue 3 to ensure compatibility.
During the migration, the team used the opportunity to:
Identify Inconsistencies: Address inconsistencies in their codebase, ensuring a more unified and predictable structure across components.
Fix Long-Standing Bugs: Hunt and resolve minor bugs and errors that may have been overlooked or deprioritized in day-to-day development.
Refactor Legacy Code: Replace older, less efficient code patterns with modern approaches enabled by Vue 3, such as the Composition API and the new reactivity system.
The developers have also used Vuetify, an open-source UI Component Framework. The dependencies were rewritten specifically for Vue 3 to ensure compatibility.
During the migration, the team used the opportunity to:
Identify Inconsistencies: Address inconsistencies in their codebase, ensuring a more unified and predictable structure across components.
Fix Long-Standing Bugs: Hunt and resolve minor bugs and errors that may have been overlooked or deprioritized in day-to-day development.
Refactor Legacy Code: Replace older, less efficient code patterns with modern approaches enabled by Vue 3, such as the Composition API and the new reactivity system.
The developers have also used Vuetify, an open-source UI Component Framework. The dependencies were rewritten specifically for Vue 3 to ensure compatibility.
During the migration, the team used the opportunity to:
Identify Inconsistencies: Address inconsistencies in their codebase, ensuring a more unified and predictable structure across components.
Fix Long-Standing Bugs: Hunt and resolve minor bugs and errors that may have been overlooked or deprioritized in day-to-day development.
Refactor Legacy Code: Replace older, less efficient code patterns with modern approaches enabled by Vue 3, such as the Composition API and the new reactivity system.
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Harald Hersted, Specialist at Systems Engineering
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Harald Hersted, Specialist at Systems Engineering
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Harald Hersted, Specialist at Systems Engineering

About Gradido
Gradido is a non-profit organization offering a unique monetary system to facilitate a sustainable economy through a self-regulating money supply. As many companies in 2022, they faced the challenge of migrating their complex digital currency platform from Vue 2 to Vue 3. Gradido wanted to future-proof the platform, improve performance, and align with modern development practices.
About Gradido
Gradido is a non-profit organization offering a unique monetary system to facilitate a sustainable economy through a self-regulating money supply. As many companies in 2022, they faced the challenge of migrating their complex digital currency platform from Vue 2 to Vue 3. Gradido wanted to future-proof the platform, improve performance, and align with modern development practices.
About Gradido
Gradido is a non-profit organization offering a unique monetary system to facilitate a sustainable economy through a self-regulating money supply. As many companies in 2022, they faced the challenge of migrating their complex digital currency platform from Vue 2 to Vue 3. Gradido wanted to future-proof the platform, improve performance, and align with modern development practices.
1,000+
Vue 3 Migration: Rewritten tests to ensure app functioning on the new tech stack.
1,000+
Vue 3 Migration: Rewritten tests to ensure app functioning on the new tech stack.
1,000+
Vue 3 Migration: Rewritten tests to ensure app functioning on the new tech stack.
400+
Code Base and Test Migration: Updates files for Vue 3 compatibility.
400+
Code Base and Test Migration: Updates files for Vue 3 compatibility.
400+
Code Base and Test Migration: Updates files for Vue 3 compatibility.
3
Team members
3
Team members
3
Team members
The transition to Vue 3 was challenging, especially when it came to ensuring that essential dependencies would work properly.
The transition to Vue 3 was challenging, especially when it came to ensuring that essential dependencies would work properly.
The transition to Vue 3 was challenging, especially when it came to ensuring that essential dependencies would work properly.
The upgrade journey began by establishing separate environments for development and testing to ensure a controlled transition. Our team synchronized with the client's codebase and modernized our development tools. We moved away from @vue/cli-service
and its plugins, replacing Webpack with Vite for better development performance. This also required updating Node.js to maintain consistency between applications.
Bernd Hückstädt, Founder & Director of Gradido Academy
The upgrade journey began by establishing separate environments for development and testing to ensure a controlled transition. Our team synchronized with the client's codebase and modernized our development tools. We moved away from @vue/cli-service
and its plugins, replacing Webpack with Vite for better development performance. This also required updating Node.js to maintain consistency between applications.
Bernd Hückstädt, Founder & Director of Gradido Academy
The upgrade journey began by establishing separate environments for development and testing to ensure a controlled transition. Our team synchronized with the client's codebase and modernized our development tools. We moved away from @vue/cli-service
and its plugins, replacing Webpack with Vite for better development performance. This also required updating Node.js to maintain consistency between applications.
Bernd Hückstädt, Founder & Director of Gradido Academy
We tackled library compatibility issues head-on, such as upgrading to bootstrap-vue-next where possible or finding alternative solutions when necessary. The team worked through Vue's migration guide to address compatibility warnings and potential breaking changes. Thorough testing, including manual quality assurance, verified that the application and its updated dependencies functioned correctly with Vue 3.
The key steps of the migration involved:
Addressing the incompatibility of BootstrapVue with Vue3 by migrating to bootstrap-vue-next, the Vue 3 version of the library.
Migrating the vee-validate library to version 4.0 (including a switch from the Options API to the Composition API).
Streamlining dependencies and leveraging the latest tools available for Vue3 (vue-timers and vue2-transitions were replaced with corresponding Vue3 libraries).
Focusing on refactoring the codebase. Vue developers standardized async code handling by switching from a mix of async/await and promise-based calls to using only async/await.
The migration to Vue 3 brought significant performance improvements, with faster page loads and more fluid user interactions across admin and frontend interfaces. This involved a significant effort to modernize the codebase, including rewriting 1,000+ tests and updating over 400 files. Thanks to a unified approach to async operations and coding standards, the platform is easier to maintain and extend. By leveraging Vue 3's modern features like the Composition API and advanced libraries, Gradido is now more powerful and better positioned for future growth.
We tackled library compatibility issues head-on, such as upgrading to bootstrap-vue-next where possible or finding alternative solutions when necessary. The team worked through Vue's migration guide to address compatibility warnings and potential breaking changes. Thorough testing, including manual quality assurance, verified that the application and its updated dependencies functioned correctly with Vue 3.
The key steps of the migration involved:
Addressing the incompatibility of BootstrapVue with Vue3 by migrating to bootstrap-vue-next, the Vue 3 version of the library.
Migrating the vee-validate library to version 4.0 (including a switch from the Options API to the Composition API).
Streamlining dependencies and leveraging the latest tools available for Vue3 (vue-timers and vue2-transitions were replaced with corresponding Vue3 libraries).
Focusing on refactoring the codebase. Vue developers standardized async code handling by switching from a mix of async/await and promise-based calls to using only async/await.
The migration to Vue 3 brought significant performance improvements, with faster page loads and more fluid user interactions across admin and frontend interfaces. This involved a significant effort to modernize the codebase, including rewriting 1,000+ tests and updating over 400 files. Thanks to a unified approach to async operations and coding standards, the platform is easier to maintain and extend. By leveraging Vue 3's modern features like the Composition API and advanced libraries, Gradido is now more powerful and better positioned for future growth.
We tackled library compatibility issues head-on, such as upgrading to bootstrap-vue-next where possible or finding alternative solutions when necessary. The team worked through Vue's migration guide to address compatibility warnings and potential breaking changes. Thorough testing, including manual quality assurance, verified that the application and its updated dependencies functioned correctly with Vue 3.
The key steps of the migration involved:
Addressing the incompatibility of BootstrapVue with Vue3 by migrating to bootstrap-vue-next, the Vue 3 version of the library.
Migrating the vee-validate library to version 4.0 (including a switch from the Options API to the Composition API).
Streamlining dependencies and leveraging the latest tools available for Vue3 (vue-timers and vue2-transitions were replaced with corresponding Vue3 libraries).
Focusing on refactoring the codebase. Vue developers standardized async code handling by switching from a mix of async/await and promise-based calls to using only async/await.
The migration to Vue 3 brought significant performance improvements, with faster page loads and more fluid user interactions across admin and frontend interfaces. This involved a significant effort to modernize the codebase, including rewriting 1,000+ tests and updating over 400 files. Thanks to a unified approach to async operations and coding standards, the platform is easier to maintain and extend. By leveraging Vue 3's modern features like the Composition API and advanced libraries, Gradido is now more powerful and better positioned for future growth.
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Bernd Hückstädt, Founder & Director of Gradido Academy
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Bernd Hückstädt, Founder & Director of Gradido Academy
The team wanted the migration to be non-interfering with current development. They achieved that by introducing the incremental migration process and creating two parallel app versions. Once the Vue 3 variant was complete and ready to be deployed and used, one would replace the other.
Bernd Hückstädt, Founder & Director of Gradido Academy
4. Recommended Approach to Vue 3 Migration
Rewriting your entire codebase at once is not the most efficient migration approach. Instead, use an incremental method. Your legacy codebase as a whole still requires updating. But unlike a full rewrite, it’s spread out over time to minimize your technical debt and financial costs. This incremental approach will be based on your vision, which is crucial here.
Some technical factors might influence the complexity of the migration process. You may want to look at:
How many dependencies are there without Vue 2 support, and how important are they? Do you have any alternatives?
Does your app use non-public Vue APIs?
Does the app rely on behavior that changed between Vue 2 and Vue 3?
Does the code follow best practices as listed in the Vue Style Guide?
Does it use non-standard syntax (i.e., class-based components)?
Does it use TypeScript?
Is there server-side rendering involved?
Does it use a meta-framework on top of Vue (e.g., Nuxt)?
Are you using a UI framework?
Does the project use various styling approaches (e.g SCSS, TailwindCSS)?
Of course, before we begin the migration process, we must audit the project to get a better picture. You must consider what to complete before migrating to Vue 3 and your resources, technical aspects, and project status.
Now, in terms of the actual migration process, at Monterail, we always try to minimize the amount of risk that we could cause for your end users. This is why we introduce a concept called incremental migration. As the name suggests, the process is not a single step for the migration, with your team taking a giant leap. Instead, you should define smaller milestones, deploy your application more often, and successfully do it with smaller steps. Therefore, we will also minimize the risks because we will control what areas we will affect in your application.
4. Recommended Approach to Vue 3 Migration
Rewriting your entire codebase at once is not the most efficient migration approach. Instead, use an incremental method. Your legacy codebase as a whole still requires updating. But unlike a full rewrite, it’s spread out over time to minimize your technical debt and financial costs. This incremental approach will be based on your vision, which is crucial here.
Some technical factors might influence the complexity of the migration process. You may want to look at:
How many dependencies are there without Vue 2 support, and how important are they? Do you have any alternatives?
Does your app use non-public Vue APIs?
Does the app rely on behavior that changed between Vue 2 and Vue 3?
Does the code follow best practices as listed in the Vue Style Guide?
Does it use non-standard syntax (i.e., class-based components)?
Does it use TypeScript?
Is there server-side rendering involved?
Does it use a meta-framework on top of Vue (e.g., Nuxt)?
Are you using a UI framework?
Does the project use various styling approaches (e.g SCSS, TailwindCSS)?
Of course, before we begin the migration process, we must audit the project to get a better picture. You must consider what to complete before migrating to Vue 3 and your resources, technical aspects, and project status.
Now, in terms of the actual migration process, at Monterail, we always try to minimize the amount of risk that we could cause for your end users. This is why we introduce a concept called incremental migration. As the name suggests, the process is not a single step for the migration, with your team taking a giant leap. Instead, you should define smaller milestones, deploy your application more often, and successfully do it with smaller steps. Therefore, we will also minimize the risks because we will control what areas we will affect in your application.
4. Recommended Approach to Vue 3 Migration
Rewriting your entire codebase at once is not the most efficient migration approach. Instead, use an incremental method. Your legacy codebase as a whole still requires updating. But unlike a full rewrite, it’s spread out over time to minimize your technical debt and financial costs. This incremental approach will be based on your vision, which is crucial here.
Some technical factors might influence the complexity of the migration process. You may want to look at:
How many dependencies are there without Vue 2 support, and how important are they? Do you have any alternatives?
Does your app use non-public Vue APIs?
Does the app rely on behavior that changed between Vue 2 and Vue 3?
Does the code follow best practices as listed in the Vue Style Guide?
Does it use non-standard syntax (i.e., class-based components)?
Does it use TypeScript?
Is there server-side rendering involved?
Does it use a meta-framework on top of Vue (e.g., Nuxt)?
Are you using a UI framework?
Does the project use various styling approaches (e.g SCSS, TailwindCSS)?
Of course, before we begin the migration process, we must audit the project to get a better picture. You must consider what to complete before migrating to Vue 3 and your resources, technical aspects, and project status.
Now, in terms of the actual migration process, at Monterail, we always try to minimize the amount of risk that we could cause for your end users. This is why we introduce a concept called incremental migration. As the name suggests, the process is not a single step for the migration, with your team taking a giant leap. Instead, you should define smaller milestones, deploy your application more often, and successfully do it with smaller steps. Therefore, we will also minimize the risks because we will control what areas we will affect in your application.
If you do it step-by-step, you can better predict the amount of effort needed, the unknowns we see, and how much time such a given step could take.
If you do it step-by-step, you can better predict the amount of effort needed, the unknowns we see, and how much time such a given step could take.
If you do it step-by-step, you can better predict the amount of effort needed, the unknowns we see, and how much time such a given step could take.
Now, if automated tests are also implemented in your project, this is an excellent moment to introduce them and increase your confidence in the code you ship to production. The result of that means that you can continuously improve your codebase and start reaping the benefits early. It's also important to remember that migration does not necessarily mean you will be blocked from the development process. It can happen in parallel to the migration process.
Now, if automated tests are also implemented in your project, this is an excellent moment to introduce them and increase your confidence in the code you ship to production. The result of that means that you can continuously improve your codebase and start reaping the benefits early. It's also important to remember that migration does not necessarily mean you will be blocked from the development process. It can happen in parallel to the migration process.
Now, if automated tests are also implemented in your project, this is an excellent moment to introduce them and increase your confidence in the code you ship to production. The result of that means that you can continuously improve your codebase and start reaping the benefits early. It's also important to remember that migration does not necessarily mean you will be blocked from the development process. It can happen in parallel to the migration process.
2024 was the year of migrating to Vue 3. Adoption grew to 82%, which is a strong vote of confidence in the framework’s future. While the progress is encouraging, nearly one in five projects still use Vue 2, a year after its end of life.
Fotis Adamakis, Ex-Glovo Software Engineer, Vue.js Athens Meetup Organizer
2024 was the year of migrating to Vue 3. Adoption grew to 82%, which is a strong vote of confidence in the framework’s future. While the progress is encouraging, nearly one in five projects still use Vue 2, a year after its end of life.
Fotis Adamakis, Ex-Glovo Software Engineer, Vue.js Athens Meetup Organizer
2024 was the year of migrating to Vue 3. Adoption grew to 82%, which is a strong vote of confidence in the framework’s future. While the progress is encouraging, nearly one in five projects still use Vue 2, a year after its end of life.
Fotis Adamakis, Ex-Glovo Software Engineer, Vue.js Athens Meetup Organizer
If you’re one of those still planning to migrate, here’s a checklist for you:
Start by identifying blockers such as outdated dependencies, libraries that lack Vue 3 support, or usages of Vue’s internal APIs.
Replace outdated dependencies with alternatives that support both versions.
Consider creating an abstraction layer using a wrapper component for libraries that cannot be easily replaced.
Tools like Vue Demi can help with writing code that works in both versions.
Once blockers are addressed, use the Migration Build (@vue/compat), which works with both versions, to update your application gradually.
Take it step by step, refactoring the old code and aligning your codebase with Vue 3 standards.
Test every change to catch issues early and keep everything stable.
Migration is challenging but highly rewarding.
If you’re one of those still planning to migrate, here’s a checklist for you:
Start by identifying blockers such as outdated dependencies, libraries that lack Vue 3 support, or usages of Vue’s internal APIs.
Replace outdated dependencies with alternatives that support both versions.
Consider creating an abstraction layer using a wrapper component for libraries that cannot be easily replaced.
Tools like Vue Demi can help with writing code that works in both versions.
Once blockers are addressed, use the Migration Build (@vue/compat), which works with both versions, to update your application gradually.
Take it step by step, refactoring the old code and aligning your codebase with Vue 3 standards.
Test every change to catch issues early and keep everything stable.
Migration is challenging but highly rewarding.
If you’re one of those still planning to migrate, here’s a checklist for you:
Start by identifying blockers such as outdated dependencies, libraries that lack Vue 3 support, or usages of Vue’s internal APIs.
Replace outdated dependencies with alternatives that support both versions.
Consider creating an abstraction layer using a wrapper component for libraries that cannot be easily replaced.
Tools like Vue Demi can help with writing code that works in both versions.
Once blockers are addressed, use the Migration Build (@vue/compat), which works with both versions, to update your application gradually.
Take it step by step, refactoring the old code and aligning your codebase with Vue 3 standards.
Test every change to catch issues early and keep everything stable.
Migration is challenging but highly rewarding.
Migrate your project from Vue 2 to Vue 3 in 6 easy-to-follow steps
What does your project gain from Vue 3's incremental migration approach? Get tips, tricks, and quick wins from our experts.
7. Scaling with Vue: Case Studies from Top Tech & E-Commerce Brands
Vue’s performance, flexibility, simplicity and strong community support were among the reasons companies across different industries and application types decided to leverage this framework. The adoption of Vue has brought them significant benefits, from accelerating development cycles and high customisation to improved developer productivity. Vue has demonstrated its capability to solve complex performance challenges, interactivity issues, and transform legacy systems.
Enjoy seven case studies from established companies–Hack The Box, Gitlab, Storyblok, Booksy, DocPlanner, Give Directly and Alokai–showcasing successful implementation of Vue.js.
7. Scaling with Vue: Case Studies from Top Tech & E-Commerce Brands
Vue’s performance, flexibility, simplicity and strong community support were among the reasons companies across different industries and application types decided to leverage this framework. The adoption of Vue has brought them significant benefits, from accelerating development cycles and high customisation to improved developer productivity. Vue has demonstrated its capability to solve complex performance challenges, interactivity issues, and transform legacy systems.
Enjoy seven case studies from established companies–Hack The Box, Gitlab, Storyblok, Booksy, DocPlanner, Give Directly and Alokai–showcasing successful implementation of Vue.js.
7. Scaling with Vue: Case Studies from Top Tech & E-Commerce Brands
Vue’s performance, flexibility, simplicity and strong community support were among the reasons companies across different industries and application types decided to leverage this framework. The adoption of Vue has brought them significant benefits, from accelerating development cycles and high customisation to improved developer productivity. Vue has demonstrated its capability to solve complex performance challenges, interactivity issues, and transform legacy systems.
Enjoy seven case studies from established companies–Hack The Box, Gitlab, Storyblok, Booksy, DocPlanner, Give Directly and Alokai–showcasing successful implementation of Vue.js.

Improved UX and better scalability for millions of users
Improved UX and better scalability for millions of users
Improved UX and better scalability for millions of users
About Hack The Box
Hack The Box is the Cyber Performance Center with the mission to provide a human-first platform to create and maintain high-performing cybersecurity individuals and organizations. Hack The Box is the only platform that unites upskilling, workforce development, and the human focus in the cybersecurity industry, and it's trusted by organizations worldwide for driving their teams to peak performance. Launched in 2017, Hack The Box brings together the largest global cybersecurity community of over 3 million platform members. Rapidly growing its international footprint and reach, Hack The Box is headquartered in the UK, with additional US, Australia, and Greece offices.
About Hack The Box
Hack The Box is the Cyber Performance Center with the mission to provide a human-first platform to create and maintain high-performing cybersecurity individuals and organizations. Hack The Box is the only platform that unites upskilling, workforce development, and the human focus in the cybersecurity industry, and it's trusted by organizations worldwide for driving their teams to peak performance. Launched in 2017, Hack The Box brings together the largest global cybersecurity community of over 3 million platform members. Rapidly growing its international footprint and reach, Hack The Box is headquartered in the UK, with additional US, Australia, and Greece offices.
About Hack The Box
Hack The Box is the Cyber Performance Center with the mission to provide a human-first platform to create and maintain high-performing cybersecurity individuals and organizations. Hack The Box is the only platform that unites upskilling, workforce development, and the human focus in the cybersecurity industry, and it's trusted by organizations worldwide for driving their teams to peak performance. Launched in 2017, Hack The Box brings together the largest global cybersecurity community of over 3 million platform members. Rapidly growing its international footprint and reach, Hack The Box is headquartered in the UK, with additional US, Australia, and Greece offices.
Our tech stack had to undergo a major transformation
I joined Hack The Box sometime after its founding in 2017. This allowed me to witness firsthand how our technology stack evolved alongside the company's growth. The company started with HTB Labs, an upskilling platform that enables users to practice real-world hacking by connecting to virtual machines. Around the time I joined, we launched HTB Academy, our interactive and guided skills development platform designed for users looking to upskill and get certified in offensive, defensive, and general cybersecurity. Originally, both products s were built with Laravel and jQuery on the front end. What was a sufficient solution for thousands of users started to show limitations as we scaled to millions who required enhanced performance and stability from our platform.
Our tech stack had to undergo a major transformation
I joined Hack The Box sometime after its founding in 2017. This allowed me to witness firsthand how our technology stack evolved alongside the company's growth. The company started with HTB Labs, an upskilling platform that enables users to practice real-world hacking by connecting to virtual machines. Around the time I joined, we launched HTB Academy, our interactive and guided skills development platform designed for users looking to upskill and get certified in offensive, defensive, and general cybersecurity. Originally, both products s were built with Laravel and jQuery on the front end. What was a sufficient solution for thousands of users started to show limitations as we scaled to millions who required enhanced performance and stability from our platform.
Our tech stack had to undergo a major transformation
I joined Hack The Box sometime after its founding in 2017. This allowed me to witness firsthand how our technology stack evolved alongside the company's growth. The company started with HTB Labs, an upskilling platform that enables users to practice real-world hacking by connecting to virtual machines. Around the time I joined, we launched HTB Academy, our interactive and guided skills development platform designed for users looking to upskill and get certified in offensive, defensive, and general cybersecurity. Originally, both products s were built with Laravel and jQuery on the front end. What was a sufficient solution for thousands of users started to show limitations as we scaled to millions who required enhanced performance and stability from our platform.
As Hack The Box evolved, we encountered performance challenges and difficulties in managing our growing codebase. Over time, the legacy system showed some limitations in terms of optimization and maintenance. With our strong focus on security, we identified the need for a more modern, reliable framework that could support our growing needs and align with the security principles we teach. This drove our decision to modernize our technology stack while ensuring our existing code remained functional.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
As Hack The Box evolved, we encountered performance challenges and difficulties in managing our growing codebase. Over time, the legacy system showed some limitations in terms of optimization and maintenance. With our strong focus on security, we identified the need for a more modern, reliable framework that could support our growing needs and align with the security principles we teach. This drove our decision to modernize our technology stack while ensuring our existing code remained functional.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
As Hack The Box evolved, we encountered performance challenges and difficulties in managing our growing codebase. Over time, the legacy system showed some limitations in terms of optimization and maintenance. With our strong focus on security, we identified the need for a more modern, reliable framework that could support our growing needs and align with the security principles we teach. This drove our decision to modernize our technology stack while ensuring our existing code remained functional.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
Our journey with Vue has been evolutionary
We chose Vue for several key reasons. First, its gentle learning curve allows new developers to quickly become productive team members, with even junior developers able to contribute to projects almost immediately. This has significantly improved our development efficiency. Vue offers a smoother developer experience than jQuery. The framework's reactivity enhances user interactions, and its intuitive nature enables us to build features faster. While React was also considered, we preferred Vue's clean separation of HTML and script components. The code structure is more intuitive and, frankly, more enjoyable to work with.
So, the rewrite process involved the HTB Labs and the HTB Academy. The HTB Labs, originally built with jQuery, were rewritten using Vue 2. We took a more gradual approach for the HTB Academy platform, which was built with jQuery and Laravel Blade. We first introduced Vue components into existing Blade templates, creating a hybrid architecture.
Our journey with Vue has been evolutionary. We started with Vue 2 and have since upgraded to Vue 3, keeping pace with the framework's improvements. When Vue 3 was released, we started a systematic migration process. The HTB Labs needed to transition from Vue 2 to Vue 3, while the HTB Academy platform required a more comprehensive overhaul since it was still running on a mixed stack of jQuery and Vue 2.
I agree with the widely held view that enterprise-scale migrations require careful planning. Before jumping to Vue 3, we first updated to the latest version of Vue 2 and implemented the Composition API. This intermediate step helped us prepare our codebase and team for the full Vue 3 migration. The process was methodical, we made incremental changes to ensure a smooth transition.
Our journey with Vue has been evolutionary
We chose Vue for several key reasons. First, its gentle learning curve allows new developers to quickly become productive team members, with even junior developers able to contribute to projects almost immediately. This has significantly improved our development efficiency. Vue offers a smoother developer experience than jQuery. The framework's reactivity enhances user interactions, and its intuitive nature enables us to build features faster. While React was also considered, we preferred Vue's clean separation of HTML and script components. The code structure is more intuitive and, frankly, more enjoyable to work with.
So, the rewrite process involved the HTB Labs and the HTB Academy. The HTB Labs, originally built with jQuery, were rewritten using Vue 2. We took a more gradual approach for the HTB Academy platform, which was built with jQuery and Laravel Blade. We first introduced Vue components into existing Blade templates, creating a hybrid architecture.
Our journey with Vue has been evolutionary. We started with Vue 2 and have since upgraded to Vue 3, keeping pace with the framework's improvements. When Vue 3 was released, we started a systematic migration process. The HTB Labs needed to transition from Vue 2 to Vue 3, while the HTB Academy platform required a more comprehensive overhaul since it was still running on a mixed stack of jQuery and Vue 2.
I agree with the widely held view that enterprise-scale migrations require careful planning. Before jumping to Vue 3, we first updated to the latest version of Vue 2 and implemented the Composition API. This intermediate step helped us prepare our codebase and team for the full Vue 3 migration. The process was methodical, we made incremental changes to ensure a smooth transition.
Our journey with Vue has been evolutionary
We chose Vue for several key reasons. First, its gentle learning curve allows new developers to quickly become productive team members, with even junior developers able to contribute to projects almost immediately. This has significantly improved our development efficiency. Vue offers a smoother developer experience than jQuery. The framework's reactivity enhances user interactions, and its intuitive nature enables us to build features faster. While React was also considered, we preferred Vue's clean separation of HTML and script components. The code structure is more intuitive and, frankly, more enjoyable to work with.
So, the rewrite process involved the HTB Labs and the HTB Academy. The HTB Labs, originally built with jQuery, were rewritten using Vue 2. We took a more gradual approach for the HTB Academy platform, which was built with jQuery and Laravel Blade. We first introduced Vue components into existing Blade templates, creating a hybrid architecture.
Our journey with Vue has been evolutionary. We started with Vue 2 and have since upgraded to Vue 3, keeping pace with the framework's improvements. When Vue 3 was released, we started a systematic migration process. The HTB Labs needed to transition from Vue 2 to Vue 3, while the HTB Academy platform required a more comprehensive overhaul since it was still running on a mixed stack of jQuery and Vue 2.
I agree with the widely held view that enterprise-scale migrations require careful planning. Before jumping to Vue 3, we first updated to the latest version of Vue 2 and implemented the Composition API. This intermediate step helped us prepare our codebase and team for the full Vue 3 migration. The process was methodical, we made incremental changes to ensure a smooth transition.
The switch to Vue was the right call for our platform's growth
Looking back, the switch to Vue was definitely the right call for our team's needs and our platform's growth. Vue's modularity has been key to our growth. We started with core functionality and scaled our applications organically, leveraging Vue's ecosystem of tools like Vuex (and later Pinia) and Vue Router as our needs expanded.
The business impact has been significant. Compared to jQuery, Vue dramatically accelerates our feature development cycle. The component-based architecture, reactive system, and Composition API have transformed how we build and maintain our platform.
New features that would have taken weeks with jQuery can now be implemented in days. The improved developer experience and Vue's gentle learning curve have also strengthened our team. The modern tech stack helps us attract experienced developers who want to work with modern technologies.
But perhaps most importantly, Vue has enhanced our user experience. The reactive nature of the framework enables smooth, seamless interactions which is my game-changer. Vue also improves our competitive advantage. It's fast and efficient, which helps us respond rapidly to community feedback. When users report bugs or request features, we can implement solutions quickly. The Composition API has been particularly valuable here, allowing us to reuse code effectively and maintain consistency across our platform.
The switch to Vue was the right call for our platform's growth
Looking back, the switch to Vue was definitely the right call for our team's needs and our platform's growth. Vue's modularity has been key to our growth. We started with core functionality and scaled our applications organically, leveraging Vue's ecosystem of tools like Vuex (and later Pinia) and Vue Router as our needs expanded.
The business impact has been significant. Compared to jQuery, Vue dramatically accelerates our feature development cycle. The component-based architecture, reactive system, and Composition API have transformed how we build and maintain our platform.
New features that would have taken weeks with jQuery can now be implemented in days. The improved developer experience and Vue's gentle learning curve have also strengthened our team. The modern tech stack helps us attract experienced developers who want to work with modern technologies.
But perhaps most importantly, Vue has enhanced our user experience. The reactive nature of the framework enables smooth, seamless interactions which is my game-changer. Vue also improves our competitive advantage. It's fast and efficient, which helps us respond rapidly to community feedback. When users report bugs or request features, we can implement solutions quickly. The Composition API has been particularly valuable here, allowing us to reuse code effectively and maintain consistency across our platform.
The switch to Vue was the right call for our platform's growth
Looking back, the switch to Vue was definitely the right call for our team's needs and our platform's growth. Vue's modularity has been key to our growth. We started with core functionality and scaled our applications organically, leveraging Vue's ecosystem of tools like Vuex (and later Pinia) and Vue Router as our needs expanded.
The business impact has been significant. Compared to jQuery, Vue dramatically accelerates our feature development cycle. The component-based architecture, reactive system, and Composition API have transformed how we build and maintain our platform.
New features that would have taken weeks with jQuery can now be implemented in days. The improved developer experience and Vue's gentle learning curve have also strengthened our team. The modern tech stack helps us attract experienced developers who want to work with modern technologies.
But perhaps most importantly, Vue has enhanced our user experience. The reactive nature of the framework enables smooth, seamless interactions which is my game-changer. Vue also improves our competitive advantage. It's fast and efficient, which helps us respond rapidly to community feedback. When users report bugs or request features, we can implement solutions quickly. The Composition API has been particularly valuable here, allowing us to reuse code effectively and maintain consistency across our platform.
This combination of faster delivery, better user experience, and efficient development are key advantages that Vue offers and I wouldn't trade them for anything.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
This combination of faster delivery, better user experience, and efficient development are key advantages that Vue offers and I wouldn't trade them for anything.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
This combination of faster delivery, better user experience, and efficient development are key advantages that Vue offers and I wouldn't trade them for anything.
Andreas Panapoulos, Staff Engineer at Hack The Box, VueJS Athens Co-Organizer
Powering core features in the most comprehensive open-source DevSecOps platform
Powering core features in the most comprehensive open-source DevSecOps platform
Powering core features in the most comprehensive open-source DevSecOps platform
About GitLab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
About GitLab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
About GitLab
GitLab is the most comprehensive open-source DevSecOps platform, launched in 2011. The platform automates software delivery, boosts productivity, and secures the end-to-end software supply chain. It helps teams manage the entire software development lifecycle in a single application by streamlining workflows and fostering collaboration. GitLab counts 3,300+ contributors and over 30 million registered users. By 2024, the company employed 1800 people in 65 countries working entirely remotely.
Missing interactivity in Ruby on Rails application
GitLab initially used Ruby on Rails, meaning rendered HTML by Rails displayed on the user screen. Each action required a full-page refresh–after filling out the form, clicking any button, going to the page details’ etc. There was almost zero to very little interactivity on the website. As the product grew more complex, it evolved and became richer in UX elements. It was no longer a simple dropdown menu anymore. Sometimes, it was about quite complex interactions, discussions, and threads. Hence, we started looking at how to add more client-side interactivity. Frontend engineers began adding more and more JavaScript to our Rails templates. Manipulating the DOM template this way could only lead to one thing–making an app clumsy.
In such a situation, when you need to store the application's state of the page, our frontend engineers started to consider options other than Rails. There were essential requirements and conditions to meet. You cannot jump from Rails to SPA without major refactoring of everything–you need to add reactivity but in a progressive way without disrupting the current system of Rails templates.
There were a few frameworks at this point. It was still AngularJS, early Angular 2, React, and Vue. We had a brief look at Angular and it was not possible to add it easily, similarly to React. We needed a framework to scale with our rapidly growing product while improving developer productivity and maintaining consistency across our frontend components.
Missing interactivity in Ruby on Rails application
GitLab initially used Ruby on Rails, meaning rendered HTML by Rails displayed on the user screen. Each action required a full-page refresh–after filling out the form, clicking any button, going to the page details’ etc. There was almost zero to very little interactivity on the website. As the product grew more complex, it evolved and became richer in UX elements. It was no longer a simple dropdown menu anymore. Sometimes, it was about quite complex interactions, discussions, and threads. Hence, we started looking at how to add more client-side interactivity. Frontend engineers began adding more and more JavaScript to our Rails templates. Manipulating the DOM template this way could only lead to one thing–making an app clumsy.
In such a situation, when you need to store the application's state of the page, our frontend engineers started to consider options other than Rails. There were essential requirements and conditions to meet. You cannot jump from Rails to SPA without major refactoring of everything–you need to add reactivity but in a progressive way without disrupting the current system of Rails templates.
There were a few frameworks at this point. It was still AngularJS, early Angular 2, React, and Vue. We had a brief look at Angular and it was not possible to add it easily, similarly to React. We needed a framework to scale with our rapidly growing product while improving developer productivity and maintaining consistency across our frontend components.
Missing interactivity in Ruby on Rails application
GitLab initially used Ruby on Rails, meaning rendered HTML by Rails displayed on the user screen. Each action required a full-page refresh–after filling out the form, clicking any button, going to the page details’ etc. There was almost zero to very little interactivity on the website. As the product grew more complex, it evolved and became richer in UX elements. It was no longer a simple dropdown menu anymore. Sometimes, it was about quite complex interactions, discussions, and threads. Hence, we started looking at how to add more client-side interactivity. Frontend engineers began adding more and more JavaScript to our Rails templates. Manipulating the DOM template this way could only lead to one thing–making an app clumsy.
In such a situation, when you need to store the application's state of the page, our frontend engineers started to consider options other than Rails. There were essential requirements and conditions to meet. You cannot jump from Rails to SPA without major refactoring of everything–you need to add reactivity but in a progressive way without disrupting the current system of Rails templates.
There were a few frameworks at this point. It was still AngularJS, early Angular 2, React, and Vue. We had a brief look at Angular and it was not possible to add it easily, similarly to React. We needed a framework to scale with our rapidly growing product while improving developer productivity and maintaining consistency across our frontend components.
Navigating architectural evolution in enterprise with Vue
Navigating architectural evolution in enterprise with Vue
Navigating architectural evolution in enterprise with Vue
Vue.js struck a balance between simplicity and performance, making it ideal for a large, collaborative codebase like GitLab's. At that point, only Vue provided a clear way in the documentation to drop the script on the page; there was no requirement to use a build step. We started to make the first shared components and used the shared state of the page as well. Vue was super intuitive and really, really easy to use. This simplicity drew us to Vue and made us stay for many years.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer at GitLab
Vue.js struck a balance between simplicity and performance, making it ideal for a large, collaborative codebase like GitLab's. At that point, only Vue provided a clear way in the documentation to drop the script on the page; there was no requirement to use a build step. We started to make the first shared components and used the shared state of the page as well. Vue was super intuitive and really, really easy to use. This simplicity drew us to Vue and made us stay for many years.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer at GitLab
Vue.js struck a balance between simplicity and performance, making it ideal for a large, collaborative codebase like GitLab's. At that point, only Vue provided a clear way in the documentation to drop the script on the page; there was no requirement to use a build step. We started to make the first shared components and used the shared state of the page as well. Vue was super intuitive and really, really easy to use. This simplicity drew us to Vue and made us stay for many years.
Natalia Tepluhina, Vue Core Team Member, Principal Engineer at GitLab
We could finally add interactivity to the GitLab app with Vue. But the process was more complex than one might think. Architectural evolution is a complex transition in large, established products. It's a gradual, often painful process of transformation. We all know the copybook way of building applications. But the reality of large, complex products tells a different story. The truth is it’s messy and incremental. Teams rarely start with a perfect, modern framework. They begin with whatever tools were available then, sometimes years or even a decade ago. Each tool and each decision becomes a layer of technical complexity that must be carefully navigated.
Migrating GitLab's codebase to Vue was a gradual and challenging process. The team had to deal with a large codebase, legacy state management solutions, and compatibility issues with third-party libraries. This required merging separate Vue applications, introducing shared state management, and eventually transitioning to a more SPA-like architecture using Vue Router.
The journey to a modern, cohesive application was slow but worth it. Besides, having the right framework made the transformation significantly easier. Vue provided tools that helped bridge the gap between legacy complexity and contemporary design.
One particular tool that stands out is Teleport (or vue-portal in Vue 2). It’s a feature that evolved from Vue 2 and became a core part of Vue 3. It's a game-changer for incremental modernization. Imagine you're working with an older Rails page and want to add a new Vue application in a specific corner. In the past, this would have been a major restructuring. With Teleport, you can simply inject your new Vue app into that corner while keeping it fully integrated within the Vue application. It's not just an add-on; it's a genuine part of the application.
This capability led to some internal debates. The team even banned adding new Vue applications to pages where a Vue app was already present, which was a tough decision. There were passionate arguments about implementation and approach. However, tools like Teleport helped resolve these challenges, allowing teams to maintain functionality and logic within a single, cohesive application.
We could finally add interactivity to the GitLab app with Vue. But the process was more complex than one might think. Architectural evolution is a complex transition in large, established products. It's a gradual, often painful process of transformation. We all know the copybook way of building applications. But the reality of large, complex products tells a different story. The truth is it’s messy and incremental. Teams rarely start with a perfect, modern framework. They begin with whatever tools were available then, sometimes years or even a decade ago. Each tool and each decision becomes a layer of technical complexity that must be carefully navigated.
Migrating GitLab's codebase to Vue was a gradual and challenging process. The team had to deal with a large codebase, legacy state management solutions, and compatibility issues with third-party libraries. This required merging separate Vue applications, introducing shared state management, and eventually transitioning to a more SPA-like architecture using Vue Router.
The journey to a modern, cohesive application was slow but worth it. Besides, having the right framework made the transformation significantly easier. Vue provided tools that helped bridge the gap between legacy complexity and contemporary design.
One particular tool that stands out is Teleport (or vue-portal in Vue 2). It’s a feature that evolved from Vue 2 and became a core part of Vue 3. It's a game-changer for incremental modernization. Imagine you're working with an older Rails page and want to add a new Vue application in a specific corner. In the past, this would have been a major restructuring. With Teleport, you can simply inject your new Vue app into that corner while keeping it fully integrated within the Vue application. It's not just an add-on; it's a genuine part of the application.
This capability led to some internal debates. The team even banned adding new Vue applications to pages where a Vue app was already present, which was a tough decision. There were passionate arguments about implementation and approach. However, tools like Teleport helped resolve these challenges, allowing teams to maintain functionality and logic within a single, cohesive application.
We could finally add interactivity to the GitLab app with Vue. But the process was more complex than one might think. Architectural evolution is a complex transition in large, established products. It's a gradual, often painful process of transformation. We all know the copybook way of building applications. But the reality of large, complex products tells a different story. The truth is it’s messy and incremental. Teams rarely start with a perfect, modern framework. They begin with whatever tools were available then, sometimes years or even a decade ago. Each tool and each decision becomes a layer of technical complexity that must be carefully navigated.
Migrating GitLab's codebase to Vue was a gradual and challenging process. The team had to deal with a large codebase, legacy state management solutions, and compatibility issues with third-party libraries. This required merging separate Vue applications, introducing shared state management, and eventually transitioning to a more SPA-like architecture using Vue Router.
The journey to a modern, cohesive application was slow but worth it. Besides, having the right framework made the transformation significantly easier. Vue provided tools that helped bridge the gap between legacy complexity and contemporary design.
One particular tool that stands out is Teleport (or vue-portal in Vue 2). It’s a feature that evolved from Vue 2 and became a core part of Vue 3. It's a game-changer for incremental modernization. Imagine you're working with an older Rails page and want to add a new Vue application in a specific corner. In the past, this would have been a major restructuring. With Teleport, you can simply inject your new Vue app into that corner while keeping it fully integrated within the Vue application. It's not just an add-on; it's a genuine part of the application.
This capability led to some internal debates. The team even banned adding new Vue applications to pages where a Vue app was already present, which was a tough decision. There were passionate arguments about implementation and approach. However, tools like Teleport helped resolve these challenges, allowing teams to maintain functionality and logic within a single, cohesive application.
Adopting Vue improved the application’s performance and usability
Vue solved a lot of our problems in the transformation process. We chose it for its simplicity and easy integration with the existing Rails codebase. Vue allowed GitLab to add interactivity progressively without a major rewrite. Its lightweight footprint and reactivity system allowed us to modernize our UI without overwhelming contributors.
At GitLab, we extensively use Vue in our frontend development to create interactive, dynamic, and user-friendly interfaces. It powers core features in our product, such as the Web IDE, Merge Request interface, and Pipeline views, ensuring developers can collaborate effortlessly and navigate complex workflows.
One of the most critical aspects of Vue is the reactive data-binding and component system. GitLab has its own component library. It's called GitLab UI and is entirely based on reusable Vue components, which is a huge benefit. Honestly, I don't remember when I had written something with heavy CSS, for example, because I use building blocks from the component library and simply freestyle with composing. Vue's component-based architecture allows our team to break down complex UIs into reusable and maintainable units, streamlining development and code reviews.
Activity and page updates are among the most critical aspects of Vue–we finally have no page refresh. The reactive updates ensure that our UIs stay synchronized with underlying data in real-time, essential for features like CI/CD pipeline visualizations or issue discussions. The component system makes maintaining a consistent design language easier across GitLab’s extensive product interface.
Vue enables us to deliver a seamless and responsive user experience, which is critical for a productivity tool like GitLab. Its developer-friendly ecosystem lets us quickly prototype, test, and deploy new features, helping us stay competitive in a fast-evolving DevSecOps market. Vue also helps us maintain agility and focus on user-centric innovation. By improving frontend development efficiency, we can iterate quickly on user feedback and deliver features that address our customers' needs.
As of December 2024, the transformation is not complete but progressive. Some parts of the application now look and behave like a proper Single Page Application (SPA), and this number will continue to grow. Eventually, we would like to move to a “cluster SPA or constellation SPA.”
Adopting Vue has led to measurable improvements in both performance and usability:
Faster load times and smoother interactions lead to increased user satisfaction scores.
Reduction in development time for new features, improving our time-to-market for releases.
Improved collaboration within our global team thanks to Vue's clear architecture and maintainability, resulting in higher code contribution rates from the community.
Adopting Vue improved the application’s performance and usability
Vue solved a lot of our problems in the transformation process. We chose it for its simplicity and easy integration with the existing Rails codebase. Vue allowed GitLab to add interactivity progressively without a major rewrite. Its lightweight footprint and reactivity system allowed us to modernize our UI without overwhelming contributors.
At GitLab, we extensively use Vue in our frontend development to create interactive, dynamic, and user-friendly interfaces. It powers core features in our product, such as the Web IDE, Merge Request interface, and Pipeline views, ensuring developers can collaborate effortlessly and navigate complex workflows.
One of the most critical aspects of Vue is the reactive data-binding and component system. GitLab has its own component library. It's called GitLab UI and is entirely based on reusable Vue components, which is a huge benefit. Honestly, I don't remember when I had written something with heavy CSS, for example, because I use building blocks from the component library and simply freestyle with composing. Vue's component-based architecture allows our team to break down complex UIs into reusable and maintainable units, streamlining development and code reviews.
Activity and page updates are among the most critical aspects of Vue–we finally have no page refresh. The reactive updates ensure that our UIs stay synchronized with underlying data in real-time, essential for features like CI/CD pipeline visualizations or issue discussions. The component system makes maintaining a consistent design language easier across GitLab’s extensive product interface.
Vue enables us to deliver a seamless and responsive user experience, which is critical for a productivity tool like GitLab. Its developer-friendly ecosystem lets us quickly prototype, test, and deploy new features, helping us stay competitive in a fast-evolving DevSecOps market. Vue also helps us maintain agility and focus on user-centric innovation. By improving frontend development efficiency, we can iterate quickly on user feedback and deliver features that address our customers' needs.
As of December 2024, the transformation is not complete but progressive. Some parts of the application now look and behave like a proper Single Page Application (SPA), and this number will continue to grow. Eventually, we would like to move to a “cluster SPA or constellation SPA.”
Adopting Vue has led to measurable improvements in both performance and usability:
Faster load times and smoother interactions lead to increased user satisfaction scores.
Reduction in development time for new features, improving our time-to-market for releases.
Improved collaboration within our global team thanks to Vue's clear architecture and maintainability, resulting in higher code contribution rates from the community.
Adopting Vue improved the application’s performance and usability
Vue solved a lot of our problems in the transformation process. We chose it for its simplicity and easy integration with the existing Rails codebase. Vue allowed GitLab to add interactivity progressively without a major rewrite. Its lightweight footprint and reactivity system allowed us to modernize our UI without overwhelming contributors.
At GitLab, we extensively use Vue in our frontend development to create interactive, dynamic, and user-friendly interfaces. It powers core features in our product, such as the Web IDE, Merge Request interface, and Pipeline views, ensuring developers can collaborate effortlessly and navigate complex workflows.
One of the most critical aspects of Vue is the reactive data-binding and component system. GitLab has its own component library. It's called GitLab UI and is entirely based on reusable Vue components, which is a huge benefit. Honestly, I don't remember when I had written something with heavy CSS, for example, because I use building blocks from the component library and simply freestyle with composing. Vue's component-based architecture allows our team to break down complex UIs into reusable and maintainable units, streamlining development and code reviews.
Activity and page updates are among the most critical aspects of Vue–we finally have no page refresh. The reactive updates ensure that our UIs stay synchronized with underlying data in real-time, essential for features like CI/CD pipeline visualizations or issue discussions. The component system makes maintaining a consistent design language easier across GitLab’s extensive product interface.
Vue enables us to deliver a seamless and responsive user experience, which is critical for a productivity tool like GitLab. Its developer-friendly ecosystem lets us quickly prototype, test, and deploy new features, helping us stay competitive in a fast-evolving DevSecOps market. Vue also helps us maintain agility and focus on user-centric innovation. By improving frontend development efficiency, we can iterate quickly on user feedback and deliver features that address our customers' needs.
As of December 2024, the transformation is not complete but progressive. Some parts of the application now look and behave like a proper Single Page Application (SPA), and this number will continue to grow. Eventually, we would like to move to a “cluster SPA or constellation SPA.”
Adopting Vue has led to measurable improvements in both performance and usability:
Faster load times and smoother interactions lead to increased user satisfaction scores.
Reduction in development time for new features, improving our time-to-market for releases.
Improved collaboration within our global team thanks to Vue's clear architecture and maintainability, resulting in higher code contribution rates from the community.
Revolutionizing content management for +200k users worldwide
Revolutionizing content management for +200k users worldwide
Revolutionizing content management for +200k users worldwide
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development and built with Vue.js. It is prevalent among developers who want a flexible, modern CMS that can integrate seamlessly with different technologies and provide an outstanding editing experience for content teams. Storyblok is a remote-first company with colleagues across 45+ countries. Businesses in 130+ countries use Storyblok, including leading brands such as Adidas, Tesla, Oatly, and 200,000+ other developers and marketers.
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development and built with Vue.js. It is prevalent among developers who want a flexible, modern CMS that can integrate seamlessly with different technologies and provide an outstanding editing experience for content teams. Storyblok is a remote-first company with colleagues across 45+ countries. Businesses in 130+ countries use Storyblok, including leading brands such as Adidas, Tesla, Oatly, and 200,000+ other developers and marketers.
About Storyblok
Storyblok is a headless content management system (CMS) designed for modern web development and built with Vue.js. It is prevalent among developers who want a flexible, modern CMS that can integrate seamlessly with different technologies and provide an outstanding editing experience for content teams. Storyblok is a remote-first company with colleagues across 45+ countries. Businesses in 130+ countries use Storyblok, including leading brands such as Adidas, Tesla, Oatly, and 200,000+ other developers and marketers.
On a mission to revolutionize content management
To give you a whole picture–Storyblok offers a wide range of products, many of which are built with Vue.js. The list includes the app platform, the main website, and most of our plugins, which are integrations that connect with third parties and extend the platform’s capabilities. We also have several open-source projects, such as the design system, CLIs, SDKs, and demo templates, which showcase our features to prospective clients and new users. Our product group has grown significantly over the last few years, but it’s interesting to go back to 2015 to understand how our journey with Vue began.
Storyblok founders Dominik and Alexander embarked on a mission to revolutionize content management. They envisioned a platform combining a robust API-first approach with a highly interactive visual editor. They wanted a highly reactive platform focused on the content editor experience. Key to realizing this vision, yet the biggest challenge, was selecting the right frontend framework.
While more established options like React were available, the team was drawn to Vue.js for its emerging potential. Its simplicity, flexibility, and performance made it an ideal fit for building the responsive and intuitive visual editor we were aiming for at that time.
On a mission to revolutionize content management
To give you a whole picture–Storyblok offers a wide range of products, many of which are built with Vue.js. The list includes the app platform, the main website, and most of our plugins, which are integrations that connect with third parties and extend the platform’s capabilities. We also have several open-source projects, such as the design system, CLIs, SDKs, and demo templates, which showcase our features to prospective clients and new users. Our product group has grown significantly over the last few years, but it’s interesting to go back to 2015 to understand how our journey with Vue began.
Storyblok founders Dominik and Alexander embarked on a mission to revolutionize content management. They envisioned a platform combining a robust API-first approach with a highly interactive visual editor. They wanted a highly reactive platform focused on the content editor experience. Key to realizing this vision, yet the biggest challenge, was selecting the right frontend framework.
While more established options like React were available, the team was drawn to Vue.js for its emerging potential. Its simplicity, flexibility, and performance made it an ideal fit for building the responsive and intuitive visual editor we were aiming for at that time.
On a mission to revolutionize content management
To give you a whole picture–Storyblok offers a wide range of products, many of which are built with Vue.js. The list includes the app platform, the main website, and most of our plugins, which are integrations that connect with third parties and extend the platform’s capabilities. We also have several open-source projects, such as the design system, CLIs, SDKs, and demo templates, which showcase our features to prospective clients and new users. Our product group has grown significantly over the last few years, but it’s interesting to go back to 2015 to understand how our journey with Vue began.
Storyblok founders Dominik and Alexander embarked on a mission to revolutionize content management. They envisioned a platform combining a robust API-first approach with a highly interactive visual editor. They wanted a highly reactive platform focused on the content editor experience. Key to realizing this vision, yet the biggest challenge, was selecting the right frontend framework.
While more established options like React were available, the team was drawn to Vue.js for its emerging potential. Its simplicity, flexibility, and performance made it an ideal fit for building the responsive and intuitive visual editor we were aiming for at that time.
The team was drawn to Vue for its emerging potential
The first version of Storyblok was built on Vue version 0.11. However, even by the time the prototype was under development in late 2015, Alexander, our CTO, was already a strong advocate for Vue.js. The framework's reactivity system, component-based architecture, and efficient virtual DOM offered the perfect foundation for building scalable and maintainable applications.
What spoke in favour of Vue.js? With Vue, we could be sure that changes in content are instantly reflected in the Visual Editor. This framework's interactivity enables a smooth and intuitive user experience, which has always been our top priority. Vue also met our performance expectations, helping us build a fast and efficient editor even for complex content structures.
The team was drawn to Vue for its emerging potential
The first version of Storyblok was built on Vue version 0.11. However, even by the time the prototype was under development in late 2015, Alexander, our CTO, was already a strong advocate for Vue.js. The framework's reactivity system, component-based architecture, and efficient virtual DOM offered the perfect foundation for building scalable and maintainable applications.
What spoke in favour of Vue.js? With Vue, we could be sure that changes in content are instantly reflected in the Visual Editor. This framework's interactivity enables a smooth and intuitive user experience, which has always been our top priority. Vue also met our performance expectations, helping us build a fast and efficient editor even for complex content structures.
The team was drawn to Vue for its emerging potential
The first version of Storyblok was built on Vue version 0.11. However, even by the time the prototype was under development in late 2015, Alexander, our CTO, was already a strong advocate for Vue.js. The framework's reactivity system, component-based architecture, and efficient virtual DOM offered the perfect foundation for building scalable and maintainable applications.
What spoke in favour of Vue.js? With Vue, we could be sure that changes in content are instantly reflected in the Visual Editor. This framework's interactivity enables a smooth and intuitive user experience, which has always been our top priority. Vue also met our performance expectations, helping us build a fast and efficient editor even for complex content structures.
I couldn’t stress enough how vital Vue's robust ecosystem is.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
I couldn’t stress enough how vital Vue's robust ecosystem is.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
I couldn’t stress enough how vital Vue's robust ecosystem is.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
Its tooling and state management solutions have ensured efficient development workflows at Storyblok. It provides a maintainable codebase that supports scalability and the rapid delivery of new features. We use Pinia as a centralized state management solution for our application, which ensures data consistency and simplifies global state management.
Vue’s reactive system, on the other hand, is essential for us as a SaaS platform, where users rely on our highly interactive Visual Editor to create content. Vue’s reactivity automatically updates the UI when data changes, reducing the need for manual DOM manipulation and minimizing potential errors.
Its tooling and state management solutions have ensured efficient development workflows at Storyblok. It provides a maintainable codebase that supports scalability and the rapid delivery of new features. We use Pinia as a centralized state management solution for our application, which ensures data consistency and simplifies global state management.
Vue’s reactive system, on the other hand, is essential for us as a SaaS platform, where users rely on our highly interactive Visual Editor to create content. Vue’s reactivity automatically updates the UI when data changes, reducing the need for manual DOM manipulation and minimizing potential errors.
Its tooling and state management solutions have ensured efficient development workflows at Storyblok. It provides a maintainable codebase that supports scalability and the rapid delivery of new features. We use Pinia as a centralized state management solution for our application, which ensures data consistency and simplifies global state management.
Vue’s reactive system, on the other hand, is essential for us as a SaaS platform, where users rely on our highly interactive Visual Editor to create content. Vue’s reactivity automatically updates the UI when data changes, reducing the need for manual DOM manipulation and minimizing potential errors.
“We can respond to market demands quickly.”
Using Vue.js has been instrumental in achieving our business goals by accelerating development cycles. Its component-based architecture and efficient virtual DOM allow us to build and iterate on our App platform rapidly. This agility enables us to respond to market demands quickly. We can fix bugs instantly, enhancing user satisfaction and driving product adoption. Vue also allows greater agility in prototyping and developing new features, resulting in faster market time.
Leveraging our expertise in Vue, we built tools that help developers integrate their frontends with Vue and Nuxt, in addition to the standard JavaScript Software Development Kit (SDK). This makes it easier for them to get started with minimal code and in various programming languages.
Let’s not forget that Vue.js has enabled us to deliver a superior user experience, which the founders aimed for at the very beginning. As a result, we delivered a smooth and responsive editor that users enjoy. Storyblok also enables omnichannel content delivery and supports real-time collaboration. Many of these functions wouldn’t be possible without Vue.
“We can respond to market demands quickly.”
Using Vue.js has been instrumental in achieving our business goals by accelerating development cycles. Its component-based architecture and efficient virtual DOM allow us to build and iterate on our App platform rapidly. This agility enables us to respond to market demands quickly. We can fix bugs instantly, enhancing user satisfaction and driving product adoption. Vue also allows greater agility in prototyping and developing new features, resulting in faster market time.
Leveraging our expertise in Vue, we built tools that help developers integrate their frontends with Vue and Nuxt, in addition to the standard JavaScript Software Development Kit (SDK). This makes it easier for them to get started with minimal code and in various programming languages.
Let’s not forget that Vue.js has enabled us to deliver a superior user experience, which the founders aimed for at the very beginning. As a result, we delivered a smooth and responsive editor that users enjoy. Storyblok also enables omnichannel content delivery and supports real-time collaboration. Many of these functions wouldn’t be possible without Vue.
“We can respond to market demands quickly.”
Using Vue.js has been instrumental in achieving our business goals by accelerating development cycles. Its component-based architecture and efficient virtual DOM allow us to build and iterate on our App platform rapidly. This agility enables us to respond to market demands quickly. We can fix bugs instantly, enhancing user satisfaction and driving product adoption. Vue also allows greater agility in prototyping and developing new features, resulting in faster market time.
Leveraging our expertise in Vue, we built tools that help developers integrate their frontends with Vue and Nuxt, in addition to the standard JavaScript Software Development Kit (SDK). This makes it easier for them to get started with minimal code and in various programming languages.
Let’s not forget that Vue.js has enabled us to deliver a superior user experience, which the founders aimed for at the very beginning. As a result, we delivered a smooth and responsive editor that users enjoy. Storyblok also enables omnichannel content delivery and supports real-time collaboration. Many of these functions wouldn’t be possible without Vue.
We wouldn't change Vue for anything right now. It’s our dream framework, and we plan to use it for all upcoming exciting features, such as AI translations features or e-commerce plugins.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
We wouldn't change Vue for anything right now. It’s our dream framework, and we plan to use it for all upcoming exciting features, such as AI translations features or e-commerce plugins.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
We wouldn't change Vue for anything right now. It’s our dream framework, and we plan to use it for all upcoming exciting features, such as AI translations features or e-commerce plugins.
Alba Silvente Fuentes, Full-stack Engineer at Storyblok
A cloud-based software for the world’s largest beauty booking marketplace
A cloud-based software for the world’s largest beauty booking marketplace
A cloud-based software for the world’s largest beauty booking marketplace
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app rating) and appreciated by business owners.
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app rating) and appreciated by business owners.
About Booksy
Booksy is the largest and fastest-growing cloud-based booking platform connecting beauty, wellness, and health professionals with local customers. Since its 2014 launch in Poland, the company has expanded to serve multiple significant markets, including the US, UK, Spain, and France. With a remote-first culture, the company employs over 1,000 people across its distributed workforce. Booksy quickly became a solution loved by consumers (4.9+ app rating) and appreciated by business owners.
Navigating a complex portfolio of applications
Booksy’s is a complex ecosystem comprising multiple applications across customer and provider domains. The group includes repositories for large-scale applications & micro-frontends, shared tools & libraries (e.g custom Vue components library).
The two main applications are Booksy Biz and Booksy Marketplace. The first one, designed specifically for business owners, is a mobile-first SaaS platform. It combines all the tools providers need to attract new customers, make appointments, manage staff and payments, and build a loyal client base. The Booksy Marketplace, on the other hand, is a consumer-centric platform for scheduling and managing appointments with various beauty places.
We started using Vue in version 1.9 around 2016 and migrated to 2.0 shortly after its release.
Since the beginning, our tech stack has been based on Python (for backend API) and JavaScript (for frontend apps). Initially, we used AngularJS and some custom solutions based on Backbone.js.
At some point, as the company grew, our applications became more complicated and the API grew significantly. It reached the point where most of the business logic was moved to the backend side, and frontend applications primarily focused on the visual layer part. We started to look for more advanced development tools that provide beautiful and functional interfaces. We were also trying to speed up the development process and adapt to the growing user base.
Navigating a complex portfolio of applications
Booksy’s is a complex ecosystem comprising multiple applications across customer and provider domains. The group includes repositories for large-scale applications & micro-frontends, shared tools & libraries (e.g custom Vue components library).
The two main applications are Booksy Biz and Booksy Marketplace. The first one, designed specifically for business owners, is a mobile-first SaaS platform. It combines all the tools providers need to attract new customers, make appointments, manage staff and payments, and build a loyal client base. The Booksy Marketplace, on the other hand, is a consumer-centric platform for scheduling and managing appointments with various beauty places.
We started using Vue in version 1.9 around 2016 and migrated to 2.0 shortly after its release.
Since the beginning, our tech stack has been based on Python (for backend API) and JavaScript (for frontend apps). Initially, we used AngularJS and some custom solutions based on Backbone.js.
At some point, as the company grew, our applications became more complicated and the API grew significantly. It reached the point where most of the business logic was moved to the backend side, and frontend applications primarily focused on the visual layer part. We started to look for more advanced development tools that provide beautiful and functional interfaces. We were also trying to speed up the development process and adapt to the growing user base.
Navigating a complex portfolio of applications
Booksy’s is a complex ecosystem comprising multiple applications across customer and provider domains. The group includes repositories for large-scale applications & micro-frontends, shared tools & libraries (e.g custom Vue components library).
The two main applications are Booksy Biz and Booksy Marketplace. The first one, designed specifically for business owners, is a mobile-first SaaS platform. It combines all the tools providers need to attract new customers, make appointments, manage staff and payments, and build a loyal client base. The Booksy Marketplace, on the other hand, is a consumer-centric platform for scheduling and managing appointments with various beauty places.
We started using Vue in version 1.9 around 2016 and migrated to 2.0 shortly after its release.
Since the beginning, our tech stack has been based on Python (for backend API) and JavaScript (for frontend apps). Initially, we used AngularJS and some custom solutions based on Backbone.js.
At some point, as the company grew, our applications became more complicated and the API grew significantly. It reached the point where most of the business logic was moved to the backend side, and frontend applications primarily focused on the visual layer part. We started to look for more advanced development tools that provide beautiful and functional interfaces. We were also trying to speed up the development process and adapt to the growing user base.
Vue turned out to be the perfect match
To begin with, we conducted thorough research and a detailed comparison of a few of the most popular frameworks, Angular, React, and Vue, in terms of performance, developer experience, community, and potential. Considering our case nuances, Vue turned out to be the perfect match. In our opinion, Angular was (and still is) too overcomplicated and didn’t answer our needs at all, while React.js didn’t convince us with anything more than Vue offered.
We decided to use a micro-frontend architecture where each application is a Single Page Application (SPA) built with Vue as it is the most interactive for the user. Later, we migrated all our front-end apps to this framework. The critical aspect in favor of Vue was how we could build applications in version 2.0 using the Options API that was available back then. Many developers, not only with a front-end and JavaScript background, could easily take it up–even backed developers. Options API, which has a clearly defined interface, allowed the team to explain and understand the concept since each component looked similar.
“We consciously stick to Vue.”
The current Booksy portfolio includes more than ten applications, most of which have been based on Vue 3.0 since 2021. However, we still have two big apps in Vue 2.0 in the migration process. What’s important is that all new emerging applications are micro-frontend applications for specific functionalities.
For example, in the Booksy Marketplace, when a user is looking for a service, he is using the main marketplace app, but the switch happens when the user clicks “book” – a separate app takes over this function. The exact mechanism occurs in the provider platform, Booksy Biz. The application contains many micro-frontends with particular functions, e.g., statistics, reports, etc. The micro-frontend architecture allows us to split one giant monolith application into smaller, user-friendly parts and release new functionalities much more quickly. Currently, the Booksy application is highly customizable and available in dozens of languages that can be added or removed without direct developer intervention.
Vue's easy learning curve is a game-changer for us. Developers working in various technologies can be onboarded to start working with Vue immediately. The team can leverage Vue’s rich ecosystem and tools to the fullest extent possible.
Over the years, we have learned the Vue.js framework in and out. Using our broad knowledge, we sometimes mix the official documentation with some under-the-hood solutions. The effects are better than expected–we get improved application architecture and can implement exciting functionalities.
Vue turned out to be the perfect match
To begin with, we conducted thorough research and a detailed comparison of a few of the most popular frameworks, Angular, React, and Vue, in terms of performance, developer experience, community, and potential. Considering our case nuances, Vue turned out to be the perfect match. In our opinion, Angular was (and still is) too overcomplicated and didn’t answer our needs at all, while React.js didn’t convince us with anything more than Vue offered.
We decided to use a micro-frontend architecture where each application is a Single Page Application (SPA) built with Vue as it is the most interactive for the user. Later, we migrated all our front-end apps to this framework. The critical aspect in favor of Vue was how we could build applications in version 2.0 using the Options API that was available back then. Many developers, not only with a front-end and JavaScript background, could easily take it up–even backed developers. Options API, which has a clearly defined interface, allowed the team to explain and understand the concept since each component looked similar.
“We consciously stick to Vue.”
The current Booksy portfolio includes more than ten applications, most of which have been based on Vue 3.0 since 2021. However, we still have two big apps in Vue 2.0 in the migration process. What’s important is that all new emerging applications are micro-frontend applications for specific functionalities.
For example, in the Booksy Marketplace, when a user is looking for a service, he is using the main marketplace app, but the switch happens when the user clicks “book” – a separate app takes over this function. The exact mechanism occurs in the provider platform, Booksy Biz. The application contains many micro-frontends with particular functions, e.g., statistics, reports, etc. The micro-frontend architecture allows us to split one giant monolith application into smaller, user-friendly parts and release new functionalities much more quickly. Currently, the Booksy application is highly customizable and available in dozens of languages that can be added or removed without direct developer intervention.
Vue's easy learning curve is a game-changer for us. Developers working in various technologies can be onboarded to start working with Vue immediately. The team can leverage Vue’s rich ecosystem and tools to the fullest extent possible.
Over the years, we have learned the Vue.js framework in and out. Using our broad knowledge, we sometimes mix the official documentation with some under-the-hood solutions. The effects are better than expected–we get improved application architecture and can implement exciting functionalities.
Vue turned out to be the perfect match
To begin with, we conducted thorough research and a detailed comparison of a few of the most popular frameworks, Angular, React, and Vue, in terms of performance, developer experience, community, and potential. Considering our case nuances, Vue turned out to be the perfect match. In our opinion, Angular was (and still is) too overcomplicated and didn’t answer our needs at all, while React.js didn’t convince us with anything more than Vue offered.
We decided to use a micro-frontend architecture where each application is a Single Page Application (SPA) built with Vue as it is the most interactive for the user. Later, we migrated all our front-end apps to this framework. The critical aspect in favor of Vue was how we could build applications in version 2.0 using the Options API that was available back then. Many developers, not only with a front-end and JavaScript background, could easily take it up–even backed developers. Options API, which has a clearly defined interface, allowed the team to explain and understand the concept since each component looked similar.
“We consciously stick to Vue.”
The current Booksy portfolio includes more than ten applications, most of which have been based on Vue 3.0 since 2021. However, we still have two big apps in Vue 2.0 in the migration process. What’s important is that all new emerging applications are micro-frontend applications for specific functionalities.
For example, in the Booksy Marketplace, when a user is looking for a service, he is using the main marketplace app, but the switch happens when the user clicks “book” – a separate app takes over this function. The exact mechanism occurs in the provider platform, Booksy Biz. The application contains many micro-frontends with particular functions, e.g., statistics, reports, etc. The micro-frontend architecture allows us to split one giant monolith application into smaller, user-friendly parts and release new functionalities much more quickly. Currently, the Booksy application is highly customizable and available in dozens of languages that can be added or removed without direct developer intervention.
Vue's easy learning curve is a game-changer for us. Developers working in various technologies can be onboarded to start working with Vue immediately. The team can leverage Vue’s rich ecosystem and tools to the fullest extent possible.
Over the years, we have learned the Vue.js framework in and out. Using our broad knowledge, we sometimes mix the official documentation with some under-the-hood solutions. The effects are better than expected–we get improved application architecture and can implement exciting functionalities.
I personally enjoy working with Vue because it offers an end-to-end solution. On the company level, we consciously stick to Vue for several reasons: its performance, ease of use, and strong community support. Having all applications written in the same tech stack is a strategic move that provides comfort and flexibility. It allows us to move developers within teams and projects seamlessly, react to needs promptly, develop faster, and remove bottlenecks. This strategic decision has paid off, enabling us to achieve our development goals effectively.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
I personally enjoy working with Vue because it offers an end-to-end solution. On the company level, we consciously stick to Vue for several reasons: its performance, ease of use, and strong community support. Having all applications written in the same tech stack is a strategic move that provides comfort and flexibility. It allows us to move developers within teams and projects seamlessly, react to needs promptly, develop faster, and remove bottlenecks. This strategic decision has paid off, enabling us to achieve our development goals effectively.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
I personally enjoy working with Vue because it offers an end-to-end solution. On the company level, we consciously stick to Vue for several reasons: its performance, ease of use, and strong community support. Having all applications written in the same tech stack is a strategic move that provides comfort and flexibility. It allows us to move developers within teams and projects seamlessly, react to needs promptly, develop faster, and remove bottlenecks. This strategic decision has paid off, enabling us to achieve our development goals effectively.
Łukasz Lewandowski, Principal Javascript Developer at Booksy
Creating a user-friendly donation platform for a charity organization
Creating a user-friendly donation platform for a charity organization
Creating a user-friendly donation platform for a charity organization
About GiveDirectly
GiveDirectly, founded in 2008 in New York, is the first and largest nonprofit organization that allows governments, foundations, and individual donors to provide direct cash transfers to people living in extreme poverty. Since the beginning, they have delivered $800M+ in cash to over 1.6 million people in need. GiveDirectly was titled one of the top-rated charities from 2012 to 2022 by GiveWell–the highly selective rank, recommending only 1% of the organizations reviewed.
About GiveDirectly
GiveDirectly, founded in 2008 in New York, is the first and largest nonprofit organization that allows governments, foundations, and individual donors to provide direct cash transfers to people living in extreme poverty. Since the beginning, they have delivered $800M+ in cash to over 1.6 million people in need. GiveDirectly was titled one of the top-rated charities from 2012 to 2022 by GiveWell–the highly selective rank, recommending only 1% of the organizations reviewed.
About GiveDirectly
GiveDirectly, founded in 2008 in New York, is the first and largest nonprofit organization that allows governments, foundations, and individual donors to provide direct cash transfers to people living in extreme poverty. Since the beginning, they have delivered $800M+ in cash to over 1.6 million people in need. GiveDirectly was titled one of the top-rated charities from 2012 to 2022 by GiveWell–the highly selective rank, recommending only 1% of the organizations reviewed.
In need of an efficient framework to increase the number of donations
GiveDirectly started fundraising operations a few years after the company’s inception. Hence, the website for that purpose was deliberately basic. It was straightforward and functional yet lacked a modern look and feel. We noticed that the first donors came to us drawn by the evidence behind cash transfers to those in need, so we focused on that–we prioritized substance over style. Excellent user experience or beautiful visuals were left to one side.
However, our scrappy website became a liability as we grew and gained funding from respected institutions and governments. The outdated design was risky and could make us look unprofessional and untrustworthy. Technologically and performance-wise, it didn’t stand up to the latest solutions, undermining our credibility in the eyes of our partners.
Besides the organization's image being at risk, replacing the old page with a new one was to increase conversion. We needed a framework offering an easy, intuitive, mobile-friendly experience to do that. Donating from any device had to be simple, using various payment methods, including credit cards, checks, and cryptocurrencies.
In need of an efficient framework to increase the number of donations
GiveDirectly started fundraising operations a few years after the company’s inception. Hence, the website for that purpose was deliberately basic. It was straightforward and functional yet lacked a modern look and feel. We noticed that the first donors came to us drawn by the evidence behind cash transfers to those in need, so we focused on that–we prioritized substance over style. Excellent user experience or beautiful visuals were left to one side.
However, our scrappy website became a liability as we grew and gained funding from respected institutions and governments. The outdated design was risky and could make us look unprofessional and untrustworthy. Technologically and performance-wise, it didn’t stand up to the latest solutions, undermining our credibility in the eyes of our partners.
Besides the organization's image being at risk, replacing the old page with a new one was to increase conversion. We needed a framework offering an easy, intuitive, mobile-friendly experience to do that. Donating from any device had to be simple, using various payment methods, including credit cards, checks, and cryptocurrencies.
In need of an efficient framework to increase the number of donations
GiveDirectly started fundraising operations a few years after the company’s inception. Hence, the website for that purpose was deliberately basic. It was straightforward and functional yet lacked a modern look and feel. We noticed that the first donors came to us drawn by the evidence behind cash transfers to those in need, so we focused on that–we prioritized substance over style. Excellent user experience or beautiful visuals were left to one side.
However, our scrappy website became a liability as we grew and gained funding from respected institutions and governments. The outdated design was risky and could make us look unprofessional and untrustworthy. Technologically and performance-wise, it didn’t stand up to the latest solutions, undermining our credibility in the eyes of our partners.
Besides the organization's image being at risk, replacing the old page with a new one was to increase conversion. We needed a framework offering an easy, intuitive, mobile-friendly experience to do that. Donating from any device had to be simple, using various payment methods, including credit cards, checks, and cryptocurrencies.
The awaiting challenge was combining many different technologies for a project, including PHP and Python on the backend, with Vue and Nuxt as the leading frontend players. With such a mixed technology stack, the redesign wasn't just about aesthetics but creating a unified, efficient platform that could integrate complex requirements.
Harris Roberts, Director of Growth & Product at GiveDirectly
The awaiting challenge was combining many different technologies for a project, including PHP and Python on the backend, with Vue and Nuxt as the leading frontend players. With such a mixed technology stack, the redesign wasn't just about aesthetics but creating a unified, efficient platform that could integrate complex requirements.
Harris Roberts, Director of Growth & Product at GiveDirectly
The awaiting challenge was combining many different technologies for a project, including PHP and Python on the backend, with Vue and Nuxt as the leading frontend players. With such a mixed technology stack, the redesign wasn't just about aesthetics but creating a unified, efficient platform that could integrate complex requirements.
Harris Roberts, Director of Growth & Product at GiveDirectly
An essential aspect of the new application was improving data reliability and centralizing data collection for offline sources. We wanted the GiveDirectly app to integrate seamlessly with Salesforce. We urgently needed a new website based on an efficient framework to handle these challenges.
Expanding Vue across multiple projects
After meticulously selecting and leveraging Monterails’ expertise, we chose Vue to create a new donate experience. The decision was driven by technical capabilities and team dynamics. We perceived Vue as a chance to achieve our business goals quickly and effectively. Our existing engineering team was familiar with Vue, so it provided an immediate advantage. What truly set Vue apart was its renowned ease of learning. Vue's learning curve was remarkably gentle. Even team members with minimal prior Vue experience could quickly become productive and accelerate our development cycle.
By March 2020, we kicked it off with Vue, starting with a critical focus–redesigning the donation payment module “Donate” to streamline the primary donation flow in GiveDirectly. Our goals were clear and ambitious–to create a faster, more intuitive donation experience and design a visually compelling interface to drive higher donation rates. Of course, the platform had to be flexible enough to adapt to multiple project needs.
To ensure the broadest possible accessibility for donors, the donation process required seamless functionality across all major browsers and devices, from mobile phones to desktop computers. To enhance user experience, the team implemented comprehensive accessibility features, including screen reader compatibility, keyboard navigation support, and ARIA landmarks. The platform maintains high contrast ratios for better readability and provides precise focus indicators for interactive elements, making the donation process accessible to users with diverse needs and abilities.
An essential aspect of the new application was improving data reliability and centralizing data collection for offline sources. We wanted the GiveDirectly app to integrate seamlessly with Salesforce. We urgently needed a new website based on an efficient framework to handle these challenges.
Expanding Vue across multiple projects
After meticulously selecting and leveraging Monterails’ expertise, we chose Vue to create a new donate experience. The decision was driven by technical capabilities and team dynamics. We perceived Vue as a chance to achieve our business goals quickly and effectively. Our existing engineering team was familiar with Vue, so it provided an immediate advantage. What truly set Vue apart was its renowned ease of learning. Vue's learning curve was remarkably gentle. Even team members with minimal prior Vue experience could quickly become productive and accelerate our development cycle.
By March 2020, we kicked it off with Vue, starting with a critical focus–redesigning the donation payment module “Donate” to streamline the primary donation flow in GiveDirectly. Our goals were clear and ambitious–to create a faster, more intuitive donation experience and design a visually compelling interface to drive higher donation rates. Of course, the platform had to be flexible enough to adapt to multiple project needs.
To ensure the broadest possible accessibility for donors, the donation process required seamless functionality across all major browsers and devices, from mobile phones to desktop computers. To enhance user experience, the team implemented comprehensive accessibility features, including screen reader compatibility, keyboard navigation support, and ARIA landmarks. The platform maintains high contrast ratios for better readability and provides precise focus indicators for interactive elements, making the donation process accessible to users with diverse needs and abilities.
An essential aspect of the new application was improving data reliability and centralizing data collection for offline sources. We wanted the GiveDirectly app to integrate seamlessly with Salesforce. We urgently needed a new website based on an efficient framework to handle these challenges.
Expanding Vue across multiple projects
After meticulously selecting and leveraging Monterails’ expertise, we chose Vue to create a new donate experience. The decision was driven by technical capabilities and team dynamics. We perceived Vue as a chance to achieve our business goals quickly and effectively. Our existing engineering team was familiar with Vue, so it provided an immediate advantage. What truly set Vue apart was its renowned ease of learning. Vue's learning curve was remarkably gentle. Even team members with minimal prior Vue experience could quickly become productive and accelerate our development cycle.
By March 2020, we kicked it off with Vue, starting with a critical focus–redesigning the donation payment module “Donate” to streamline the primary donation flow in GiveDirectly. Our goals were clear and ambitious–to create a faster, more intuitive donation experience and design a visually compelling interface to drive higher donation rates. Of course, the platform had to be flexible enough to adapt to multiple project needs.
To ensure the broadest possible accessibility for donors, the donation process required seamless functionality across all major browsers and devices, from mobile phones to desktop computers. To enhance user experience, the team implemented comprehensive accessibility features, including screen reader compatibility, keyboard navigation support, and ARIA landmarks. The platform maintains high contrast ratios for better readability and provides precise focus indicators for interactive elements, making the donation process accessible to users with diverse needs and abilities.
Due to Vue's flexibility, the initial donation module’s functionalities expanded rapidly. Monterail developed the campaign creation tool in direct response to COVID-19 donation needs. The landing page and WYSIWYG panel enable users to create Community campaigns and raise funds. We could build it quickly with Vue, achieving speedy performance and potential scalability shortly.
Harris Roberts, Director of Growth & Product at GiveDirectly
Due to Vue's flexibility, the initial donation module’s functionalities expanded rapidly. Monterail developed the campaign creation tool in direct response to COVID-19 donation needs. The landing page and WYSIWYG panel enable users to create Community campaigns and raise funds. We could build it quickly with Vue, achieving speedy performance and potential scalability shortly.
Harris Roberts, Director of Growth & Product at GiveDirectly
Due to Vue's flexibility, the initial donation module’s functionalities expanded rapidly. Monterail developed the campaign creation tool in direct response to COVID-19 donation needs. The landing page and WYSIWYG panel enable users to create Community campaigns and raise funds. We could build it quickly with Vue, achieving speedy performance and potential scalability shortly.
Harris Roberts, Director of Growth & Product at GiveDirectly
"Extending the Communities site with new features was a blast with Vue and Nuxt."
Vue's component-based architecture emerged as a game-changer. Each feature could be developed as a standalone, reusable component with its template, script, and style. This modular approach offered us flexibility. Developers could gradually add Vue to an existing project, adding features piece by piece without requiring a complete rewrite. It was a comfortable solution. Moreover, with Nuxt’s SEO-friendly rendering, we improved each campaign’s visibility and indexing by Google. Through a swap of the build engine from webpack to Vite, we improved the developer experience significantly since it cuts a lot of time while the app is restarting and building.
Achieving a strategic transformation with Vue
I’m more than happy with choosing Vue for the GiveDirectly portfolio. It was crucial in achieving our business results through several key technical and design advantages.
The striking result we observed with Vue.js appeared quickly after the strategic website redesign and form optimization. Vue's reactive component system allowed for a responsive donation form. The interface could update in real-time as users interact, creating a smoother, more intuitive user experience. Since we lacked such a design, we appreciate what we achieved with Vue. Creating responsive layouts that work seamlessly across various screen sizes was easy. The new design significantly lowered barriers to donation, making the process more approachable across multiple devices.
Vue's lightweight nature and rendering mechanism ensured the website loaded quickly and performed smoothly across different devices. This is critical for mobile users, who are often deterred by slow or clunky interfaces. The team could streamline the data collection process using Vuex, the Vue's state management library. Leveraging Vuex allowed for easier tracking of user interactions, simplified form validation, and more efficient handling of different payment methods.
Vue was instrumental in creating a user-friendly platform that could directly improve user experience, increase donations, and, ultimately, have a more significant social impact. The framework provided the technical foundation for our project. Our team could focus on the organization's strategic aspects without spending too much time on framework-related issues.
Vue helped us not only make a technological upgrade but also achieve a strategic transformation. By simplifying the donation process, we improved our digital platform and created better conditions for connecting donors with those in need. It positioned GiveDirectly as an impactful charity organization. And we observe this impact daily.
"Extending the Communities site with new features was a blast with Vue and Nuxt."
Vue's component-based architecture emerged as a game-changer. Each feature could be developed as a standalone, reusable component with its template, script, and style. This modular approach offered us flexibility. Developers could gradually add Vue to an existing project, adding features piece by piece without requiring a complete rewrite. It was a comfortable solution. Moreover, with Nuxt’s SEO-friendly rendering, we improved each campaign’s visibility and indexing by Google. Through a swap of the build engine from webpack to Vite, we improved the developer experience significantly since it cuts a lot of time while the app is restarting and building.
Achieving a strategic transformation with Vue
I’m more than happy with choosing Vue for the GiveDirectly portfolio. It was crucial in achieving our business results through several key technical and design advantages.
The striking result we observed with Vue.js appeared quickly after the strategic website redesign and form optimization. Vue's reactive component system allowed for a responsive donation form. The interface could update in real-time as users interact, creating a smoother, more intuitive user experience. Since we lacked such a design, we appreciate what we achieved with Vue. Creating responsive layouts that work seamlessly across various screen sizes was easy. The new design significantly lowered barriers to donation, making the process more approachable across multiple devices.
Vue's lightweight nature and rendering mechanism ensured the website loaded quickly and performed smoothly across different devices. This is critical for mobile users, who are often deterred by slow or clunky interfaces. The team could streamline the data collection process using Vuex, the Vue's state management library. Leveraging Vuex allowed for easier tracking of user interactions, simplified form validation, and more efficient handling of different payment methods.
Vue was instrumental in creating a user-friendly platform that could directly improve user experience, increase donations, and, ultimately, have a more significant social impact. The framework provided the technical foundation for our project. Our team could focus on the organization's strategic aspects without spending too much time on framework-related issues.
Vue helped us not only make a technological upgrade but also achieve a strategic transformation. By simplifying the donation process, we improved our digital platform and created better conditions for connecting donors with those in need. It positioned GiveDirectly as an impactful charity organization. And we observe this impact daily.
"Extending the Communities site with new features was a blast with Vue and Nuxt."
Vue's component-based architecture emerged as a game-changer. Each feature could be developed as a standalone, reusable component with its template, script, and style. This modular approach offered us flexibility. Developers could gradually add Vue to an existing project, adding features piece by piece without requiring a complete rewrite. It was a comfortable solution. Moreover, with Nuxt’s SEO-friendly rendering, we improved each campaign’s visibility and indexing by Google. Through a swap of the build engine from webpack to Vite, we improved the developer experience significantly since it cuts a lot of time while the app is restarting and building.
Achieving a strategic transformation with Vue
I’m more than happy with choosing Vue for the GiveDirectly portfolio. It was crucial in achieving our business results through several key technical and design advantages.
The striking result we observed with Vue.js appeared quickly after the strategic website redesign and form optimization. Vue's reactive component system allowed for a responsive donation form. The interface could update in real-time as users interact, creating a smoother, more intuitive user experience. Since we lacked such a design, we appreciate what we achieved with Vue. Creating responsive layouts that work seamlessly across various screen sizes was easy. The new design significantly lowered barriers to donation, making the process more approachable across multiple devices.
Vue's lightweight nature and rendering mechanism ensured the website loaded quickly and performed smoothly across different devices. This is critical for mobile users, who are often deterred by slow or clunky interfaces. The team could streamline the data collection process using Vuex, the Vue's state management library. Leveraging Vuex allowed for easier tracking of user interactions, simplified form validation, and more efficient handling of different payment methods.
Vue was instrumental in creating a user-friendly platform that could directly improve user experience, increase donations, and, ultimately, have a more significant social impact. The framework provided the technical foundation for our project. Our team could focus on the organization's strategic aspects without spending too much time on framework-related issues.
Vue helped us not only make a technological upgrade but also achieve a strategic transformation. By simplifying the donation process, we improved our digital platform and created better conditions for connecting donors with those in need. It positioned GiveDirectly as an impactful charity organization. And we observe this impact daily.
With our platform, GiveDirectly aims to accelerate the end of extreme poverty globally. So far, we’ve delivered $800M+ in cash directly to over 1.6 million people living in poverty in Bangladesh, DRC, Kenya, Liberia, Malawi, Mozambique, Morocco, Rwanda, Uganda, and the U.S. The research finds that recipients use this cash in impactful and creative ways to better their lives.
Harris Roberts, Director of Growth & Product at GiveDirectly
With our platform, GiveDirectly aims to accelerate the end of extreme poverty globally. So far, we’ve delivered $800M+ in cash directly to over 1.6 million people living in poverty in Bangladesh, DRC, Kenya, Liberia, Malawi, Mozambique, Morocco, Rwanda, Uganda, and the U.S. The research finds that recipients use this cash in impactful and creative ways to better their lives.
Harris Roberts, Director of Growth & Product at GiveDirectly
With our platform, GiveDirectly aims to accelerate the end of extreme poverty globally. So far, we’ve delivered $800M+ in cash directly to over 1.6 million people living in poverty in Bangladesh, DRC, Kenya, Liberia, Malawi, Mozambique, Morocco, Rwanda, Uganda, and the U.S. The research finds that recipients use this cash in impactful and creative ways to better their lives.
Harris Roberts, Director of Growth & Product at GiveDirectly

Revolutionizing the healthcare industry with a SaaS solution for doctors, clinics, and hospitals
Revolutionizing the healthcare industry with a SaaS solution for doctors, clinics, and hospitals
Revolutionizing the healthcare industry with a SaaS solution for doctors, clinics, and hospitals
About DocPlanner
DocPlanner is the world's largest healthcare platform for booking medical appointments and a leading SaaS solution provider for doctors, clinics, and hospitals. It has over 100 million users worldwide who book over 22 million appointments monthly, with 280,000 active specialists. Founded in 2012, the company expanded its operations to 13 countries and now boasts a team of over 2,800 specialists in offices worldwide.
About DocPlanner
DocPlanner is the world's largest healthcare platform for booking medical appointments and a leading SaaS solution provider for doctors, clinics, and hospitals. It has over 100 million users worldwide who book over 22 million appointments monthly, with 280,000 active specialists. Founded in 2012, the company expanded its operations to 13 countries and now boasts a team of over 2,800 specialists in offices worldwide.
About DocPlanner
DocPlanner is the world's largest healthcare platform for booking medical appointments and a leading SaaS solution provider for doctors, clinics, and hospitals. It has over 100 million users worldwide who book over 22 million appointments monthly, with 280,000 active specialists. Founded in 2012, the company expanded its operations to 13 countries and now boasts a team of over 2,800 specialists in offices worldwide.
"We urgently needed a simple framework that could be implemented gradually."
We must go back in time to get the complete picture of DocPlanner's challenges. It’s 2017, and we have an application in Symfony PHP, a system template Twig, custom JS, and a bit of jQuery. It’s a farrago you cannot imagine. Initially, the primary functionality of the DocPlanner platform was a system of ratings and reviews for medical professionals. This functionality was highly desirable in the market, leading to dynamic company growth. As the company grows, so does the database, and the need for data presentation and analysis increases. Eventually, we hit a brick wall. Our technology stack became inefficient, prompting us to seek a solution.
Along with the company expansion, we started encountering specific challenges stemming from the nature of the healthcare market. One of the most critical and complex aspects of developing healthcare applications for various countries is ensuring compliance with multiple regulations. European and South American countries differ significantly in how doctors work, regarding legal restrictions, and even the Internet speed. The application must adhere to each country's specific requirements, including legal, cultural, and social considerations.
Easy access to the fast Internet is taken for granted in most European countries. Yet, it’s not a standard in South America, where the Internet connection is usually slower. Our applications must be performant under all conditions to provide patients access to healthcare services.
"We urgently needed a simple framework that could be implemented gradually."
We must go back in time to get the complete picture of DocPlanner's challenges. It’s 2017, and we have an application in Symfony PHP, a system template Twig, custom JS, and a bit of jQuery. It’s a farrago you cannot imagine. Initially, the primary functionality of the DocPlanner platform was a system of ratings and reviews for medical professionals. This functionality was highly desirable in the market, leading to dynamic company growth. As the company grows, so does the database, and the need for data presentation and analysis increases. Eventually, we hit a brick wall. Our technology stack became inefficient, prompting us to seek a solution.
Along with the company expansion, we started encountering specific challenges stemming from the nature of the healthcare market. One of the most critical and complex aspects of developing healthcare applications for various countries is ensuring compliance with multiple regulations. European and South American countries differ significantly in how doctors work, regarding legal restrictions, and even the Internet speed. The application must adhere to each country's specific requirements, including legal, cultural, and social considerations.
Easy access to the fast Internet is taken for granted in most European countries. Yet, it’s not a standard in South America, where the Internet connection is usually slower. Our applications must be performant under all conditions to provide patients access to healthcare services.
"We urgently needed a simple framework that could be implemented gradually."
We must go back in time to get the complete picture of DocPlanner's challenges. It’s 2017, and we have an application in Symfony PHP, a system template Twig, custom JS, and a bit of jQuery. It’s a farrago you cannot imagine. Initially, the primary functionality of the DocPlanner platform was a system of ratings and reviews for medical professionals. This functionality was highly desirable in the market, leading to dynamic company growth. As the company grows, so does the database, and the need for data presentation and analysis increases. Eventually, we hit a brick wall. Our technology stack became inefficient, prompting us to seek a solution.
Along with the company expansion, we started encountering specific challenges stemming from the nature of the healthcare market. One of the most critical and complex aspects of developing healthcare applications for various countries is ensuring compliance with multiple regulations. European and South American countries differ significantly in how doctors work, regarding legal restrictions, and even the Internet speed. The application must adhere to each country's specific requirements, including legal, cultural, and social considerations.
Easy access to the fast Internet is taken for granted in most European countries. Yet, it’s not a standard in South America, where the Internet connection is usually slower. Our applications must be performant under all conditions to provide patients access to healthcare services.
With our platform's increasing complexity, we encountered difficulties meeting all these requirements comprehensively while maintaining scalable and efficient app development. Consequently, we urgently needed a simple framework that could be implemented gradually—a framework that we could easily introduce to start working on arising challenges quickly.
Jan Salwowski, Full Stack Developer at DocPlanner
With our platform's increasing complexity, we encountered difficulties meeting all these requirements comprehensively while maintaining scalable and efficient app development. Consequently, we urgently needed a simple framework that could be implemented gradually—a framework that we could easily introduce to start working on arising challenges quickly.
Jan Salwowski, Full Stack Developer at DocPlanner
With our platform's increasing complexity, we encountered difficulties meeting all these requirements comprehensively while maintaining scalable and efficient app development. Consequently, we urgently needed a simple framework that could be implemented gradually—a framework that we could easily introduce to start working on arising challenges quickly.
Jan Salwowski, Full Stack Developer at DocPlanner
"Everything in Vue was natural."
I have been using Vue since the 0.12 version, so I’m deeply familiar with the framework and was one of the evangelizers within the organization. In 2017, Vue was a relatively new technology, so people needed time to gain trust. Quickly, I managed to convince more and more people to use Vue. Once they learned more about how it works, they joined the team of Vue enthusiasts and noticed its massive potential for usage in our specific case–gradual migration. We determined that adopting this gradual approach with React would be challenging, so it was not an option. There was only Vue left on the table.
The process of migrating all DocPlanner’s applications went pretty smoothly with Vue. We gradually introduced people to Vue and Vue to different parts of the application–starting with some single parts of the marketplace –the part visible for patients– and SaaS –the platform for doctors to manage their calendars, add notes, etc.– In April 2019, we began migrating the SaaS platform built on AngularJS.
A fantastic part was that we could add a few applications on one site using Vue runtime and even transfer parameters directly from Twig–it was a game changer. We managed to retain the same syntax as in Twig, HTML syntax. Vue templates were clear and natural, easy to read, comprehend, and to use by developers. We found React’s JSX to contradict the idea of a template. To us, it was a mix of logic and template. Vue’s syntax, which we call HTML on steroids, was an essential aspect of this framework. To be honest, everything in Vue was natural. Even if a developer was unfamiliar with Vue, he could jump into it and start coding after a few days. What’s more, developers liked it from the get-go. Considering all that, Vue became even a stronger contender for DocPlanner.
The migration to Vue started to embrace all applications, even new ones like Noa Notes, a virtual AI-powered assistant that takes notes on the fly during patients' visits. In the beginning, the frontend was built in the latest Angular version. However, it was too opinionated and lacked the flexibility to create the solutions developers planned. The team quickly migrated to Vue in a couple of weeks.
"We make healthcare more human with Vue."
"Everything in Vue was natural."
I have been using Vue since the 0.12 version, so I’m deeply familiar with the framework and was one of the evangelizers within the organization. In 2017, Vue was a relatively new technology, so people needed time to gain trust. Quickly, I managed to convince more and more people to use Vue. Once they learned more about how it works, they joined the team of Vue enthusiasts and noticed its massive potential for usage in our specific case–gradual migration. We determined that adopting this gradual approach with React would be challenging, so it was not an option. There was only Vue left on the table.
The process of migrating all DocPlanner’s applications went pretty smoothly with Vue. We gradually introduced people to Vue and Vue to different parts of the application–starting with some single parts of the marketplace –the part visible for patients– and SaaS –the platform for doctors to manage their calendars, add notes, etc.– In April 2019, we began migrating the SaaS platform built on AngularJS.
A fantastic part was that we could add a few applications on one site using Vue runtime and even transfer parameters directly from Twig–it was a game changer. We managed to retain the same syntax as in Twig, HTML syntax. Vue templates were clear and natural, easy to read, comprehend, and to use by developers. We found React’s JSX to contradict the idea of a template. To us, it was a mix of logic and template. Vue’s syntax, which we call HTML on steroids, was an essential aspect of this framework. To be honest, everything in Vue was natural. Even if a developer was unfamiliar with Vue, he could jump into it and start coding after a few days. What’s more, developers liked it from the get-go. Considering all that, Vue became even a stronger contender for DocPlanner.
The migration to Vue started to embrace all applications, even new ones like Noa Notes, a virtual AI-powered assistant that takes notes on the fly during patients' visits. In the beginning, the frontend was built in the latest Angular version. However, it was too opinionated and lacked the flexibility to create the solutions developers planned. The team quickly migrated to Vue in a couple of weeks.
"We make healthcare more human with Vue."
"Everything in Vue was natural."
I have been using Vue since the 0.12 version, so I’m deeply familiar with the framework and was one of the evangelizers within the organization. In 2017, Vue was a relatively new technology, so people needed time to gain trust. Quickly, I managed to convince more and more people to use Vue. Once they learned more about how it works, they joined the team of Vue enthusiasts and noticed its massive potential for usage in our specific case–gradual migration. We determined that adopting this gradual approach with React would be challenging, so it was not an option. There was only Vue left on the table.
The process of migrating all DocPlanner’s applications went pretty smoothly with Vue. We gradually introduced people to Vue and Vue to different parts of the application–starting with some single parts of the marketplace –the part visible for patients– and SaaS –the platform for doctors to manage their calendars, add notes, etc.– In April 2019, we began migrating the SaaS platform built on AngularJS.
A fantastic part was that we could add a few applications on one site using Vue runtime and even transfer parameters directly from Twig–it was a game changer. We managed to retain the same syntax as in Twig, HTML syntax. Vue templates were clear and natural, easy to read, comprehend, and to use by developers. We found React’s JSX to contradict the idea of a template. To us, it was a mix of logic and template. Vue’s syntax, which we call HTML on steroids, was an essential aspect of this framework. To be honest, everything in Vue was natural. Even if a developer was unfamiliar with Vue, he could jump into it and start coding after a few days. What’s more, developers liked it from the get-go. Considering all that, Vue became even a stronger contender for DocPlanner.
The migration to Vue started to embrace all applications, even new ones like Noa Notes, a virtual AI-powered assistant that takes notes on the fly during patients' visits. In the beginning, the frontend was built in the latest Angular version. However, it was too opinionated and lacked the flexibility to create the solutions developers planned. The team quickly migrated to Vue in a couple of weeks.
"We make healthcare more human with Vue."
We praise Vue for its inimitable simplicity and speed of shipping new features. DocPlanner operates in very dynamic conditions, where things sometimes change overnight and changes are often significant.
Jan Salwowski, Full Stack Developer at DocPlanner
We praise Vue for its inimitable simplicity and speed of shipping new features. DocPlanner operates in very dynamic conditions, where things sometimes change overnight and changes are often significant.
Jan Salwowski, Full Stack Developer at DocPlanner
We praise Vue for its inimitable simplicity and speed of shipping new features. DocPlanner operates in very dynamic conditions, where things sometimes change overnight and changes are often significant.
Jan Salwowski, Full Stack Developer at DocPlanner
Thanks to Vue's light opinionation and allowing for much development freedom, we don’t face the situation where the framework limits us. It is huge. Each team at DocPlanner stressed this many times–independently from their previous experiences with other frameworks.
Dynamic changes need to be answered dynamically. With Vue, we can react instantly. These quick changes are possible thanks to the Single-File Components. We have everything in one place. If we want to stick to this healthcare nomenclature, our application is like one healthy organism. Three basic sections can work in unison. Moreover, we don’t think about reactivity with Vue–it’s just there, and it works. In other frameworks, we had to try to make it work. It has enormous power to improve development speed and enhance developer experience.
We appreciate Vue's easy learning curve. This made the recruitment pool bigger, as we could hire Javascript developers and introduce them to Vue without much effort. What’s more, developers liked it from the get-go. Once we noticed this possibility, Vue became even a stronger contender.
Docplanner now has a Marketplace app for patients, a SaaS platform for doctors and clinics. But we also leveraged Vue in one of the most important elements in our portfolio–UI kit. UI kit is not visible to the user but is crucial for the app's accessibility and usability and is compatible with Vue 2 and Vue 3. Watson Design System is based on Vue, which we use to create Web components. Watson enhances user experiences across the Docplanner platform. This UI kit includes working code, design tools, resources, and human interface guidelines that can be used in other frameworks.
Vue’s option to manage and modularize all our applications translates to good performance, which is key for users. With Vue, we can take care of all users regardless of their country of residence.
Thanks to Vue's light opinionation and allowing for much development freedom, we don’t face the situation where the framework limits us. It is huge. Each team at DocPlanner stressed this many times–independently from their previous experiences with other frameworks.
Dynamic changes need to be answered dynamically. With Vue, we can react instantly. These quick changes are possible thanks to the Single-File Components. We have everything in one place. If we want to stick to this healthcare nomenclature, our application is like one healthy organism. Three basic sections can work in unison. Moreover, we don’t think about reactivity with Vue–it’s just there, and it works. In other frameworks, we had to try to make it work. It has enormous power to improve development speed and enhance developer experience.
We appreciate Vue's easy learning curve. This made the recruitment pool bigger, as we could hire Javascript developers and introduce them to Vue without much effort. What’s more, developers liked it from the get-go. Once we noticed this possibility, Vue became even a stronger contender.
Docplanner now has a Marketplace app for patients, a SaaS platform for doctors and clinics. But we also leveraged Vue in one of the most important elements in our portfolio–UI kit. UI kit is not visible to the user but is crucial for the app's accessibility and usability and is compatible with Vue 2 and Vue 3. Watson Design System is based on Vue, which we use to create Web components. Watson enhances user experiences across the Docplanner platform. This UI kit includes working code, design tools, resources, and human interface guidelines that can be used in other frameworks.
Vue’s option to manage and modularize all our applications translates to good performance, which is key for users. With Vue, we can take care of all users regardless of their country of residence.
Thanks to Vue's light opinionation and allowing for much development freedom, we don’t face the situation where the framework limits us. It is huge. Each team at DocPlanner stressed this many times–independently from their previous experiences with other frameworks.
Dynamic changes need to be answered dynamically. With Vue, we can react instantly. These quick changes are possible thanks to the Single-File Components. We have everything in one place. If we want to stick to this healthcare nomenclature, our application is like one healthy organism. Three basic sections can work in unison. Moreover, we don’t think about reactivity with Vue–it’s just there, and it works. In other frameworks, we had to try to make it work. It has enormous power to improve development speed and enhance developer experience.
We appreciate Vue's easy learning curve. This made the recruitment pool bigger, as we could hire Javascript developers and introduce them to Vue without much effort. What’s more, developers liked it from the get-go. Once we noticed this possibility, Vue became even a stronger contender.
Docplanner now has a Marketplace app for patients, a SaaS platform for doctors and clinics. But we also leveraged Vue in one of the most important elements in our portfolio–UI kit. UI kit is not visible to the user but is crucial for the app's accessibility and usability and is compatible with Vue 2 and Vue 3. Watson Design System is based on Vue, which we use to create Web components. Watson enhances user experiences across the Docplanner platform. This UI kit includes working code, design tools, resources, and human interface guidelines that can be used in other frameworks.
Vue’s option to manage and modularize all our applications translates to good performance, which is key for users. With Vue, we can take care of all users regardless of their country of residence.
With Noa.ai built in Vue, doctors devote their time to what really matters, their patients. Since introducing Noa to their daily work, they reported doubling the number of patient visits without lowering the quality of care or losing focus. This is realizing our mission in practice–making healthcare more human.
Jan Salwowski, Full Stack Developer at DocPlanner
With Noa.ai built in Vue, doctors devote their time to what really matters, their patients. Since introducing Noa to their daily work, they reported doubling the number of patient visits without lowering the quality of care or losing focus. This is realizing our mission in practice–making healthcare more human.
Jan Salwowski, Full Stack Developer at DocPlanner
With Noa.ai built in Vue, doctors devote their time to what really matters, their patients. Since introducing Noa to their daily work, they reported doubling the number of patient visits without lowering the quality of care or losing focus. This is realizing our mission in practice–making healthcare more human.
Jan Salwowski, Full Stack Developer at DocPlanner
Revolutionizing the approach to e-commerce platforms
Revolutionizing the approach to e-commerce platforms
Revolutionizing the approach to e-commerce platforms
About Alokai
Alokai (formerly Vue Storefront) is a world-leading headless storefront e-commerce for online businesses. The platform has been recognized for its innovative approach to e-commerce frontend development, helping companies to create more agile and responsive online shopping experiences. Alokai is now used among 3,000 retailers globally and has an expansive developer community that exceeds 11,000 people worldwide who use the product to build their applications, support others, and contribute to its open-source core. It was awarded in the Europas Tech Startup Awards 2022 as the hottest eCommerce & Retail tech startup.
About Alokai
Alokai (formerly Vue Storefront) is a world-leading headless storefront e-commerce for online businesses. The platform has been recognized for its innovative approach to e-commerce frontend development, helping companies to create more agile and responsive online shopping experiences. Alokai is now used among 3,000 retailers globally and has an expansive developer community that exceeds 11,000 people worldwide who use the product to build their applications, support others, and contribute to its open-source core. It was awarded in the Europas Tech Startup Awards 2022 as the hottest eCommerce & Retail tech startup.
About Alokai
Alokai (formerly Vue Storefront) is a world-leading headless storefront e-commerce for online businesses. The platform has been recognized for its innovative approach to e-commerce frontend development, helping companies to create more agile and responsive online shopping experiences. Alokai is now used among 3,000 retailers globally and has an expansive developer community that exceeds 11,000 people worldwide who use the product to build their applications, support others, and contribute to its open-source core. It was awarded in the Europas Tech Startup Awards 2022 as the hottest eCommerce & Retail tech startup.
Helping large e-commerce shops with customization
The paths of Vue and Alokai first crossed in 2017 when we began as an open-source R&D project called Vue Storefront. A small team of developers wanted to test in practice a new approach to frontend development that communicates with the backend and other API services. Our mission was to create a solution that helps large e-commerce shops customize their websites for better performance on any device without limiting their design or functionalities. We imagined an end-to-end scalable product based on a framework that would allow for the modular construction of the solution.
Helping large e-commerce shops with customization
The paths of Vue and Alokai first crossed in 2017 when we began as an open-source R&D project called Vue Storefront. A small team of developers wanted to test in practice a new approach to frontend development that communicates with the backend and other API services. Our mission was to create a solution that helps large e-commerce shops customize their websites for better performance on any device without limiting their design or functionalities. We imagined an end-to-end scalable product based on a framework that would allow for the modular construction of the solution.
Helping large e-commerce shops with customization
The paths of Vue and Alokai first crossed in 2017 when we began as an open-source R&D project called Vue Storefront. A small team of developers wanted to test in practice a new approach to frontend development that communicates with the backend and other API services. Our mission was to create a solution that helps large e-commerce shops customize their websites for better performance on any device without limiting their design or functionalities. We imagined an end-to-end scalable product based on a framework that would allow for the modular construction of the solution.
But it wasn’t so easy as this approach to e-commerce was pretty new in 2017. Traditional, monolithic systems didn’t provide such possibilities. Even the slightest change in a monolith app required a deep and risky intervention in an interconnected system. So, we tried meeting all these requirements in one solution using an approachable and efficient framework. Later, during the COVID-19 pandemic in 2020-2021, the need to adopt API-first quickly and introduce headless architectures became more important than ever.
Filip Rakowski, CTO and Co-Founder at Alokai
But it wasn’t so easy as this approach to e-commerce was pretty new in 2017. Traditional, monolithic systems didn’t provide such possibilities. Even the slightest change in a monolith app required a deep and risky intervention in an interconnected system. So, we tried meeting all these requirements in one solution using an approachable and efficient framework. Later, during the COVID-19 pandemic in 2020-2021, the need to adopt API-first quickly and introduce headless architectures became more important than ever.
Filip Rakowski, CTO and Co-Founder at Alokai
But it wasn’t so easy as this approach to e-commerce was pretty new in 2017. Traditional, monolithic systems didn’t provide such possibilities. Even the slightest change in a monolith app required a deep and risky intervention in an interconnected system. So, we tried meeting all these requirements in one solution using an approachable and efficient framework. Later, during the COVID-19 pandemic in 2020-2021, the need to adopt API-first quickly and introduce headless architectures became more important than ever.
Filip Rakowski, CTO and Co-Founder at Alokai
Vue–the golden mean in the framework world
When approaching the idea of building a headless platform, we first explored React since at that time it was considered as the most promising framework. React was a safe option compared to Angular or the emerging AngularJS, which wasn’t stable then. When we introduced React to PHP developers, who would be the main group of early adopters of our product in other companies, they had a hard nut to crack. They had real trouble understanding React’s ways of doing things. The learning curve became an extreme barrier to the extent that we started to look for a different framework.
Angular was too opinionated. The magnitude of principles it entails, on the one hand, offers huge scaling potential and, on the other, hinders building something relatively simple. React is on the other extreme, with millions of options available. Being constantly on top of technology news, I suggested trying a new, much less popular Vue as it seemed to be much easier for people with less frontend experience to grasp. Instantly, it turned out to be a good bet. It was easy to create something simple without lots of coding, and it was opinionated just enough to provide help, tools, and developers guidance.
Vue–the golden mean in the framework world
When approaching the idea of building a headless platform, we first explored React since at that time it was considered as the most promising framework. React was a safe option compared to Angular or the emerging AngularJS, which wasn’t stable then. When we introduced React to PHP developers, who would be the main group of early adopters of our product in other companies, they had a hard nut to crack. They had real trouble understanding React’s ways of doing things. The learning curve became an extreme barrier to the extent that we started to look for a different framework.
Angular was too opinionated. The magnitude of principles it entails, on the one hand, offers huge scaling potential and, on the other, hinders building something relatively simple. React is on the other extreme, with millions of options available. Being constantly on top of technology news, I suggested trying a new, much less popular Vue as it seemed to be much easier for people with less frontend experience to grasp. Instantly, it turned out to be a good bet. It was easy to create something simple without lots of coding, and it was opinionated just enough to provide help, tools, and developers guidance.
Vue–the golden mean in the framework world
When approaching the idea of building a headless platform, we first explored React since at that time it was considered as the most promising framework. React was a safe option compared to Angular or the emerging AngularJS, which wasn’t stable then. When we introduced React to PHP developers, who would be the main group of early adopters of our product in other companies, they had a hard nut to crack. They had real trouble understanding React’s ways of doing things. The learning curve became an extreme barrier to the extent that we started to look for a different framework.
Angular was too opinionated. The magnitude of principles it entails, on the one hand, offers huge scaling potential and, on the other, hinders building something relatively simple. React is on the other extreme, with millions of options available. Being constantly on top of technology news, I suggested trying a new, much less popular Vue as it seemed to be much easier for people with less frontend experience to grasp. Instantly, it turned out to be a good bet. It was easy to create something simple without lots of coding, and it was opinionated just enough to provide help, tools, and developers guidance.
Vue was ten times easier for developers to learn. This was a strong driver for its bigger-scale adoption in our company and the community.
Filip Rakowski, CTO and Co-Founder at Alokai
Vue was ten times easier for developers to learn. This was a strong driver for its bigger-scale adoption in our company and the community.
Filip Rakowski, CTO and Co-Founder at Alokai
Vue was ten times easier for developers to learn. This was a strong driver for its bigger-scale adoption in our company and the community.
Filip Rakowski, CTO and Co-Founder at Alokai
"The rapid early growth would not have happened without Vue.js."
I’m convinced that Alokai's rapid early growth would not have happened without Vue.js. Vue's simplicity helped us immensely with growth at the beginning. The ease of adoption of our solution, when we operated in the open-source ecosystem, boosted our product on the trending lists on GitHub for many weeks. The community around Alokai quickly grew to 11000 developers from all over the world and over 200 companies.
During this early period, Alokai positioned itself as a leading provider of headless e-commerce solutions, capitalizing on the growing demand for API-first architectures in the e-commerce space. We rapidly expanded our customer base, particularly among European enterprises that needed more modern front-end development capabilities.
What might not seem like an advantage at first glance is Vue’s weaker popularity compared to React. However, when each of our competitors used React and was fighting for developers and clients on the market, we were the only attractive Vue option. It was especially beneficial for companies without strong JavaScript competences (which was very common at that time when SPA frameworks were still young). And it stayed pretty much like this until today. Vue's simplicity allows us to onboard clients more easily than competitors who use more complex solutions.
Speaking from the perspective of a business owner with a product incoherently connected to Vue.js, I appreciate its independence from any corporation. Betting on Vue is a safe investment while React’s ties to other companies make it a risky bet to use as a foundation for a developer tool business.
Currently, our whole product portfolio is built with Vue. It contains the Alokai Cloud, Storefront UI, and Boilerplate which is a ready e-commerce shop and it’s connected with Connect, the integration layer. We also have the Cloud as the deployment place and the Console as the internal analytics dashboard for clients. With Vue, we can simplify huge, complex e-commerce setups for enterprises with a lot of legacy code. We focus on very customized end-to-end solutions and it seems our approach and betting on Vue years ago pays off.
"The rapid early growth would not have happened without Vue.js."
I’m convinced that Alokai's rapid early growth would not have happened without Vue.js. Vue's simplicity helped us immensely with growth at the beginning. The ease of adoption of our solution, when we operated in the open-source ecosystem, boosted our product on the trending lists on GitHub for many weeks. The community around Alokai quickly grew to 11000 developers from all over the world and over 200 companies.
During this early period, Alokai positioned itself as a leading provider of headless e-commerce solutions, capitalizing on the growing demand for API-first architectures in the e-commerce space. We rapidly expanded our customer base, particularly among European enterprises that needed more modern front-end development capabilities.
What might not seem like an advantage at first glance is Vue’s weaker popularity compared to React. However, when each of our competitors used React and was fighting for developers and clients on the market, we were the only attractive Vue option. It was especially beneficial for companies without strong JavaScript competences (which was very common at that time when SPA frameworks were still young). And it stayed pretty much like this until today. Vue's simplicity allows us to onboard clients more easily than competitors who use more complex solutions.
Speaking from the perspective of a business owner with a product incoherently connected to Vue.js, I appreciate its independence from any corporation. Betting on Vue is a safe investment while React’s ties to other companies make it a risky bet to use as a foundation for a developer tool business.
Currently, our whole product portfolio is built with Vue. It contains the Alokai Cloud, Storefront UI, and Boilerplate which is a ready e-commerce shop and it’s connected with Connect, the integration layer. We also have the Cloud as the deployment place and the Console as the internal analytics dashboard for clients. With Vue, we can simplify huge, complex e-commerce setups for enterprises with a lot of legacy code. We focus on very customized end-to-end solutions and it seems our approach and betting on Vue years ago pays off.
"The rapid early growth would not have happened without Vue.js."
I’m convinced that Alokai's rapid early growth would not have happened without Vue.js. Vue's simplicity helped us immensely with growth at the beginning. The ease of adoption of our solution, when we operated in the open-source ecosystem, boosted our product on the trending lists on GitHub for many weeks. The community around Alokai quickly grew to 11000 developers from all over the world and over 200 companies.
During this early period, Alokai positioned itself as a leading provider of headless e-commerce solutions, capitalizing on the growing demand for API-first architectures in the e-commerce space. We rapidly expanded our customer base, particularly among European enterprises that needed more modern front-end development capabilities.
What might not seem like an advantage at first glance is Vue’s weaker popularity compared to React. However, when each of our competitors used React and was fighting for developers and clients on the market, we were the only attractive Vue option. It was especially beneficial for companies without strong JavaScript competences (which was very common at that time when SPA frameworks were still young). And it stayed pretty much like this until today. Vue's simplicity allows us to onboard clients more easily than competitors who use more complex solutions.
Speaking from the perspective of a business owner with a product incoherently connected to Vue.js, I appreciate its independence from any corporation. Betting on Vue is a safe investment while React’s ties to other companies make it a risky bet to use as a foundation for a developer tool business.
Currently, our whole product portfolio is built with Vue. It contains the Alokai Cloud, Storefront UI, and Boilerplate which is a ready e-commerce shop and it’s connected with Connect, the integration layer. We also have the Cloud as the deployment place and the Console as the internal analytics dashboard for clients. With Vue, we can simplify huge, complex e-commerce setups for enterprises with a lot of legacy code. We focus on very customized end-to-end solutions and it seems our approach and betting on Vue years ago pays off.
The Alokai team currently consists of 90 professionals from 10 countries. Our solution is used by nearly 3,000 online stores globally, and the open-source community has grown to 11,000+ developers as of 2024.
Filip Rakowski, CTO and Co-Founder at Alokai
The Alokai team currently consists of 90 professionals from 10 countries. Our solution is used by nearly 3,000 online stores globally, and the open-source community has grown to 11,000+ developers as of 2024.
Filip Rakowski, CTO and Co-Founder at Alokai
The Alokai team currently consists of 90 professionals from 10 countries. Our solution is used by nearly 3,000 online stores globally, and the open-source community has grown to 11,000+ developers as of 2024.
Filip Rakowski, CTO and Co-Founder at Alokai
It’s only the beginning of Alokai’s journey with Vue. One of its newest initiatives is the development of a "Commerce Intelligence" platform that aims to leverage AI to help e-commerce teams make more informed, data-driven decisions. I’m excited to see what else Vue can bring to the Alokai table.
It’s only the beginning of Alokai’s journey with Vue. One of its newest initiatives is the development of a "Commerce Intelligence" platform that aims to leverage AI to help e-commerce teams make more informed, data-driven decisions. I’m excited to see what else Vue can bring to the Alokai table.
It’s only the beginning of Alokai’s journey with Vue. One of its newest initiatives is the development of a "Commerce Intelligence" platform that aims to leverage AI to help e-commerce teams make more informed, data-driven decisions. I’m excited to see what else Vue can bring to the Alokai table.
8: What’s Next for Vue? Insights from Industry Experts
What is the outlook for Vue’s future according to Evan You, Alexander Lichter, and Alvaro Saburido Rodriguez? What upcoming changes are most anticipated by developers? Take a read of nine experts’ predictions.
8: What’s Next for Vue? Insights from Industry Experts
What is the outlook for Vue’s future according to Evan You, Alexander Lichter, and Alvaro Saburido Rodriguez? What upcoming changes are most anticipated by developers? Take a read of nine experts’ predictions.
8: What’s Next for Vue? Insights from Industry Experts
What is the outlook for Vue’s future according to Evan You, Alexander Lichter, and Alvaro Saburido Rodriguez? What upcoming changes are most anticipated by developers? Take a read of nine experts’ predictions.
Vue has solidified itself as the second most popular Javascript framework. It's on the same level as Angular. Angular might gain more traction among enterprises, whereas Vue is more prevalent in smaller and medium businesses. However, this is not a rule. Even in this State of Vue.js report case studies, we can find well-established enterprises using Vue.js and observe smaller teams choosing Angular as well.
Drawing from different sources and JS-related reports, I think Vue’s growth is pretty within my expectations. I think ourNPM downloads grew by 37% in the past year–that's pretty good for a 10-year-old framework, considering the overall market is pretty saturated at this point.
Vue found the right niche in the market. There are always people who don't like certain things React does. As React pushes more toward server components, people will start to miss frameworks that are less opinionated about their server architecture. Vue will remain the alternative they look for.
With Vapor Mode, we also try to show people that Vue, even though it's a 10-year-old framework, we can introduce significant internal changes or innovation without a big breakage again.
I see two major themes. One is that Vue is a very stable framework after Vue 3, and we don't really plan to ship breaking changes anytime soon. Even if we do, let’s say, release Vue 4, it will be more like Angular 2 to Angular 3 transfer. It will be pretty much the same thing, but with small breaking changes that can be automatically migrated.
The other theme is these internal refactors, such as the reactivity refactors. It’s time to make things more efficient and faster without you having to do anything. Then there's Vapor Mode, which is more experimental, but again, the focus is compatibility. It's a subset of the features, but as long as it's the same feature, it'll work the same way–the syntax and the API will all be the same.
Vue has solidified itself as the second most popular Javascript framework. It's on the same level as Angular. Angular might gain more traction among enterprises, whereas Vue is more prevalent in smaller and medium businesses. However, this is not a rule. Even in this State of Vue.js report case studies, we can find well-established enterprises using Vue.js and observe smaller teams choosing Angular as well.
Drawing from different sources and JS-related reports, I think Vue’s growth is pretty within my expectations. I think ourNPM downloads grew by 37% in the past year–that's pretty good for a 10-year-old framework, considering the overall market is pretty saturated at this point.
Vue found the right niche in the market. There are always people who don't like certain things React does. As React pushes more toward server components, people will start to miss frameworks that are less opinionated about their server architecture. Vue will remain the alternative they look for.
With Vapor Mode, we also try to show people that Vue, even though it's a 10-year-old framework, we can introduce significant internal changes or innovation without a big breakage again.
I see two major themes. One is that Vue is a very stable framework after Vue 3, and we don't really plan to ship breaking changes anytime soon. Even if we do, let’s say, release Vue 4, it will be more like Angular 2 to Angular 3 transfer. It will be pretty much the same thing, but with small breaking changes that can be automatically migrated.
The other theme is these internal refactors, such as the reactivity refactors. It’s time to make things more efficient and faster without you having to do anything. Then there's Vapor Mode, which is more experimental, but again, the focus is compatibility. It's a subset of the features, but as long as it's the same feature, it'll work the same way–the syntax and the API will all be the same.
Vue has solidified itself as the second most popular Javascript framework. It's on the same level as Angular. Angular might gain more traction among enterprises, whereas Vue is more prevalent in smaller and medium businesses. However, this is not a rule. Even in this State of Vue.js report case studies, we can find well-established enterprises using Vue.js and observe smaller teams choosing Angular as well.
Drawing from different sources and JS-related reports, I think Vue’s growth is pretty within my expectations. I think ourNPM downloads grew by 37% in the past year–that's pretty good for a 10-year-old framework, considering the overall market is pretty saturated at this point.
Vue found the right niche in the market. There are always people who don't like certain things React does. As React pushes more toward server components, people will start to miss frameworks that are less opinionated about their server architecture. Vue will remain the alternative they look for.
With Vapor Mode, we also try to show people that Vue, even though it's a 10-year-old framework, we can introduce significant internal changes or innovation without a big breakage again.
I see two major themes. One is that Vue is a very stable framework after Vue 3, and we don't really plan to ship breaking changes anytime soon. Even if we do, let’s say, release Vue 4, it will be more like Angular 2 to Angular 3 transfer. It will be pretty much the same thing, but with small breaking changes that can be automatically migrated.
The other theme is these internal refactors, such as the reactivity refactors. It’s time to make things more efficient and faster without you having to do anything. Then there's Vapor Mode, which is more experimental, but again, the focus is compatibility. It's a subset of the features, but as long as it's the same feature, it'll work the same way–the syntax and the API will all be the same.
Vue's upcoming Vapor Mode is set to be a game-changer for performance. This new compilation strategy aims to optimize rendering, reduce memory usage, and boost overall app efficiency. This will be particularly beneficial for applications with complex user interfaces, high-frequency updates, and those requiring reduced memory usage. The future of Vue.js development looks promising with the launch of VoidZero. VoidZero is dedicated to building an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem. While operating independently from Vue, VoidZero's tools will provide first class support to the Vue project.
Vue's upcoming Vapor Mode is set to be a game-changer for performance. This new compilation strategy aims to optimize rendering, reduce memory usage, and boost overall app efficiency. This will be particularly beneficial for applications with complex user interfaces, high-frequency updates, and those requiring reduced memory usage. The future of Vue.js development looks promising with the launch of VoidZero. VoidZero is dedicated to building an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem. While operating independently from Vue, VoidZero's tools will provide first class support to the Vue project.
Vue's upcoming Vapor Mode is set to be a game-changer for performance. This new compilation strategy aims to optimize rendering, reduce memory usage, and boost overall app efficiency. This will be particularly beneficial for applications with complex user interfaces, high-frequency updates, and those requiring reduced memory usage. The future of Vue.js development looks promising with the launch of VoidZero. VoidZero is dedicated to building an open-source, high-performance, and unified development toolchain for the JavaScript ecosystem. While operating independently from Vue, VoidZero's tools will provide first class support to the Vue project.
With the rising evolution of web development tooling, it can be difficult to predict what the future will look like but we can already see some sort of direction based on the growth of AI powered tools such as v0 or bolt.new. These amazing tools accelerate development of web apps and I believe that Vue will play a crucial role as the simple, performant, and future-proof solution to build scalable websites. Thanks to the vast ecosystem of community built modules, plugins and integrations, you can build everything from simple portfolio pages or blogs to complex e-commerce and SaaS applications. I truly believe that Vue will become number one open source project in the world!
With the rising evolution of web development tooling, it can be difficult to predict what the future will look like but we can already see some sort of direction based on the growth of AI powered tools such as v0 or bolt.new. These amazing tools accelerate development of web apps and I believe that Vue will play a crucial role as the simple, performant, and future-proof solution to build scalable websites. Thanks to the vast ecosystem of community built modules, plugins and integrations, you can build everything from simple portfolio pages or blogs to complex e-commerce and SaaS applications. I truly believe that Vue will become number one open source project in the world!
With the rising evolution of web development tooling, it can be difficult to predict what the future will look like but we can already see some sort of direction based on the growth of AI powered tools such as v0 or bolt.new. These amazing tools accelerate development of web apps and I believe that Vue will play a crucial role as the simple, performant, and future-proof solution to build scalable websites. Thanks to the vast ecosystem of community built modules, plugins and integrations, you can build everything from simple portfolio pages or blogs to complex e-commerce and SaaS applications. I truly believe that Vue will become number one open source project in the world!
Given the current progress of the Web platform, I think (and hope) that Vue will keep improving and become transparent in favor of Web Standards thanks to approaches like Vapor.
That way people will be using Vue without too many build steps/complexities and still benefit from what's available today/tomorrow in the browser. I hope that both Vue as a framework and all of us as contributors will stay independent and free to do the best thing without being locked in. Let’s appreciate the work of people who are doing Open Source Software so that we can all benefit from it! Vue is still part of the healthy options if you need an app nowadays.
Given the current progress of the Web platform, I think (and hope) that Vue will keep improving and become transparent in favor of Web Standards thanks to approaches like Vapor.
That way people will be using Vue without too many build steps/complexities and still benefit from what's available today/tomorrow in the browser. I hope that both Vue as a framework and all of us as contributors will stay independent and free to do the best thing without being locked in. Let’s appreciate the work of people who are doing Open Source Software so that we can all benefit from it! Vue is still part of the healthy options if you need an app nowadays.
Given the current progress of the Web platform, I think (and hope) that Vue will keep improving and become transparent in favor of Web Standards thanks to approaches like Vapor.
That way people will be using Vue without too many build steps/complexities and still benefit from what's available today/tomorrow in the browser. I hope that both Vue as a framework and all of us as contributors will stay independent and free to do the best thing without being locked in. Let’s appreciate the work of people who are doing Open Source Software so that we can all benefit from it! Vue is still part of the healthy options if you need an app nowadays.
Looking ahead, Vue’s future is incredibly promising. The upcoming Vapor Mode, which optimizes server-side rendering (SSR) for even faster and leaner performance, is a feature I’m particularly excited about. It positions Vue to compete strongly in scenarios where performance and SEO are critical. Additionally, Vue’s dedication to maintaining developer-friendly tooling, such as Vue CLI and Vite, ensures it remains accessible for newcomers while powerful for experienced developers. In the broader JavaScript landscape, I see Vue continuing to bridge the gap between simplicity and sophistication. It offers a gentle learning curve for beginners and a robust toolset for large-scale applications, making it a top choice for teams of all sizes.
Looking ahead, Vue’s future is incredibly promising. The upcoming Vapor Mode, which optimizes server-side rendering (SSR) for even faster and leaner performance, is a feature I’m particularly excited about. It positions Vue to compete strongly in scenarios where performance and SEO are critical. Additionally, Vue’s dedication to maintaining developer-friendly tooling, such as Vue CLI and Vite, ensures it remains accessible for newcomers while powerful for experienced developers. In the broader JavaScript landscape, I see Vue continuing to bridge the gap between simplicity and sophistication. It offers a gentle learning curve for beginners and a robust toolset for large-scale applications, making it a top choice for teams of all sizes.
Looking ahead, Vue’s future is incredibly promising. The upcoming Vapor Mode, which optimizes server-side rendering (SSR) for even faster and leaner performance, is a feature I’m particularly excited about. It positions Vue to compete strongly in scenarios where performance and SEO are critical. Additionally, Vue’s dedication to maintaining developer-friendly tooling, such as Vue CLI and Vite, ensures it remains accessible for newcomers while powerful for experienced developers. In the broader JavaScript landscape, I see Vue continuing to bridge the gap between simplicity and sophistication. It offers a gentle learning curve for beginners and a robust toolset for large-scale applications, making it a top choice for teams of all sizes.
In the future, I see Vue.js continuing to evolve in a similar direction, while avoiding huge changes, like the ones we've seen with the Vue 3 major release. Instead, I expect to see more incremental improvements that are already happening with each minor version. I bet that a lot more experimenting and prototyping will be done in extra packages, like vue-vine or vue-macros, as well as in the largest Vue.js meta-framework, Nuxt.js. Vue is an integral part of the modern web development ecosystem, and I believe it will continue to be so for years to come, not only due to its technical merits, but also because of the strong community that has formed around it.
In the future, I see Vue.js continuing to evolve in a similar direction, while avoiding huge changes, like the ones we've seen with the Vue 3 major release. Instead, I expect to see more incremental improvements that are already happening with each minor version. I bet that a lot more experimenting and prototyping will be done in extra packages, like vue-vine or vue-macros, as well as in the largest Vue.js meta-framework, Nuxt.js. Vue is an integral part of the modern web development ecosystem, and I believe it will continue to be so for years to come, not only due to its technical merits, but also because of the strong community that has formed around it.
In the future, I see Vue.js continuing to evolve in a similar direction, while avoiding huge changes, like the ones we've seen with the Vue 3 major release. Instead, I expect to see more incremental improvements that are already happening with each minor version. I bet that a lot more experimenting and prototyping will be done in extra packages, like vue-vine or vue-macros, as well as in the largest Vue.js meta-framework, Nuxt.js. Vue is an integral part of the modern web development ecosystem, and I believe it will continue to be so for years to come, not only due to its technical merits, but also because of the strong community that has formed around it.
I’m bad at predicting, so let’s draft a future the way I’d like to see: Vue stays this community-driven as it already is. I love that it’s not backed up by bigger companies, thus embodying open source completely. In my future, its usage in percentage will grow, spreading this spirit and continuing to evolve developer experience based on the feedback and contributions of its community - there’s no risk that the interest of companies would be prioritized. That would drive the percentage even more, and so on. Community ftw. 💚
I’m bad at predicting, so let’s draft a future the way I’d like to see: Vue stays this community-driven as it already is. I love that it’s not backed up by bigger companies, thus embodying open source completely. In my future, its usage in percentage will grow, spreading this spirit and continuing to evolve developer experience based on the feedback and contributions of its community - there’s no risk that the interest of companies would be prioritized. That would drive the percentage even more, and so on. Community ftw. 💚
I’m bad at predicting, so let’s draft a future the way I’d like to see: Vue stays this community-driven as it already is. I love that it’s not backed up by bigger companies, thus embodying open source completely. In my future, its usage in percentage will grow, spreading this spirit and continuing to evolve developer experience based on the feedback and contributions of its community - there’s no risk that the interest of companies would be prioritized. That would drive the percentage even more, and so on. Community ftw. 💚
I hope that Vue continues to evolve with a focus on keeping things simple and benefiting from Web Standards. One area I'd love to see more attention on is the integration between Vue and 3D technologies, particularly with custom renderers like TresJS. I believe the Vue community could play a pivotal role in promoting 3D as a viable alternative for both design and interactivity in websites and apps. Currently, this is a niche that hasn't yet been fully explored, but with the growing interest in WebGL and 3D graphics on the web, now is the perfect time to help promote it.
I hope that Vue continues to evolve with a focus on keeping things simple and benefiting from Web Standards. One area I'd love to see more attention on is the integration between Vue and 3D technologies, particularly with custom renderers like TresJS. I believe the Vue community could play a pivotal role in promoting 3D as a viable alternative for both design and interactivity in websites and apps. Currently, this is a niche that hasn't yet been fully explored, but with the growing interest in WebGL and 3D graphics on the web, now is the perfect time to help promote it.
I hope that Vue continues to evolve with a focus on keeping things simple and benefiting from Web Standards. One area I'd love to see more attention on is the integration between Vue and 3D technologies, particularly with custom renderers like TresJS. I believe the Vue community could play a pivotal role in promoting 3D as a viable alternative for both design and interactivity in websites and apps. Currently, this is a niche that hasn't yet been fully explored, but with the growing interest in WebGL and 3D graphics on the web, now is the perfect time to help promote it.
I believe the Vue.js ecosystem will continue to grow in 2025 as more tools become available to support all levels of the adoption process. Both free and paid UI component libraries provide developers with numerous options, while the official certification program streamlines hiring and validates expertise. I expect Vue to embrace further the transformative power of AI, which has shifted from being a passing trend to a significant change in how developers build and manage projects. With its solid foundation, robust ecosystem, and emphasis on developer experience, Vue.js is well-positioned for ongoing growth. I expect a promising year for Vue developers and the broader frontend community.
I believe the Vue.js ecosystem will continue to grow in 2025 as more tools become available to support all levels of the adoption process. Both free and paid UI component libraries provide developers with numerous options, while the official certification program streamlines hiring and validates expertise. I expect Vue to embrace further the transformative power of AI, which has shifted from being a passing trend to a significant change in how developers build and manage projects. With its solid foundation, robust ecosystem, and emphasis on developer experience, Vue.js is well-positioned for ongoing growth. I expect a promising year for Vue developers and the broader frontend community.
I believe the Vue.js ecosystem will continue to grow in 2025 as more tools become available to support all levels of the adoption process. Both free and paid UI component libraries provide developers with numerous options, while the official certification program streamlines hiring and validates expertise. I expect Vue to embrace further the transformative power of AI, which has shifted from being a passing trend to a significant change in how developers build and manage projects. With its solid foundation, robust ecosystem, and emphasis on developer experience, Vue.js is well-positioned for ongoing growth. I expect a promising year for Vue developers and the broader frontend community.
Authors and Contributors
Vue Core Team
Nuxt Core Team
Experts
Monterail Editorial Team
Take Vue.js Further with Monterail
At Monterail, we deliver our Vue.js expertise to help businesses build scalable, high-performance applications that drive results. By partnering with us, you gain access to a team of professionals with 10+ years of Vue experience and over 40 successful Vue projects.
TABLE OF CONTENTS
TABLE OF CONTENTS
TABLE OF CONTENTS