Hello, internet!

I'm Simeon, Principal Educator @ building and publishing Sanity Learn.

I made a Tailwind CSS Palette Generator that people seem to like.

I like talking. I use stuff.

🇦🇺 in 🇬🇧

Mastery is underrated


In any sufficiently crowded market, there is always the opportunity to be the absolute best at your thing.

An opinionated guide to Sanity Studio

Updated 2024-07-04 | Published 2024-04-30

Posted on Exchange

Sanity Studio is an incredibly flexible tool with near limitless customisation. Here's how I use it.

Create a document form progress component

Updated 2023-04-22 | Published 2023-04-22

Posted on Exchange

Summarise form progression by decorating the entire editing form for a document with a component loaded at the root level.

Create richer array item previews

Updated 2023-04-22 | Published 2023-04-22

Posted on Exchange

Object types use a preview property to display contextual information about an item when they are inside of an array; customizing the preview component can make them even more useful for content creators.

Create a time duration object field

Updated 2023-04-28 | Published 2023-04-22

Posted on Exchange

Delight your content creators with intelligent inputs for more complex data structures

Create a survey rating number field input

Updated 2023-04-22 | Published 2023-04-22

Posted on Exchange

Give content creators quick access to valid values by replacing the default number field input with a list of options.

Create a visual string selector field input

Updated 2024-03-22 | Published 2023-04-22

Posted on Exchange

Go beyond a plain radio list of inputs by giving authors more contextually useful buttons to select values from.

How to implement Multi-tenancy with Sanity

Updated 2023-03-23 | Published 2023-03-23

Posted on Exchange

In this guide, you’ll see how Sanity separates organizations, projects, datasets, and members by working through a hypothetical example of a growing company that can expand its content model as they grow – without needing a complete overhaul.

Add Vercel Analytics to a Remix Application


Vercel offers simple, privacy-focused analytics and web vitals data. These can be instantly set up on Next.js and other frameworks. It's a little extra work for your Remix app, but worth it.

Bridging the developer-author gap


In a content-editable website project, the people involved are two separate and yet equally important groups. The developers who build websites, and the authors that populate them with content. These are their stories.

Prioritise content over components

Updated 2023-11-28 | Published 2022-10-03

Visually, components are unique, flexible units to compose complete layouts. For content, they can trap reusable data into single-use decorations.

Creating a Parent/Child Taxonomy

Updated 2023-07-06 | Published 2022-03-04

Posted on Exchange

Create common taxonomy schemas like Categories and Tags with parent/child relationships

How to ask for things with Loom


Almost all forms of communication are an "ask" of some kind. Even if you’re not asking for some "thing". At a minimum you're asking the other party for their time.

Backup Sanity to AWS S3


Headless CMS's are refreshingly "set and forget". But if the Risk Management Department needs to be satiated by having your own backup solution, it's easy to do.

The guide to useEffect() I wish I had


If you're relatively new to React, Hooks aren't new, they simply exist. And to understand the useEffect() hook is to almost entirely understand React Components.

Sanity Schema Generator

Updated 2020-06-18 | Published 2020-06-09

Trying my hand at adding to the the Developer Experience of Sanity.