Jacco Meijer
Blue water bubbles

Contentful, Netlify and Gatsby four years later

What did we learn from using Contentful for four years?

First project

Contentful

In 2018 we used Contentful for a web based rental platform. The project ran with Next.js in a Docker container on Kubernetes.

Perfect team

Not much later, when GatsbyJs adopted Relay's graphql tag we switched from Next.js to GatsbyJs. At the time, Netlify gained popularity because of popular git based workflows and static site generators like GatbsyJs.

We learned that Contentful, GatsbyJs and Netlify made a perfect team.

Three logos: Contentful Gatsby Netlify

Four years later

Anno 2022 the perfect team is still here. Each service improved, but overall the services remain the same.

Modeling content

Having used Contentful for four year we learned how to use the service efficiently. We learned how to model content.

Number of models

Working on that first project in 2018 we found that the maximum number of models that could be defined in Contentful was too limited. We based our models on a combination of objects and their visual representation.

For example, we defined three models for displaying car objects: car, car-listing and car-section.

This made sense from the visual representation. The full overview of a car, a list of cars and the 'call to action' for a specific car. For the full site we needed 21 models.

Less models

For this site 6 models are used. That is because this is a simpler site, because we define our models more efficiently and also because of the Contentful Rich Text Editor that was introduced in 2018.

Next

Part of the efficient model definition is adding a 'variant' field to a data model. The post below is about how this reduces the number of models.

Content modeling with variants

The efficiency of a variant field in a content model.


NPM7 and @npmcli/arborist

@npmcli/arborist is a powerful library that handles the new npm 7 workspaces. This blog is about a simple make tool that uses the library.

Comparing React app, Nextjs and Gatsby

A new React project starts with a React toolchain. Main tools in the chains are SSR, React server components and GraphQL.

Versioning strategy for npm modules

It is important to be able to bump the version of a npm package without side effects.

React component themes and CSS variables

Creating React components with flexible themes by using CSS variables.

Content modeling with variants

The efficiency of a variant field in a content model.

Green oil

Documentation

Documenting a software project is challenging. Here's a few simple guidelines that help a team writing clear documentation.

Orange yellow oil

On Javascript transpilers, bundlers and modules

There's Javascript transpilers, modules, bundles and bundlers. This is a brief overview of all of these.

Dark orange bubbles

Javascript history

In 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC. Inspired by Java, Scheme and Self Brendan Eich created Javascript in 1995.

Blue waves

Agile Scrum

The Agile Scrum framework is flexible enough to be used in many different ways. Here's one way of working.

Blue water bubbles

Contentful, Netlify and Gatsby four years later

What did we learn from using Contentful for four years?

Wheelroom hero image

What happened to Wheelroom?

Founded in 2018. Started to fly in 2020 and abandoned in 2021. What happened?

Orange oil

Typescript interface for React UI components

How to define an interface for React UI components that prevents breaking changes.

Orange green oil

Naming React components

What's in a name? A clear naming strategy helps developers communicate. Most devs rather spend time writing component code than wasting time on a good component name.