We just shipped mermaid rendering with @kepano's Pele for the @sanity_io engineering blog!

Before we had to do a "hack" where we had to open the post in the editor and let the the DOM render the mermaid diagram and save the snapshots. Which ment we couldn't fully rely on edits e stuff.

Now we can just add the mermaid source and it renders on the server with our fonts and color tokens.

Integrated with the Portable Text Editor, of course.

Check it out in action here sanity.io/engineering/ho… and check out Pele here github.com/obsidianmd/pele
5
1
8
792
did anyone refactor wordpress to rust yet?
0
0
1
200
knut retweeted
TypeScript 7.1 Content Mapping + @sanity_io = typed GROQ query results and params 😍 github.com/sanity-labs/gr…
1
2
5
328
did anyone yet build an app that uses a decisions model to decide if a demo is a hotdog or not demo or not?
The Decisions API is now generally available!

To celebrate, I had Codex reimagine a very important app… 🌭
0
0
1
370
knut retweeted
bespoke agents, with bespoke knowledge bases, bespoke instructions, bespoke tool-sets, and of course, bespoke routing with Jev

make your goon your very own!
It has been interesting to see all the applications of @typesafeai's Jev at @sanity_io.

Like our new internal agent harness which allows anyone in the company to quickly spin up a bespoke agent. Jev is used for the router and has worked pretty well so far!

We (@rostimelk, @even, and I) wrote up an in-depth post about how it's built so you can do it too.

sanity.io/engineering/ho…
5
3
88
18,094
It has been interesting to see all the applications of @typesafeai's Jev at @sanity_io.

Like our new internal agent harness which allows anyone in the company to quickly spin up a bespoke agent. Jev is used for the router and has worked pretty well so far!

We (@rostimelk, @even, and I) wrote up an in-depth post about how it's built so you can do it too.

sanity.io/engineering/ho…
1
4
26
18,408
the P in PHP stands for "Puh"
0
0
1
458
knut retweeted
We built [at]s, our own internal agent harness, with Sanity as the backend. 70+ agents in Slack, most of them built in a single afternoon.

Each part lives where it belongs:
→ Agents are documents in a Sanity Studio. Edit, publish, and it’s live.
→ Facts live in Knowledge Bases, compiled from sources like our intranet.
→ Skills live in their own Studio, shared across harnesses.
→ Tools live in code, merged by pull request.

Fix a fact once, and every agent that reads it gets the fix. Retire an agent, and nothing it knew is lost.

sanity.io/blog/in-defens…
4
1
8
614
knut retweeted
We wanted the agent on our Everything *[NYC] event site to do more than just answer event questions.

The site, blog, docs, and swag store are all separate Sanity projects. Each one feeds a Knowledge Base in Sanity Context, and the agent reads them all through a single Context s it down in the full session. Watch it, then try Knowledge Bases (in beta). go.sanity.io/Rj27rKn
1
2
4
528
now show me a demo of how it is to be inside of a kick-flipping car

(with children eating cookies in the backseat)
0
0
1
226
polygonal bounding box support when @typesafeai ?
0
0
2
304
Is there any actual proof that "de-slopping" skills like this actually work? I have done the same exercise many-a-time for the last couple of years with limited success.

Slop is more than em-dashes (gone in opus 5.5 btw) and terms like "delve" and "seamless." AI-generated content is also recognized by document structure, how arguments are laid out, formatting (or the lack of; looking at you absent H3s), all the way down.

Sure, harder to spot in short copy, but you'll definitively spot it in longer prose.

LLM-generated content is an onion, not a banana.

And pouring a huge .md file into your context can't be good either (especially when the labs tell you to shave off skills and instructions for their capable models).
Introducing epstein.md 👋

A 927,400+ Character .MD File that's specifically trained to skip every vibe coded AI Slop design principle.

- no box shadows
- no emojis
- no '🟢 LIVE ' badges
- 0 blue/purple gradients

& religiously ignores 350 most common AI words (delve, vibe, seamult of 11 months of 8 hrs/day Twitter doomscrolling and constant additions to the codebase of our vibecoding ui.

Wholeheartedly hoping this finds the most design-needy indie hackers.
2
0
0
324
All I know is that a good chunk of these companies uses @sanity_io for their content; so their taste must be great.
Who are the most tasteful companies in tech?

Vote now: cosign.co/questions/high…
0
0
7
399
Jev got 👀 📐🖼️ now!

Multimodal Jev and a new bounding box type from @typesafeai launched today as early access aka "dreamer mode" aka `typesafe_danger_zone`.

Took me about 10 minutes to integrate it with @sanity_io for automatically setting hotspot and crop based on your , this is actually useful, not just a fun demo.

How it works:

I have a Sanity Function that trigges on draft changes to only the `focus` and `image` fields (that way it works when agents work with content via mcp/api too).

Since Sanity has an image transformation pipeline, we can send downscaled optimized images to Jev without burning through the very cheap tokens too fast.

Then it asks Jev three things in one request:
→ Is it there? (yes/no)
→ Where is it? (a box)
→ Is everything around it plain background? (yes/no)

Jev's box comes back as fractions of the image. Sanity stores hotspot and crop as fractions of the image. So the integration is arithmetic, and code decides what to write, not the model. That is really cool.

Bonus: lint rules can look at images now. "Does the cover fit the post?" A photo of a pile of board games scores 3% on a post about agents. On a post about five best casual party games, the same photo gets 81% and passes. Fair.

Cost of the demo including experimentation: $0.04.
5
2
26
3,078
Replying to @kmelve
@typesafeai @sanity_io You can also read more about our early Jev-testing here—we're exploring multiple ways to use it for our product offering. More deep dives to come!

sanity.io/engineering/th…
0
0
0
98
Replying to @kmelve
@typesafeai @sanity_io You can also use Jev to validate if the alt text for an image in your CMS actually describes the image.

Or even if the image vibes with the rest of your content.
0
0
1
143
breaking news: beta of jev image support is coming in typesafe_danger_zone mode
16
0
4
520
Replying to @kmelve
Jev got 👀 📐🖼️ now!

Multimodal Jev and a new bounding box type from @typesafeai launched today as early access aka "dreamer mode" aka `typesafe_danger_zone`.

Took me about 10 minutes to integrate it with @sanity_io for automatically setting hotspot and crop based on your , this is actually useful, not just a fun demo.

How it works:

I have a Sanity Function that trigges on draft changes to only the `focus` and `image` fields (that way it works when agents work with content via mcp/api too).

Since Sanity has an image transformation pipeline, we can send downscaled optimized images to Jev without burning through the very cheap tokens too fast.

Then it asks Jev three things in one request:
→ Is it there? (yes/no)
→ Where is it? (a box)
→ Is everything around it plain background? (yes/no)

Jev's box comes back as fractions of the image. Sanity stores hotspot and crop as fractions of the image. So the integration is arithmetic, and code decides what to write, not the model. That is really cool.

Bonus: lint rules can look at images now. "Does the cover fit the post?" A photo of a pile of board games scores 3% on a post about agents. On a post about five best casual party games, the same photo gets 81% and passes. Fair.

Cost of the demo including experimentation: $0.04.
0
0
1
37
Replying to @kmelve
Models are available on the API now.
0
0
0
14
Replying to @kmelve
uh, you can also give the state a sequence of images and ask about it
0
0
0
14