What is WebReinvent?
WebReinvent was founded with the goal of matching international software industry standards and delivering quality software products.I started the company in 2010 with just 1 employee and now, we are a team of more than 50 and growing.Most of them are developers but there are also assisting positions like project managers, testers, designers…It’s a complete agile software development agency that does end-to-end projects.
Which project did you want to talk about today?
The project I wanted to talk about today is an application to monitor horses' performance and health during training or live race sessions.The problem they faced with the existing software was its terrible performance, load time & latency.They wanted us to rebuild it on the latest tech stack to improve its performance and reduce the latency of live data feed like heart rate, GPS coordinates, etc from the Horse RFID chip. RFID generates a huge amount of data per minute per horse per race. We need to store, analyze and maintain this data and generate relevant charts for the horse trainers. Develop two-way audio communication between the rider, horse trainer, and horse owner.
Did you have to convince the client about your technical choices?
I guess it was not that tough since we had a lot of projects to show them and present all the benefits of using Nuxt.Most clients that we got chose us because of the examples we were able to present.We are handling very large projects and when we show them the complexity and the business level that our products are capable of handling, they get confident in us.
How did you lead this project?
We proceeded like any project that we lead.We followed a strict process starting from preparing a Software Requirement Document (SRS) and a Q&A session, that gave us a complete understanding of the business requirements to build the user flow diagram (UFD).Once those documents were approved by the client, we created an extremely detailed wireframe of the software with every UI element identified as business logic written as notes.Following the completion of the wireframe, we proceeded with UI and database design and started the development.Alongside the development phase we created and progressively updated a very detailed technical documentation which is extremely helpful in doing the knowledge transfer between developers.
Did you develop an internal component library to help you jumpstart multiple projects?
Yes we did, we always try to build reusable helpers and components that can be used inmultiple projects.We actually have several libraries with different specificities to be as performant as possible.
Which technologies other than Nuxt did you use during the software development?
We used Nuxt as a starting point to select the best-integrated back-end and CMS technologies.It depends on the client's requirements. In most of our projects, Nuxt is used for the front-end and VaahCMS for the back-end (which is built on top of Laravel & VueJs).
How did you discover Nuxt?
I’m very enthusiastic about technology and I’m always scanning and benchmarking the market. I knew VueJS since the beginning but even if I loved it (for the features but also the documentation), there were certain situations where I couldn’t understand how to use it in a business set-up.At the time we were mostly building dynamic websites and there was one specific aspect that we were never able to achieve: Google PageSpeed Insights score. We tried everything we could but we were never able to reach the performance score that we wanted, which was above 80. I tried Nuxt and saw the difference instantly.We used Nuxt on a couple of projects and the performance went through the roof, from a Google PageSpeed Insights score of 60-70 to above 95.
Why did you choose Nuxt as your main front-end framework?
We love Nuxt for 4 main reasons:
- It’s SEO friendly
- The folder structure. It’s extremely simple and really helps us while working with large teams of developers with different mindsets
- The state management, in part because it supports VueX and Pinia
- And finally the Content module, it’s just awesome
Are you using server-side rendering or static generation?
We are mostly using server-side rendering for the vast majority of our projects.
What is your favorite Nuxt feature?
For Nuxt 2: folder structure if I have to choose, but I also really like the content module.For Nuxt 3: I can’t wait to harness the full potential of Nitro and the API routes.
Would you recommend Nuxt?
Of course, not only would I recommend it but I love promoting it!