Watch and subscribe to Code && Content, our new podcast

A Vibrant Ecosystem

We’re doubling down on how we deal with the wider ecosystem of product extensions through our effort on Applications.

Published

  • Even Westvang

    Even Westvang

    Co-founder and product person at Sanity

Sanity.io is a platform and we want for everyone to build on it. This means it both needs to be delightful for setting up that little blog for your friends on a Wednesday afternoon while also serving as a single source of enterprise truth a billion times every week (yes, actually).

Sanity itself is exposed to as a set of APIs. Either hosted APIs for the Content Lake or the APIs that can be used to extend the Sanity Studio user interface. The APIs are great. You can build just about anything. But that doesn't mean that you have the time to do it, or that we think you should.

As we've gradually uncovered what our community and our customers need we've shipped plugins and product extensions for common needs. Need to connect to Next.js? Sure, here’s a package that does sub-second previews for editors as they type. Need to transform Portable Text to React components? Just yarn add block-content-to-react. Need fast video hosting for your project? Install this custom input for Mux.

Since we launched we, our community, and our partners have been shipping open source plugins, extensions, and libraries that make Sanity easier to use. 100.000 developers have tested the platform till now. We're confident one reason for this is the excellent tooling for popular frameworks and uses.

A sanity studipo and backend surrounded by services

After raising a Series B earlier this Fall we’re step changing our organization. As a part of this effort we’re now doubling down on our efforts to grow and extend the ecosystem of libraries and services that live on the other side of our core APIs.

The new Applications team has responsibility for three main areas: Integrations, Extensions and First Experiences. Here’s a quick guided tour to each of them.

Integrations

Sanity needs to be easy to use with popular frameworks and services. We’ve gotten to know quite a few people behind many of them, and it’s our job to make sure that Sanity is the best content platform for delivering to them. Can we make low latency real-time updates happen for preview? Editors would love that. How about the A/B-testing and optimization that marketers need?

Similarly we have integrations with partners – some people prefer third party digital asset management to ours so they can of course use Cloudinary or Bynder. Need Transifex or Smartling for translation?

Along with DevRel and Support we make sure to follow signal on tickets and requests across our repos and community channels to make sure we can improve the libraries people are asking for. Ideally common operations should be simple and uncommon operations should be possible.

Extensions

Sanity follows a different product philosophy from most other content management products. Content management is all about specific workflows, and since our competitors need to ship the same product to everyone they soak up features for every “important” usage they come across. All these features need to be surfaced to users. So in trying to solve everything for everyone you end up with software that’s hard to use and that doesn’t really work well for anyone.

We believe strongly that we can solve the same with high-level orthogonal APIs and the ability for developers to shape our components into what makes the most sense for their users. A micro kernel of services and APIs that creates efficient simple user interfaces that are on-point.

An example: by default Sanity ships a minimal DAM. Just an image grid. When working on a fashion magazine for Condé Nast, Robin Pyon built his own digital asset management system. In the latest revision it has batch uploading, faceted search, editing of asset-level metadata, and a host of other features. Robin now works with us and was one of the first hired on this team.

An image grid with from a digital asset management system
Robin's DAM displaying the Sanity.io media library

Other examples of the extensions to Sanity would be the Unsplash asset source that lets editors directly access their imagery from within the UI. Or Scheduled publishing that allows editors to set a date for when a post is to ship.

First Experiences

In addition to this the Applications team has responsibility for the first code that our users touch. This can be starters, but also tooling for import and export from other systems and library code to transform data structures. If you have 4000 blog posts in markdown with MDX we should be really helpful in assisting on getting that over to Portable Text for you.

Nicl DiMatteo's Hull.dev Shopify Starter. Get it on sanity.io/get-started
Nicl DiMatteo's Hull.dev Shopify Starter. Get it on sanity.io/get-started

Growing the Applications team

The code that lets developers and organanizations quickly pick up Sanity and put it to efficient use ultimately decides how new users experience Sanity.io. It decides the match between platform capabilities and enteprise needs. Whether novice users can pick up the product and ship their first project. So we're building out a team of technologists and designers to take care of these experiences.

Applications is run by me, Even. I'm one of the co-founders of Sanity.io. I took care of Product till our Series A and marketing till our Series B. I will be hiring for this team throughout 2022. If you’re interested my DMs are open.