<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x" -->

---
title: Evolutionary Data Through Schemaboi: Achieving Forward,...
description: Seph Gentle presented an experimental data format called schemaboi at a local-first software conference, arguing for self-describing schemas embedded directly...
canonical: https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Evolutionary Data Through Schemaboi: Achieving Forward, Backwards, and Sideways Compatibility | daily.dev
og:description: Seph Gentle presented an experimental data format called schemaboi at a local-first software conference, arguing for self-describing schemas embedded directly...
og:url: https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x
og:image: https://api.daily.dev/og/posts/VNkOX1I6x.png
og:image:alt: Evolutionary Data Through Schemaboi: Achieving Forward, Backwards, and Sideways Compatibility
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Evolutionary Data Through Schemaboi: Achieving Forward, Backwards, and Sideways Compatibility

**[InfoQ](https://daily.dev/sources/infoq)** · 3 min read · 0 upvotes · 0 comments

## Summary

Seph Gentle presented an experimental data format called schemaboi at a local-first software conference, arguing for self-describing schemas embedded directly in file headers. Unlike Protocol Buffers or Cap'n Proto (which require pre-shared schemas) or JSON (verbose and weakly typed), schemaboi stores the schema in the first bytes of every file and merges it with the application's internal schema at read time. The format supports forward, backward, and a newly defined 'sideways' compatibility — allowing independent developers to add fields without central coordination, using globally unique field identifiers to prevent collisions. Unknown fields are preserved rather than discarded, missing fields get defaults, and benchmarks show the format is smaller and faster than JSON. The project is implemented in Rust and remains experimental.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.infoq.com/news/2026/07/durable-document-schema>

## Similar posts on daily.dev

- [Schema evolution in distributed systems: compatibility guide](https://daily.dev/posts/schema-evolution-in-distributed-systems-compatibility-guide-atrr8tqnp) · Curiosum · 0 upvotes · 0 comments
- [A modern alternative to Protocol Buffer](https://daily.dev/posts/a-modern-alternative-to-protocol-buffer-k1dw3nil7) · Hacker News · 28 upvotes · 3 comments

---

Tags: [#rust](https://daily.dev/tags/rust), [#local-first](https://daily.dev/tags/local-first)

[View this post on daily.dev](https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Evolutionary Data Through Schemaboi: Achieving Forward, Backwards, and Sideways Compatibility","url":"https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x"},"datePublished":"2026-07-14T08:28:35.079Z","dateModified":"2026-07-14T11:55:20.835Z","description":"Seph Gentle presented an experimental data format called schemaboi at a local-first software conference, arguing for self-describing schemas embedded directly...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/99dcad689a7144d20ecb6f7766c14680?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/99dcad689a7144d20ecb6f7766c14680?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"InfoQ","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"InfoQ","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/afc3bced3e1e4b188dd9127017a60e0c","url":"https://daily.dev/sources/infoq"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/evolutionary-data-through-schemaboi-achieving-forward-backwards-and-sideways-compatibility-vnkox1i6x","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"rust,local-first","timeRequired":"PT3M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"InfoQ","item":"https://daily.dev/sources/infoq"},{"@type":"ListItem","position":3,"name":"Evolutionary Data Through Schemaboi: Achieving Forward, Backwards, and Sideways Compatibility"}]}
```

