Aaron Boodman's Avatar

Aaron Boodman

@aaronboodman.com.bsky.social

CEO rocicorp.dev. Building replicache.dev and zerosync.dev, raising two great kids, trying to be a better person. Also found at http://aaronboodman.com.

1,902 Followers  |  451 Following  |  299 Posts  |  Joined: 24.04.2023  |  2.0126

Latest posts by aaronboodman.com on Bluesky

Preview
Replicache: Framework for local-first web apps. Replicache is a client-side datastore and sync framework for building local-first web apps. It works with most backend stacks.

I would never aggressively push anyone to anything.

But Replicache is already in support only mode and has been for some time:

replicache.dev#status

We are a small team and can only work on one thing at a time. Our plan is to make Zero best option for majority of current Replicache users.

04.08.2025 06:32 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
King Medicine
YouTube video by Jets To Brazil - Topic King Medicine

Every so often I come back to this album and I just cannot process how beautiful the writing is:

www.youtube.com/watch?v=QEnb...

Both the lyrics and the music. The interplay between the lead guitar and the bass here is just gorgeous.

10.07.2025 09:39 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

We had a July 4 cookout, as is our tradition. One of big man's friends came and they sat in the water and talked pokemon and minecraft the entire time. I'm still smiling about this four days later.

09.07.2025 00:08 β€” πŸ‘ 12    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I am once again asking for your support in my bid to destroy all leaf blowers.

09.07.2025 00:04 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Same! See you at the next one!

27.06.2025 18:27 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
making-friends.md GitHub Gist: instantly share code, notes, and snippets.

I wrote this a few months ago and have been trying to figure out what to do with it.

Realized that bsky seems like the appropriate place to share:

gist.github.com/aboodman/db5...

26.06.2025 18:47 β€” πŸ‘ 21    πŸ” 1    πŸ’¬ 4    πŸ“Œ 1

Thanks!

02.06.2025 00:14 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Here’s a chonky boi. Dat THWACK when you close it tho. hnnnngh.

24.05.2025 16:07 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

I can’t explain it, but Germany has the best hardware in the world. I feel this way every time I visit.

Listen to the satisfying CLICK here. Omg 🀀.

Follow for more hardware porn as I encounter it on this trip…

24.05.2025 16:04 β€” πŸ‘ 16    πŸ” 0    πŸ’¬ 4    πŸ“Œ 0

Last year at Local-First Conf, we announced
@zero.rocicorp.dev to the world.

Now that it's real, I'm going to back to talk about how it's made.

Hope to see you there!

12.04.2025 17:27 β€” πŸ‘ 16    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I had not! Thanks for the pointer, will watch today!

26.03.2025 21:32 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yup it’s very early. We’ll get you eventually πŸ˜‰.

17.03.2025 20:22 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Zero Docs The official documentation for Zero by Rocicorp.

If you make a different query the data from the background query is used client-side to answer the new query instantly if possible.

This all happens completely automatically. Just by adding the ttl flag.

Learn more about Zero's query-based sync:

zero.rocicorp.dev/docs/reading...

17.03.2025 19:37 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is much different than normal caching because this data stays up to date.

If you make the same query again, the results will be *instantly* available *and already up to date with server*.

17.03.2025 19:37 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Of course that kind of sucks for the common case of doing a query, navigating, then pressing β€œback”. Ideally we want that to be fast.

To address this Zero 0.17 adds background queries. You can add a ttl to a query and it will keep running and syncing in the background.

17.03.2025 19:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It’s important to realize because of this syncing, Zero isn’t really a cache. It’s a replica. It’s eagerly replicating a slice of your database - the slice covered by the queries you have open.

So there's never stale data in Zero. When you close a query, we delete its rows so they don't go stale.

17.03.2025 19:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Zero’s sync engine is query-based. Rather than specifying what to sync with rules or some separate system, you use queries.

Right inside the client app, you do queries using a full sql-style language. You get filters, subqueries , limits, etc.

Zero syncs the data for these queries to the client.

17.03.2025 19:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Quick demo of Zero's new Background Queries

More information in thread below πŸ‘‡

17.03.2025 19:37 β€” πŸ‘ 18    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0
BILLY STRINGS  - "Slow Train" (Live at High Sierra Music Festival 2017) #JAMINTHEVAN
YouTube video by Jam In The Van BILLY STRINGS - "Slow Train" (Live at High Sierra Music Festival 2017) #JAMINTHEVAN

www.youtube.com/watch?v=d0Q3...

You are welcome.

11.03.2025 06:15 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Custom mutators will get you instant local feel with custom code on write path.

06.03.2025 16:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Zero Bugs Bug tracking with Zero.

That’s right! Anything you change in db via any path gets replicated to clients.

This is useful for integrating other non-sync systems with zero.

If your goal is to do custom logic on write path from *zero* app, we are adding custom mutators soon for this:

bugs.rocicorp.dev/issue/3045

06.03.2025 16:52 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
How About Tomorrow? | Aaron Boodman on Building Zero, Local-First, and Living in Hawaii Aaron Boodman joins us to chat about his tech journey from building Greasemonkey, working on Google Chrome, being obsessed with sync on the web, Replicache, to his new project, Zero.Links:The Expan...

Had a really fun time talking to @thdxr.com and Adam about @zero.rocicorp.dev, Replicache, and how (and why!?) I came to spend the majority of my career working on sync.

Hear the Rocicorp / Aaron backstory here:

tomorrow.fm/126

05.03.2025 20:04 β€” πŸ‘ 10    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

I have a close friend who runs search and rescue for the US coast guard in the pacific.

You can't see at first when a system breaks down. A stress of some kind is required to show that it has hollowed out from inside.

Let's just say now is not a good time to need help at sea.

05.03.2025 04:24 β€” πŸ‘ 18    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

And yes, the computation is incremental. Simple edits only do O(1) work.

25.02.2025 07:53 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It keeps some intermediate on-disk state, yes. You can read more about the general approach here: www.vldb.org/pvldb/vol16/.... We did not actually use DBSP but were inspired by it and do some similar techniques.

25.02.2025 07:42 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Zero is currently in alpha but it's maturing fast. We already have a few customers in production :).

There's some really cool stuff coming up feature-wise and from there we plan to go to beta over the summer.

Curious? Adventurous? Learn more at zerosync.dev.

25.02.2025 06:22 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
Zero Bugs Bug tracking with Zero.

Try it out yourself:

bugs.rocicorp.dev

We made our own Linear-style bug tracker with Zero as a dogfood, and have used it as our actual bug tracker for months.

25.02.2025 06:22 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Client-Side Prediction and Server Reconciliation - Gabriel Gambetta

And, because the data is local, you can *mutate* it. Zero provides a synchronous local write API. Write directly to the client-side data and the UI updates *instantly*. Changes are synced to the server in the background. Conflicts are resolved with www.gabrielgambetta.com/client-side-....

25.02.2025 06:22 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

The end result is a really fun way to build web apps.

You do a query direct from the client. Zero answers the query and keeps it up to date efficiently.

But better, if you do another query that overlaps with the first, Zero reuses the already synced data to answer the new query ✨instantly✨.

25.02.2025 06:22 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Feldera: The incremental computing engine for AI, ML and data teams Feldera is a fast query engine with the unmatched ability to evaluate arbitrary SQL programs incrementally, over any number of live and historical data sources.

IVM has been an area of active development in backend databases, most recently by projects like www.feldera.com and github.com/mit-pdos/noria.

We took these same ideas and applied them to sync.

25.02.2025 06:22 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@aaronboodman.com is following 20 prominent accounts