Live data from Hacker News

Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

sanity.io

1–10 of 31 posts

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#2
This feels like a CRUD app builder disguised as a visual programming tool. I generally avoid those things because they are hard to debug or extend.

Perhaps this is different because of GraphQL?

In this case, I would typically reach for a battle-tested CRUD building framework like Rails that gives you JSON APIs for free. I am not as familiar with GraphQL frameworks, but I suppose that I could find one as well if I really wanted that.

I am not really sure what people mean by "CMS" anymore. I have always thought of it as a place for people to create and publish pages. It is confusing to me when people use it to mean a structured database.

Maybe we need a new word.

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#4
post #2

This feels like a CRUD app builder disguised as a visual programming tool. I generally avoid those things because they are hard to debug or extend. Perhaps this is different because of GraphQL? In this case, I would typically reach for a battle-tested CRUD building framework like Rails that gives you JSON APIs for free. I am not as familiar with GraphQL frameworks, but I suppose that I could find one as well if I rea…

It seems like they have invented a new query language called GROQ that sites on top of GraphQL:

  https://www.sanity.io/docs/front-ends/what-about-graphql

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#6
post #5

THe value would in the "Studio" app which is the hardest portion to replicate (if it's well done). But I would prefer paying a license for the SDK and host the API myself than having to rely on a third party for something so crucial to a business.

Yep, I don't want to host the API myself but I want to know it's possible should the need arise, ala self-hosted Gitlab.

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#7
post #2

This feels like a CRUD app builder disguised as a visual programming tool. I generally avoid those things because they are hard to debug or extend. Perhaps this is different because of GraphQL? In this case, I would typically reach for a battle-tested CRUD building framework like Rails that gives you JSON APIs for free. I am not as familiar with GraphQL frameworks, but I suppose that I could find one as well if I rea…

Sanity.io designer / co-founder here. We've been discussing how to explain what Sanity is and stuck with “CMS” to give people an everyday use case, casting a new product category in something old. There's the term «Headless CMS», but that doesn't capture the data modelling and query capability well either.

And for sure, this way of thinking about content isn't new. People have been building bespoke relational databases with custom forms on top since forever. But it has been time consuming and also pretty hard to get totally right. It's free form in data structure, but expensive to change.

Many who haven't needed to structure content in the past need to do so now. Both given content reuse across touchpoints, but also to be able to easily shift your content over to other services as structured data.

So we built Sanity to make this fast and easy while not compromising on the experience for the editor: real-time collaborative work on structured, interlinked data.

BTW – In order to make extending the editing UI clean we've built a system for build-time dependency injection. This gives a non-crufty way to override and compose components: https://www.sanity.io/docs/extending/parts

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#8
post #2

This feels like a CRUD app builder disguised as a visual programming tool. I generally avoid those things because they are hard to debug or extend. Perhaps this is different because of GraphQL? In this case, I would typically reach for a battle-tested CRUD building framework like Rails that gives you JSON APIs for free. I am not as familiar with GraphQL frameworks, but I suppose that I could find one as well if I rea…

Sanity isn't a visual programming tool. You can write Sanity applications using JavaScript and whatever tech you want (React, Node.js, etc.).

To provide some background: Your typical modern web application typically revolves around a central CRUD API that you then build apps on top of. You'll typicall have a web app and maybe a native mobile app. But you also need an "admin app" that provides content editing, login, role-based security, and so on.

One option is to use an off-the-shelf CMS. These are almost invariably big, antiquated monoliths that want to be your entire technology stack. Most CMSes not only want to be the system for managing the content, they also want to do the delivery, through some kind of templating system that force you to write your application inside the CMS. I've never met a developer who likes their CMS.

Since CMSes suck so much, companies also very commonly roll their own content management from scratch, which means you spend an awful amount of time writing common stuff unrelated to your core app — database CRUD code, APIs, role-based security, and so on. Rails took off because it was so easy to define your data model and get the CRUD API off the ground. But you still have to do the admin UI; you still have to wire up all those forms, enforce data validation, build complicated things like photo upload and countless other things. And you have to do it all over again for the next app. No admin is reusable.

Sanity turns this upside down; it adopts a "data first" philosophy. First, you get a general-purpose data store for storing your content. It's an advanced document-oriented, transactional data store that comes with live change feeds, strict schema validation, and fine-grained permissions and an expressive query language called GROQ, which is reminiscent of (but different from) GraphQL. This data store replaces your ad-hoc CRUD API.

The second part is the Content Studio. This is a modern, extensible, customizable JavaScript framework that renders a content editing UI on top of the backend data. The UI has been designed from the ground up for the data store, and supports live collaborative, Google Docs-style editing. It's implemented in React.

So with those two building blocks, you get a way to store data and edit it, but Sanity leaves everything else to you. You can use whatever technology stack (Rails, PHP, Django, etc.) to develop your front end apps, as long as you use the data store.

Disclosure: I work on the Sanity open-source data store, called Gradient. However, I'm not directly involved in the Sanity project, so the above is just my personal perspective.

Re: Show HN: Sanity – A Headless CMS Construction Kit in JavaScript

#9
Architect + Technologist here.

When I saw the OMA and DS+R logos on your marketing site, I thought no way it's the Architecture firms...prob some niche technology companies in Europe.

But lo and behold, you guys did build their new websites! For the HN crowd, OMA and DS+R are at the top of the field...as a tech analog maybe comparable to Stripe and OpenAI.

I've been diving deep into the finding the right headless CMS and so far have found most either lacking or too expensive (Contentful anyone?). At the moment, hacking away at Netlify's React CMS, but it's a struggle.

Excited to check out your product especially since it's used for architecture firms I love and respect!

Post reply on HN