Last updated · 29 October 2024

Tech stack

We’re not locked into a specific tech stack; we embrace new technologies and adapt as needed. While the industry tends to chase the latest trends, we aim to strike a balance. We recognise that using modern, trending technologies can boost motivation, but sometimes, those shiny new tools aren't the best fit for the task at hand.

Trust us, you’ll have opportunities to learn and experiment rather than rely on the same tools repeatedly. However, we have our staple technologies: on the Front-end, we use SvelteKit, React, React-Native, and TypeScript. For the Back-end, our stack includes Python, Elixir, Docker, and PostgreSQL.

SvelteKit

Though relatively new, we've been shipping production products using SvelteKit since late 2022, including the very website you're browsing now—check out the source code. We believe you'll enjoy working with Svelte and SvelteKit, as it offers a great developer experience. It simplifies and reduces boilerplate found in other frameworks, making it much closer to the DOM.

React

React has been our go-to framework and a cornerstone of our development expertise. While it remains an industry leader, we’ve started favouring Svelte for new projects. However, we still build products with React, as it’s a powerful tool.

We’ve extensively utilised Next.js for server-side rendering, enabling us to create accessible and fast applications. Although the community around React has become a bit fragmented recently, we recognise its value and won’t overlook its importance in our stack.

React-Native

We use React-Native to build cross-platform, native applications. It allows us to bring our designers’ fantastic designs and animations to life, enabling us to create beautifully detailed UIs that we take pride in.

While React-Native differs from React for the web, its similarities make it easier for our developers to adapt and adopt compared to using lower-level technologies.

TypeScript

We incorporate TypeScript across most of our Front-end stack, using it in projects built with Svelte, React, and React-Native instead of vanilla JavaScript. TypeScript enhances our quality assurance during application development. While it may slow down development speed at times, we’ve found it incredibly beneficial, and it significantly improves our workflow.

Python

Fact: Python is the industry standard and the most popular language outside of JavaScript. We’ve extensively used it to build a wide range of products, including scripts, CLIs, and REST and GraphQL APIs.

Known for its readability, Python is easy to maintain and widely understood. It boasts a large community, offering an array of tools to tackle almost any task.

Elixir

We love using Elixir, a high-level functional language built on top of Erlang. It’s a niche technology with well-defined patterns and a close-knit community, contributing to its effectiveness.

We primarily use it to build Back-end APIs that connect to online services and databases. However, its niche status can pose challenges, as it’s not widely known, making it harder to find developers familiar with it and to convince clients to adopt it.

Docker

All our Back-end applications are containerised, thanks to Docker. This approach allows us to create replicable and isolated environments, which is essential for our development process. For more insight into why we prioritise these environments, check out Software environment.

PostgreSQL

PostgreSQL is our preferred choice for an SQL database. It offers excellent ACID guarantees that let us focus on building without worry. It handles any load and scales impressively. While it may not support high-throughput global applications indefinitely, we believe in avoiding premature optimisation, making it a great fit for most of our needs.

And that’s all, folks!