Introduction
Shopify is a name that’s known to 2 million eCommerce entrepreneurs from 175+ countries. Anyone starting out in the eCommerce business have heard of this subscription-based platform and storefront builder.
The immense popularity Shopify enjoys is owed to its stunning UI combined with modern tech stack. It offers a complete set of tools and coding languages to build, support, customize and scale an online business from scratch.
Its repository includes storefront templates, payment gateways, point of sale software, shopping carts, marketing tools, buy buttons, you name it. This article discusses Shopify’s tech stack including the tools available, corresponding coding language support, and new developments.
Meaning of Tech Stack
A technology stack, A.K.A. tech stack, is an arrangement of tools, applications, software, and coding languages necessary to build SaaS products. In other words, a ecommerce tech stack is the infrastructure needed to create, run, manage, and scale web applications and business ecosystems.
A tech stack determines the types of new apps that are built, the level of customization done and the efficient functioning of the platform. It involves technology consisting of two major components: frontend and backend. A typical tech stack includes web browser, programming languages, frameworks, database, web server, and operating systems.
The Basics of Shopify Tech Stack
Shopify is a convenient, easy to use, and scalable platform for both technically adept and novice entrepreneurs. Its storefront builder requires minimal coding thanks to its comprehensive and flexible software development kit (SDK).
Rookie techies can experiment with any website theme, customizable website templates, drag and drop design tools, and easy coding languages. However, web and application developers can fully rely on Shopify’s composable stack of headless APIs, hosting services and React-based software framework to build new apps and customize their Shopify store.
Currently, Shopify has around 50 native apps and over 4000+ third party applications in its App Store. Its average API response time is less than 100 millisecond. It can effortlessly process 40,000 checkouts for every store in a minute. At the same time, it has several free built-in tools and widgets like QR code generator and profit margin calculator for easy business setup.
All of these are possible because of Shopify’s extensive tech stack. Here is a compilation of Shopify’s tech stack history and latest additions:
Technology that built Shopify and its apps
Shopify’s impressive data latency record is the result of its solid foundations in Ruby on Rails framework. Shopify’s founder Tobi Lütke built the platform using the first version of Ruby on Rails, making Shopify one of the oldest existing Rails apps.
Shopify core app is a Rails monolith, most of its domain-specific apps are written in this full-stack framework. A couple examples include: Shopify Shipping, Identity and its App Store. Alongside keeping its Ruby on Rails legacy code, Shopify has also welcomed other frameworks like JavaScript with Node.js as its latest addition.
Technology Used For Shopify DataBase
Shopify’s database history has undergone more changes than its codebase. It began its journey with MySQL as its relational database. However in 2014 it became increasingly difficult to store all of its mammoth data in MySQL. Hence, it began segmenting its data into smaller portions and stored it in several databases. This phase was called sharding.
For sharding Shopify used databases like Memcached (to store memory caches) and Redis (to store key-values and ques). Though this solution seemed to manage the problem, it still caused massive system disruption.
This is why currently, Shopify uses pods to create instances of Shopify’s program with its own datastores. This has helped solve their outage problem. Shopify’s database tech stack uses a compilation of Kubernetes, Docker, Google Kubernetes Engine. Nginx, Lua and OpenResty are used for load-balancers.
Technology that makes up Shopify’s Admin
Shopify is versatile with its tech stack offerings when it comes to client-side admin stack adding layers of convenience for its merchants and developers. It started with HTML and jQuery templates for its front-end applications like creating landing pages and product listing pages.
For a short while it transitioned to Batman.js and Single Page Application Framework. Currently, Shopify has moved back to basic HTML and JavaScript. Alongside these, it has incorporated the latest variations of JavaScript framework like React and Typescript.
A Break-Down of the Architecture in Shopify’s Tech Stack
1) Front-End
Shopify has an intuitive front-end tech stack that enables front-end developers to create custom storefronts. In a line of latest developments, Shopify is promoting headless commerce by delineating frontend from its backend. This is done primarily through Hydrogen, its built-in toolkit for headless commerce.
Some of Shopify’s interactive client side tools include shopping carts, international pricing calculator, point of sale, landing page UI etc. Its tech stack is compatible with JavaScript libraries like React, Typescript, as well as HTML, CSS, for designing page layout, navigation menus etc.
Shopify's latest endeavors include Liquid (a template language to create custom Shopify store themes and templates), Shopify CLI (command in line interface tool to build its apps), and Polaris (a design system for Admin).
2) Back-End
Shopify has a robust collection of tech to power its behind-the-app aka backend operations and tasks. Its scalable and reliable infrastructure includes primitives, APIs, SDKs and other tools. They help store owners and developers to create customizable and fully-equipped store capacities for checkout flows, managing inventory and orders, processing sales etc.
In 2022, Shopify officially adopted Rust alongside Ruby to unlock high-performance systems programming. Historically, Shopify’s backend developers relied on languages like C and Go that are compatible with its Ruby Stack. Now, they have moved on to prioritize flexibility with Rust that enables integrations with next-generation web platforms like WeAssembly.
In another notable move, Shopify has democratized its backend interface for all developers with its Shopify Functions. It allows them to create custom code for Shopify’s backend logic, making it an open-source platform.
3) Database and Cloud Services
Shopify has traditionally used a relational database like MySQL and RDBMS to ensure scalability, durability, and security of its data. However, after having re-assessed its needs for global competency, zero network disruptions, and enhanced speed Shopify has embraced ‘pods’.
Pods create autonomous small packets of data-stores, each running its own processes. Shopify used Kubernetes and Docker for this. Recently, Shopify decided on going cloud-native to reduce cognitive load and cease the boundary between host and application containers. This case is specific to optimizing its code development platform.
4) Application Programming Interface (API)
Shopify is a powerhouse of APIs with high-performance caliber. It extends multiple backend and frontend use-cases with APIs, allowing store owners to interoperate with multiple platforms. Shopify’s APIs are built with GraphQL and REST frameworks and supports multiple client libraries like Node.js, PHP, Python, Ruby and Curl.
Shopify’s APIs are broadly classified into specific categories: marketplace, admin functions, payments, messaging, storefront etc. They trigger eCommerce capabilities like authenticate payments, add products to carts, enable smooth checkouts, serve discounts, send notifications, and more.
Shopify has developed specific APIs for creating customized store themes, dynamically updating content, and built for headless commerce. These APIs are Ajax API (with REST endpoint), Section rendering API (HTML markup) and Hydrogen (built on Remix).
5) Shopify App Store
Shopify App Store is the home to an epic collection of apps, amounting to some 8000 native and third-party applications. In 2018, Shopify revamped its app store with a brand new theme and neat classification of the apps it hosts. There are six main categories:
- Apps for finding products (specifically for dropshipping, print-on-demand services)
- Apps for selling products (for targeting sales, loyalties, subscriptions)
- Apps for order and shipping (for handling fulfillment, inventory, order tracking etc.)
- Apps for store design (for customize page, currency converters, pop ups)
- Apps for store management (customer support, help desk, FAQs)
- Apps for marketing and conversion (targeting email marketing, discounts)
Shopify has a comprehensive tech stack to assist developers in building, hosting and launching apps. Shopify primarily offers Ruby and Node scripts for writing the code base. Shopify CLI tool to assist with rapid app development and Polaris which is its official design system and UI kit. App builders can bill their products with Shopify’s GraphQL Admin API.
Must Have Apps in Your Shopify Tech Stack to Optimize Your Store
Here are a couple of third party tech applications that can optimize sales, logistics and customer engagement for your store:
1) For returns management- ClickPost Returns Plus
ClickPost Returns Plus is a specialized Shopify returns management solution. The app helps brands uplift customer loyalty and reduce churn rates by optimizing returns with the power of automation.
With the app, brands can create customizable and mobile-friendly branded returns portal configurable to their return policies. Alongside this, they can have a self-serve return portal in multiple languages, automatic email updates and in-depth analytical reports.
2) For personalized email marketing- Klaviyo
Klaviyo is an omnichannel marketing tool known for its personalized approach to customer communication via email and SMS. It possesses robust data-driven tools like data analytics for audience insights and A/B testing for email optimization. It can automate campaigns and craft tailored messaging for faster customer conversion.
3) For customer support- Zendesk
Zendesk is a well-known application for customer service and support needs. It offers automated customer support with tools like guided conversation, self-service support and AI bots. Zendesk enables store owners to trigger tailored customer messaging and IVRS calls for meaningful customer support.
4) For customer conversion- Justuno
Justuno is a customer engagement tool specifically designed for converting customers with email capture and popups. It has powerful marking and lead capture tools like banner ads, website messaging, in-page promotions, count-down timers and much more. Justuno helps best with recovering abandoned carts and increasing the average order value.
Conclusion
A tech stack determines the fundamentals of any business application and SaaS platform. Shopify’s tech stack steeped in Rails is the secret to its highly efficient and robust business infrastructure powering 10% of US commerce. We hope this article will help full-stack developers and brands have an up-to-date understanding of Shopify’ technology.
FAQs
1) What technology is Shopify built with?
Shopify is built with Ruby on Rails which is a complete web-app framework for frontend and backend development. Though Shopify continues its Ruby legacy, in the past few years, it has also started working with Node.js and Rust.
2) How can brands audit their Shopify tech stack?
Auditing Shopify tech stacks begins with understanding business processes and associated applications or APIs involved for it. Start with listing all the applications and technologies used for its associated business applications. Once done, send the list to the rest of the team to account for the apps and tools.