Platform tech stacks

From daily profiling of company tech stacks, I’ve noticed an interesting relationship between technology and platforms:

A technology stack is often platform-specific.

In other words, a company doesn’t have a single universal tech stack.

It has a distinct stack for each platform they target.

Common types of platforms include:

  • Cloud

  • Mobile

  • Web

For each platform, there are different tech stack components, such as:

  • Languages

  • Libraries

  • Frameworks

  • Platform providers

  • Databases

  • Developer tools

At the intersection of the platform and the tech stack components, we define the actual tech stack in use.

Initially, it seemed that certain components, such as the database, were only applicable to the specific platform, e.g., Cloud. Upon closer look, the pattern appears to be universal across multiple platforms.

For example, each platform has some kind of database:

  • Cloud → PostgreSQL

  • Web → IndexDB

  • Mobile → SQLlite

Or each platform has platform providers:

  • Cloud → AWS, Azure

  • Web → Safari, Chrome

  • Mobile → iOS, Android

Thanks to this pattern, even general-purpose technology like JavaScript can hint at a tech stack when combined with a platform:

  • Cloud + JavaScript → Node.js, Express, Nest.js, PostgreSQL, MongoDB, AWS, GCP

  • Web + JavaScript → React.js, Next.js, IndexedDB, Redux, Safari, Chrome

  • Mobile + JavaScript → React Native, Expo, SQLite, iOS, Android

The platforms a company is targeting have a significant influence on the company’s tech stack choices and the skills required to work with them.