After thinking a lot what our first post should be, we have decided to show what is our development stack at the studio.
We are not fans of a specific stack, we use those tools that are best for us at any given time and allow us to build the products that we want and the products our clients deserve. In fact, depending on when you are reading this, it has likely changed. At the moment, this is what we like and enjoy when we build products.
Our focus from the beginning has always been to cover the whole process of product development: from mobile application development, interactive websites and backend systems. We are a small studio with a vocation to launch complete products, so we needed a horizontal language that could cover all these areas.
In our research we fell in love with the JavaScript ecosystem, its libraries and frameworks that allowed us to build high quality products without having to create different implementations for each platform on which they are available.
On the web we use React, one of the most established JavaScript libraries adopted by companies such as Airbnb, Twitter or Facebook. Although there are very solid alternatives like Vue, we went with React because of the great community, the strong growth and adoption it has had in recent years.
The frameworks we work with the most are Next.js and Gatsby, depending on the size and needs of the project. We like Gatsby for its wide catalog of plugins that solve a good part of the general casuistry of web development such as the generation of sitemaps, adding the headers for SEO or the optimization of images. We like Next.js as it allows you to use React and have both SSR (Server Side Rendering) and SSG (Static Site Generation) in a very flexible way.
For the deployment of our Frontend, we usually use Vercel as the preferred platform due to its reliability and simplicity, although we are also huge fans of Netlify.
We develop mobile applications with React Native, Facebook's open source framework that today large companies like Instagram, Discord, Uber Eats or Tesla rely on for their mobile solutions.
React Native allows us to create applications for Android and iOS with a single code base. Being a small studio, this is essential since it allows us to speed up development times in a very significant way. This translates into lower development costs and, most importantly, being able to launch faster. In addition, by using JavaScript and TypeScript we can take advantage of all our experience in web and backend development in the creation of mobile apps.
Why don't we develop native apps? Although this topic would deserve a post on its own, we firmly believe that in 90% of projects there is no advantage in developing natively for iOS or Android compared to using React Native. In fact, the native development will only increase the final bill and add complexity to the maintenance of the product by requiring specialized profiles in iOS and Android.
We see great potential in React Native to become the platform of choice for mobile app development in the coming years. Not only does it have one of the largest and most active communities in the ecosystem, but world leaders such as Shopify have invested in the framework for the future development of mobile applications.
To close the circle, we use Node.js to create the APIs for our projects, used by companies such as PayPal, Netflix or Uber to optimize the flow of information within their applications.
In recent months we have started to implement the NestJS framework in our projects as it allows us to develop efficient, scalable and testable backends with Node.js using TypeScript. NestJS uses a modular architecture inspired by Angular, including concepts of object-oriented programming, functional programming and reactive programming in a very agile way thanks to its CLI and ecosystem.
Sometimes the best development stack is to have the tools that allow us to avoid having to develop. We don't reinvent the wheel when there is no need. Luckily we live in a time where many of the problems of the digital environment are solved. Although we will cover it in detail later, we use Stripe to process payments, Webflow for the construction of landing pages and corporate websites, Typeform for the creation of forms and obtaining data, among others.
Our position on the no-code movement is very clear: we use services that allow us to create, launch and validate products in less time while do not compromise the value proposition or control over the product.
We do not close ourselves to any specific stack or technology. Above all we like to solve problems and do it with the best tools that we have available. We are always testing different technologies and approaches, it is the only way we understand that you can create products that make a difference.