Blog

Technology Stack for Development From Scratch

15 Jan 2020

#Idealogic

#Startup Library

#Technology Stack

#Useful Information

It sounds pretty logical that in order to create a startup one must know how… basically how to create it. Quite often, however, entrepreneurs come up with a brilliant idea for a future project but have little to no knowledge about its implementation. They have a certain image of a product-to-be but only a vague understanding of the development steps and tools to be used. However, understanding your technology stack is crucial for the success of your product.

What is a tech stack

A tech stack is a set of technologies underneath a development project. It is a combination of programming languages, servers, software, UI/UX solutions, frameworks, and tools used to build and run a web or mobile app.

Examples of a tech stack

There are no two identical tech stacks. The one of Facebook, for example, consists of over 30 tools, among coding languages and frameworks being CSS, PHP, JavaScript, ReactJS, and HTML. Airbnb, on the other hand, uses Java, MySQL, JavaScript, and Ruby on Rails.

Why your tech stack is important

Indeed, the tech stack is, as the name suggests, technical in its nature but that doesn’t imply that non-developers can ignore it. In fact, it’s crucial for every member of a team involved in decision-making to be aware of the tech stack and its influence on the company’s future. Generally, the right tech stack is the key to the success of your idea, while the wrong set of development technologies may lead to failure.

Keep in mind that it is important to make decisions about the tech stack prior to the major building of your product. Of course, you can make changes in the set of tools when you realize that you need something different, but it’s quite difficult and usually involves a huge investment of both money and time.

Another reason for thinking of your tech stack in advance is that it can affect the scalability of your product. When you start, be reasonably ambitious and decide how and to what extent you want to scale in the future. Since different tech stacks serve different purposes, choose the one that corresponds to your needs the best.

How to choose the right tech stack

Unless you have experience in product development, you are probably not familiar with choosing the only right tech stack for your project. But don’t worry – that’s totally okay. If you’re an ideas person, you won’t have to dig into the code, but if you are the driving force of the product creation, you still need to be sure that major decisions are reasonable.

There are several basic questions that you have to answer to choose the right tech stack. They include:

  • What is the purpose of your product? That is, how and where your customers will use the product. Will the app exist on desktop or mobile? Or is it a news site that will get millions of visitors every day?
  • Do you want to develop a scalable product or the one that can be deployed as quickly as possible?
  • Which programs would you like to use: client-side ones that are familiar to many, like WordPress or HTML, or maybe you want to target a more technologically advanced market?
  • How much money are you ready to spend on product development? In case you are limited in terms of budget, you may want to use more common programming languages for cheaper hiring and search for cheap or even free solutions. But be reasonable – don’t save on the costs to the detriment of your product’s quality.
  • Are you going to change the functionality of your product in the future? If the answer is yes, better choose an easily extensible language to make the process easier. However, keep in mind that the upkeep costs of such a product will almost certainly be higher.

This list of questions is not exhaustive – those are only the most popular ones. Essentially, you need to consider what’s important for you – and make sure to take each major aspect of your project into account.

Practical Cases

Let’s discuss a few practical cases that will give you an idea of how the information above impacts the real development flow.

Health Life

One of our clients… let’s call him “V” – he doesn’t like publicity – is an experienced fitness trainer with outstanding expertise in helping people to gain more from their training. His dream was to spread the expertise outside of his personal clients’ circle and create an app that will use the real-time physical stats in order to maximize the results while allowing to reduce the level of exhaustion after training. The idea that the human body reacts individually on every particular exercise is not new, but we were stunned by the depth of algorithms that our client prepared.

It is obvious that a fitness expert doesn’t have to be a developer to help people keep their bodies in good shape. When V came to us, the Idealogic team spent a few hours to find the best technology stack to create a smooth, user-friendly and affordable mobile application. Our solution was to use the cross-platform mobile framework React Native to build an app for phones (it helped to save about 40% of the budget in comparison with native technologies), develop modules for smartwatches using the native stack – Swift and Kotlin (because it can’t work properly with a cheaper cross-platform option) and build the back-end module with the Python, which is certainly one of the most efficient languages for the back-end development for small apps.

Web Business Intelligence App for FMCG Suppliers

As you may know from your own practice, a lot of clients want to sign NDA to prevent a development company from revealing the project’s details – and this case is one of these.

Let’s call this client “D”. He is well-experienced in the B2B sales between FMCG manufacturers and retailers and in his practice, he quite often faced the absence of an effective solution to give the comprehensive picture of how sales stats in online retailing depend on numerous factors: promotions, banners, search results, etc. That’s why he decided to build something that will change the work of sales analysts – give them a powerful tool to improve marketing and sales strategies.

The web application we built for D is an analytics platform that collects sales reports from online retailers, combines them with the data obtained by a dozen various web scrapers and shows comprehensive infographics of the results to D’s clients.

When we started to work on this project, the main goal was to build a stable and software that would be ready to scale on-demand. That’s why we made our choice for the combination of Javascript frameworks: Node.js and AngularJS. Since the number of simultaneous users was quite modest, this stack provided for efficient analysis of thousands of web pages.

Summing up

Picking the right set of underlying tools is crucial at the early stages of project development. Sorting out your priorities will help both you and the developer. To choose the most relevant tech stack for your product you need to comprehensively assess it, taking into consideration the unique specifics of the product – but think in advance, do not be short-sighted. Whenever you start working with a third-party development agency, feel free to ask them to explain why they’re going to use that or another technology stack because it’s not their idea, it’s yours.

If you are more of an ideas person and have little knowledge in developing tech stacks, the best advice for you is quite simple: turn to someone who has experience in the area and can consult you. Idealogic may be the advisor you need – tell us your needs, priorities, and thoughts on the future of your product – and our experienced team will find the most suitable tech stack for the implementation of your idea.

Medium

Or simply contact us to explore more
benefits of the Idealogic Partner Program.

Contact us