Choosing the best technology stack for a future-proof service

By Jere Kankaanranta, Senior software developerJul 25, 2021Read time 3 min
Tech Stack

Kindfull is a startup connecting people who have encountered a life crisis with a support network. Their first app, called Huoleti, had seen several development rounds over the past few years, yet it still didn’t meet the usability and functionality requirements set by the ambitious team. 

How to develop a high-quality app on a tight schedule

Kindfull contacted Wunderdog because they needed a partner to finalize the development of their new app. The unfinished product was about 30 % done, and, to some extent, filled with ‘spaghetti code’. 

The development started in October 2020 and the project deadline was by the end of the year. By then, Kindfull needed a mobile app for end-users as well as an interface for administrators and service providers.

The deadline was tight. We had only three months to develop the MVP, a product with enough features to be ready for use. After discussions, we decided it would be easier to start the project from scratch rather than building on top of the existing code.

Read the Kindfull case and learn more about the benefits of starting a project from scratch.

The foundation of a good tech stack

In addition to a tight deadline and multiple clients for back-end data, we also experienced changes regarding the project scope. This is a common phenomenon in almost every startup. 

The changing scope was a challenge, but it also forced us to look for a sustainable tech stack. When creating a future-proof app, one needs to start the project with a ‘changes are inevitable’ mindset. Choosing and using technologies allowing flexibility is always the best solution. 

With this in mind, we selected a tech stack ensuring:  

  1. A fast iteration (to keep up with the changes).

  2. High quality code.

  3. One codebase for all platforms.

  4. Finding new developers in the future would not become a bottleneck.

When creating a future-proof app, a ‘changes are inevitable’ mindset is crucial. Choosing and using technologies allowing flexibility is always the best solution.

A future-proof tech stack guarantees the desired outcome

With these properties in mind, we ended up managing the following tech stack:

Back end

  • Node.js: Well known by developers.

  • NestJS: It enforces practices that result in high-quality code.

  • GraphQL: It’s easier to implement a single source of truth and clients can ask for only the data they require 

  • PostgreSQL: Our data is relational, so using a relational database makes sense.

Admin UI

  • React: Well-known by developers and pretty much the standard for new projects. 

  • Apollo Client: For automatic state and cache management in the front end. 

  • GraphQL Code Generator: Types and hooks for fetching/mutating data can be generated automatically.

Mobile App

  • React Native: For a single code base for all platforms and familiarity with React developers.

  • Expo for easy access to native APIs like camera, with a built service for building distributable app binaries, and over-the-air updates via release channels.

  • Apollo Client: For automatic state and cache management in front end 

  • GraphQL Code Generator: For generating type definitions and React hooks automatically, reducing duplicate work.

Releasing the MVP

Using these technologies, we were able to build a MVP version of the app on a very tight schedule. The first version was released in January 2021.

The technologies we chose guarantee the development can continue smoothly. Kindfull’s innovative product inspires new ways of using it and new features are released continuously. With this tech stack, Kindfull is ready to take a leap to the next level.

Let’s build your business app together. Book a free consultation and share your idea with us. We’ve built over 300 digital services and MVPs.

Interested? Contact us.