APIs, protocols and data formats · Bytes and shapes
Data formats-style app
Illustrative system design for a bytes and shapes app like Data formats: 3 topics to read, from requirements to deep dives.
Illustrative design, not Data formats’s actual implementation. Arrowbox is not affiliated with Data formats’s owner. Disclaimer
Start with JSON Sign in to start readingUpdated 2 Oct 2026
Core
Every browser speaks it and every human can read it, but JSON has only six types. Integers past 2^53, dates, missing vs null and parsing a large body on the main thread are where frontends get hurt.
Encode field numbers and compact integers instead of repeated key names and digits. Payloads shrink and parse predictably, at the cost of needing the schema to read them and being unreadable in DevTools.
Not everything is one JSON object: forms have their own encodings, files should travel as raw bytes rather than base64, and long results can arrive as a stream of small records the page renders as they come.