diff --git a/src/pages/blog/update-00.mdx b/src/pages/blog/update-00.mdx
index bfbbfe8..537ff05 100644
--- a/src/pages/blog/update-00.mdx
+++ b/src/pages/blog/update-00.mdx
@@ -17,7 +17,7 @@ IDK my brain is so fried from talking to Claude all day.
## Hop-based Routing
-Now you can connect relays to each other however you desire.
+Now you can [connect relays to each other](https://doc.moq.dev/bin/relay/) however you desire.
They'll gossip available broadcasts to each other and proxy any subscriptions automatically via the shortest path.
For example, I can host a relay in Denver and configure it with:
@@ -47,17 +47,17 @@ Your local relay (snug behind a firewall) can proxy all broadcasts to/from a pub
moq-relay --cluster-connect https://cdn.moq.dev ...
```
-It'll work with any MoQ CDN that implements enough of the `moq-transport` spec (*cough* not Cloudflare yet *cough*).
+It'll work with any MoQ CDN that implements enough of the [`moq-transport`](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) spec (*cough* not Cloudflare yet *cough*).
But you'll need `moq-lite-03+` to establish multiple connections, otherwise a cycle will ruin your day.
## Standards
Speaking of standards, the IETF keeps marching forward, so I have to "support" every new draft version lul.
**Supported:**
-- moq-transport drafts 14-18.
-- qmux drafts 00-01
-- msf drafts 00-01
-- loc draft 01
+- [moq-transport](https://datatracker.ietf.org/doc/draft-ietf-moq-transport/) drafts 14-18.
+- [qmux](https://datatracker.ietf.org/doc/draft-nandakumar-moq-qmux-moqt/) drafts 00-01
+- [msf](https://datatracker.ietf.org/doc/draft-ietf-moq-msf/) drafts 00-01
+- [loc](https://datatracker.ietf.org/doc/draft-ietf-moq-loc/) draft 01
It takes forever to litigate every single addition/change in the IETF.
I'm trying my best [to publish extensions](https://www.ietf.org/archive/id/draft-lcurley-moq-probe-00.html), but it's such a drain on my time.
@@ -73,7 +73,7 @@ moq-lite-05 is coming SOON with more stuff.
My philosophy is that we should **not** transmit arbitrary media formats over MoQ.
It's possible to [transmit TS over MoQ](https://www.ietf.org/archive/id/draft-gregoire-moq-msfts-00.html) verbatim, but then every player/subscriber needs to decode Transport Streams (gross).
-Instead, `moq-mux` is our transmuxing layer.
+Instead, [`moq-mux`](https://doc.moq.dev/lib/rs/crate/moq-mux.html) is our transmuxing layer.
We can import/export other formats without re-encoding, preserving the intent but not the original structure.
[Here's the codecs we support](https://github.com/moq-dev/moq/tree/main/rs/moq-mux/src/codec):
@@ -100,7 +100,7 @@ Your precious SCTE35 markers are preserved.
ur welcome
## CLI
-Note that `moq-mux` is available as both a library and a CLI via `moq-cli`.
+Note that `moq-mux` is available as both a library and a CLI via [`moq-cli`](https://doc.moq.dev/bin/cli.html).
```bash
# Publish: pipe in a MPEG-TS file
@@ -122,6 +122,32 @@ You can download all of the moq binaries (`moq-relay`, `moq-token`, etc) from yo
Cool I guess?
+## JSON
+MoQ isn't just for media.
+
+[`@moq/json`](https://github.com/moq-dev/moq/tree/main/js/json) publishes arbitrary JSON over MoQ tracks.
+The first frame in each group is a full snapshot, then subsequent frames are [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396) deltas.
+A late joiner just grabs the newest group and they're instantly caught up.
+
+And [`@moq/flate`](https://github.com/moq-dev/moq/tree/main/js/flate) layers group-scoped DEFLATE on top.
+Each frame reuses the earlier frames as a compression window, so a stream of similar payloads (like a snapshot followed by deltas) squishes down real nice.
+
+I ran a [telemetry benchmark](https://github.com/moq-dev/moq/blob/main/rs/moq-json/examples/telemetry.rs) over a stream of JSON sensor snapshots:
+
+| Configuration | Bitrate saved |
+| ---------------------------------------- | ------------- |
+| DEFLATE only (no deltas) | 39% |
+| JSON Merge Patch only | 58% |
+| JSON Merge Patch + DEFLATE per frame | 72% |
+| **JSON Merge Patch + DEFLATE per group** | **91%** |
+
+Deltas + compression stack into a ~12x reduction on the wire.
+
+And the compression *window* matters: sharing one DEFLATE window across a whole group beats compressing each frame on its own (91% vs 72% saved, ~3.3x smaller), since every frame gets to reuse the ones before it.
+
+stack 'em.
+
+
## Backends
We've used Quinn for the longest time, but now you can use other QUIC backends!
Why? IDK different features and performance.
@@ -150,14 +176,14 @@ It's still Media over QUIC even if QUIC is not used...
Claude made the web UI look better.
tfw an AI has better taste than me.
-Clone the repo and run `just dev` to see:
+[Clone the repo](https://doc.moq.dev/setup/) and run `just dev` to see:

he a sniffer
-You can use the UI on your own site via the web components:
+You can use the UI on your own site via the [web components](https://doc.moq.dev/bin/web.html):
```html