41554 blogs · [
{
"id": "01a087e6-9b1a-7328-a49b-f4a34a0ca1cf",
"title": "The Heap is Just a Document: How Stof Actually Works",
"url": "https://stof.dev/blog/how-stof-actually-works",
"published_at": "2026-08-17T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34a91ffeb",
"title": "The Part of Your App You Can Hand to Something You Don't Trust",
"url": "https://stof.dev/blog/safely-edit-app-state-with-ai-agents",
"published_at": "2026-07-23T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34b61229b",
"title": "How to Safely Give AI Agents New Tools at Runtime",
"url": "https://stof.dev/blog/safely-give-ai-agents-new-tools-at-runtime",
"published_at": "2026-07-17T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34b8b79f0",
"title": "The Problem With JSON Schema (And What We Did Differently)",
"url": "https://stof.dev/blog/the-problem-with-json-schema",
"published_at": "2026-07-03T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34bbe15cd",
"title": "What Is a Data Runtime?",
"url": "https://stof.dev/blog/what-is-a-data-runtime",
"published_at": "2026-07-02T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34c68ecdb",
"title": "The Origin of Stof: From CAD Software to a Data Runtime",
"url": "https://stof.dev/blog/origin-of-stof",
"published_at": "2026-07-01T00:00:00+00:00"
},
{
"id": "01a087e6-9b1a-7328-a49b-f4a34d307112",
"title": "We Deserve Better Than JSON as a DSL",
"url": "https://stof.dev/blog/we-deserve-better-than-json-as-a-dsl",
"published_at": "2026-03-30T00:00:00+00:00"
}
] posts Claim your blog