Three years ago, my brother Sébastien and I were open sourcing our code to build Vue.js applications with server side rendering. Today, we are incredibly excited to announce that NuxtJS has raised $2M in seed funding led by firstminute capital with participation from Kima Ventures, Eduardo Ronzano (founder & CEO, KelDoc), Thibaud Elzière (founder & CEO, Fotolia), Nicolas Steegmann (founder of Stupeflix), and Renaud Visage (Co-founder & CTO, Eventbrite).
From a boilerplate to a web framework.
Sébastien (@Atinux) made his first commit for Nuxt.js on Github on October 26th 2016. The code base was born after we refactored an e-commerce website with modern open source web technologies: Vue 2, Node.js and Webpack. At the time, there was no documentation for server-side rendering Vue.js applications - we learnt through the Hacker News example published by Evan You (Creator of Vue.js). The idea of creating a boilerplate and reusing the code base for other projects became clear once we discovered Guillermo Rauch’s introduction of Next.js.
Why the NUXT name?
Once we had created the repository on Github to open source our code, we had our first challenge: find a name for our project! We tried couples of names on NPM who were already taken. In the end we landed on NUXT which was short and explicit. rEact ⇒ nExt made us realise that vUe ⇒ nUxt was a natural fit for us. It is like Next.js but for Vue.js.
Performance, Modularity and Developers Happiness
The core mission at NuxtJS is to provide front-end developers with an open source framework to build fast and high performing websites and applications based on Vue.js with as little friction as possible. Our credo is “Convention over Configuration” to help solve some of the difficulties involved in Vue.js application development. Automatic vue-router configuration based on file system detection is the first and most popular feature of the framework. With the efforts of our community and contributors around the world, over time our framework became ready for production. Every feature and bug fix since has been made with the sole purpose of improving the performance and experience for all our users. Our ultimate vision is to be a modular solution and extend the possibilities of the framework usage. These are endless!
From a passion to a company.
The Pyrenees Mountains
Sébastien and I discovered our passion for computers and web development deep within the Pyrenees Mountains (our heritage reflected in the NuxtJS logo if you haven’t noticed!). We taught ourselves how to code as kids and designed websites at night, weekends and during school holidays. We worked on our first external project together, creating a browser game website built with PHP, HTML, CSS and jQuery - this fortunately covered part of our college studies! We both had the entrepreneurial bug at this point.
The NuxtJS Company
Before NuxtJS we were originally called ORION, which was established in 2017. At the time we wanted to create a number of different open source projects (ORION is a constellation of stars) and sell our services on the side whilst we had full-time jobs. However, we didn’t realise that what would ultimately become the Nuxt.js framework was going to take off so quickly and be so well-received by the developers community. After receiving amazing feedback at conferences, meet-ups and workshops we decided to go full-time on the Nuxt.js framework in January 2018. A year later we decided to rename our company NuxtJS to focus our efforts on the framework.
Open source is everywhere
As developers ourselves, we believe in the importance and power of open source. Innovation in technology belongs to open source authors that have changed the path of companies - indeed many of our careers have depended on them - Languages, Operating Systems, Frameworks and many more. Like most other open source projects, we never had the expectation of making it a commercial product. However, after two years working full-time for NuxtJS, we were struggling to generate sustainable and scalable revenues whilst developing the framework at the same time. Our time was taken up by consulting and workshops to keep the lights on! This was difficult for us given the usage by large corporates such as Adobe, Ubisoft, Voodoo, Nespresso, Ozon, Rakuten and many others. We therefore believed the moment arrived to receive funding from partners with experience in open source projects and scaling teams and products.
The NuxtJS Company !== The Nuxt.js Framework
Dominik Angerer (Co-founder & CEO of Storyblok and our sponsor since July 2018) introduced us with Sam Endacott and Arek Wylegalski from firstminute capital in October 2019. They understood our concerns around developing the commercial side of the business whilst staying true to the community which has helped build Nuxt.js into what it is today. We took our time with the fundraising process and made sure to evaluate the pros and cons before making the decision. After spending many weeks with the team (+ a few dinners and drinks) we decided to close a $2m seed round for the NuxtJS company. The Nuxt.js framework is and will always be open source and community-driven.
From an idea to a website
The intuitive Web Framework
We love to create websites with Vue, but we are too lazy to configure everything over and over. Nuxt.js provides a simple and intuitive developper experience to prototype blazing fast modern web application. The goal is to decrease the number of decisions the programmer has to make and eliminate the complexity of having to configure all and each of the areas of application development. The immediate result is that you can create many more things in less time. Building a production ready website from an idea has never been so simple. If you follow the established conventions, you can develop a Nuxt.js application in much less time and with many fewer lines of code than you would need developing a similar web application in Vue.js. If, on the other hand, you want to ignore conventions, you can always replace them with your own code. However, since conventions are not arbitrary, but have been established by a community of high level programmers, it rarely does make sense to waste time overwriting them.
By keeping the core light and extensible with hooks, we opened a new range of possibilities: Nuxt Modules. You can use analytics, authentication, send HTTP requests, use your favorite UI framework, support dark mode, optimizes your images, make a PWA and much more with only one line in your config file.
Performances has a huge impact on how visitors see and interact with your website. Since the beginning, performances has been in the heart of the Nuxt.js framework, allowing you to ship efficient and performant web application by default. We provide more than 20 optimizations and have more in our roadmap: reducing the baseline bundle costs of the minimal app (coming with Nuxt 3 and Vue 3), image bloat reduction (lazy-loading and automatic optimisation) and smarter server-side rendering using SWR (stale-while-revalidate).
Nuxtify the world
Concepts and new features can sometimes be more difficult to explain, instead of using them. Feedback subjects since the last 3 years has been mostly about our lack of explanation and marketing. That's true. It's difficult to explain a framework that can do static site generation (SSG) or dynamic rendering (SSR) as well as optional server-side rendering with convention over configuration in a simple sentence. Good news, we are working on a brand new website full of Nuxt.js informations and features explanations.
The Nuxt.js documentation is key. Our main efforts are toward on new learning resources, including a richer documentation and educational materials (tutorials, videos courses and sandboxes). Additionally, we are developing official workshops and certification programs for developers with partners teachers/companies around the world.
Community based materials and events (meetups, conferences and live streams) will be displayed on the new website. We plan to organise online events in the future. You can always chat with the community on our Discord server, follow the Nuxt.js feed on our Twitter account and contribute on our GitHub repository. Our Open Collective is used for the open source work done by maintainers, contributors and developer advocates that help Nuxtify the world.
We deeply want to thanks all the contributors to the (core, documentation, modules and more) that improve Nuxt.js everyday. Also our users and followers, helping us gather more feedback and improve the vision of the framework.
We have been working a lot recently and exciting announcements are coming soon!