TECHNOLOGY RADAR

The technology radar presents our “blessed” technologies, and other technologies that may become some of our blessed technologies - and some that we explicitly want to avoid. We call it the Technology Radar like Thoughtworks and other tech companies just for familiarity.

image

The Four Rings

adopt

We use these when they are appropriate for the type of the project. We’ve used them extensively and they’ve proven to be very successful choices for the appropriate projects.

trial

Things nearly certain to be worth using at least in the future, and may end up replacing some of our adopted technologies. Can be used in new projects where the risk can be controlled.

assess

Worth exploring with the goal of understanding. Not yet for any customer projects.

hold

Things we’ve trialed and used, but we would not like to use them in new projects.

The Radar

image

Typescript

adopt

languages

We try to stick to a single language. We use Typescript for everything. We know many more, but regardless we’ll do everything with Typescript where it is good enough.

image

ReactJS

adopt

frontend

For Web and Mobile. We continue to assess other options as serious ones pop up, but nothing much better, and its ecosystem has ever shown up.

image

NodeJS

adopt

backend

Not much to say. We’re a JS shop and except Deno there aren’t any serious options.

image

NextJS

adopt

frameworks

websites

We use this for websites. It has the needed features like SSR, SSG, ISG, and a routing architecture which is a perfect fit for websites. No need to poke around with the build.

image

BlitzJS

adopt

webapp

frameworks

Fullstack JS framework. Built on top of React/NextJS/Prisma/Postgres. We use it as our “Ruby on Rails” for Web Applications. It’s mostly an opinionated collection of libraries on top of NextJS and incredibly productive.

image

Prisma

adopt

webapp

libraries

An ORM with excellent developer experience. It doesn’t abstract too much and produces efficient queries. Provides strict typing for all DB access and solid DB migrations. We use it to access Postgres.

image

Postgres

adopt

webapp

datastores

Databases come and go, except Postgres, it always stays because it is solid and extensible for most use cases.

image

Redis

adopt

webapp

datastores

Great for Caching and Queueing. Sometimes as a message bus.

image

Tailwind

adopt

webapp

website

styling

It’s easy to pick up. It has very little abstraction. It produces CSS as external style sheets which are important for Website projects.

image

Render.com

adopt

webapp

platforms

Similar to Heroku, but it’s moderately priced and will do the boring OPS work for us that repeats itself in every project. Let’s us create scaleable web apps with postgres + redis with prodution and staging environments and automatic deployments, distributed logging an in less than half a day.

image

Vercel.com

adopt

website

platforms

Serverless deployment platform. Great for websites when paired with NextJS. Global CDN. Automated website performance monitoring built in.

image

Figma

adopt

tools

UX/Design tool of choice. Good for communicating ideas.

image

React Native

adopt

mobileapp

frameworks

When Mobile, then React Native

image

Storyblok

adopt

website

datastores

Headless CMS with a Visual Editor. It’s extensible enough for most our use cases in websites and has among the best user experiences for content editors.

image

Sanity

adopt

website

datastores

Pairing Sanity with Shopify projects is a great choice because of their excellent integration.

image

Framer Motion

adopt

frontend

libraries

Modern, react-oriented, and battle-tested in our production-grade projects animation framework. Creating a bit more complicated animations with this tool feels like a breeze ;-)

image

Conventional 
commits

adopt

tools

The way we structure our commit messages (https://conventionalcommits.org/).

image

Hydrogen

adopt

e-commerce

frontend

frameworks

Released by Shopify enables you to build a custom, headless, and optimized-for-performance e-commerce experience. Greatly aligns with our company tech stack.

image

Remix

trial

website

webapp

framework

We’re trialing this. Remix architecture is brilliant in its simplicity due to it leveraging common web standards. We use it in our Shopify projects for admin apps and it's been working great. However, Next.js is still our preferred option. If BlitzJS adds support for Remix then we’ll likely take the plunge.

image

Vite

trial

webapp

website

tools

We usually don’t have a need to muck about with build tools since we always base our projects on frameworks that make the build tool choice for us, but Vite is on the radar when it’s not an option.

image

ThreeJS + React-Three

trial

website

libraries

We’d like to get deeper into web based 3d, specifically with React.

image

BunJS

trial

tools

New kid on the block. All-in-one Javascript runtime. It’s still in the early days but with great promise.

image

Oxygen

assess

e-commerce

platforms

Fastest way to deploy Hydrogen storefronts.

image

T3 App Stack

assess

webapp

frameworks

T3 getting a lot of attention and traction lately. We feel this might be the framework which potentially can replace Blitzjs, which currently feels a little bit stagnant at the moment.

image

Digital Ocen Apps

assess

website

platforms

After recent changes in Render pricing, we believe there are more affordable solutions available. We have heard great things about the Digital Ocean App Platform and are excited to give it a try!

image

Astro

assess

frameworks

website

We find Astro to be superior in certain use-cases, particularly when content is crucial and optimal performance is needed to satisfy SEO gods.

image

Chakra

hold

webapp

styling

We're putting Chakra UI on a little break for our Web Apps. It's been great, but there are some cool new ways to style apps popping up. Time to see what's out there and keep things fresh!

image

SolidJS

hold

website

frontend

frameworks

Keeping our eye on this if we’d get a specific use case, but its ecosystem is too minimal, nor does its advantages bring enough value considering its disadvantages in comparison to React.

image

VueJS

hold

webapp

frontend

We’ve trialed VueJS and deduced there is no reason to use it over React. For our engineers and projects, it’s worse in all regards.

image

Angular

hold

webapp

frontend

We’ve had to use Angular due to customer requirements. We no longer accept any projects from customers who require Angular.

image

Flutter

hold

mobileapp

frameworks

We’ve trialed this when the use case seemed to be a fit. We find it has too many rough edges and it diverges too much from our core JS foundation.

image

GatsbyJS

hold

website

frameworks

We consider GatsbyJS a great framework, but that other frameworks have driven past it, leaving it obsolete.

image

NestJS

hold

webapp

frameworks

backend

We rarely need pure backend frameworks. If we did, we’d explore other options before trialing NestJS again. E.g. Moleculer, AdonisJS, or just plain express.