I Shipped...

3 November 2025 (1PR)

an update to our docs clarifying that Jazz deduplicates loads under the hood

Jazz intelligently de-duplicates loads, meaning that each part of an application can load exactly what data it needs without worrying about what is loaded elsewhere in the app. The user will not pay a performance hit because only the extra data which is not already loaded will be fetched, and the existing loaded data will not be reloaded.

1 November 2025 (2PRs)

git_ui: Give visual feedback when an operation is pending

Zed is a high-performance code editor. When you made a Git commit from within Zed's built-in Git panel, there was no visual indication that anything was happening if it took a moment. Users would sometimes click the button repeatedly, thinking it hadn't worked. I changed the button text to appear dimmed while a commit is in progress, so you can tell it's working.

an enhancement to the 'commit' button

I was getting annoyed with Zed not showing any feedback when I tried to commit changes using Cmd+Enter. I made the button appear greyed out when there's a commit operation pending.

30 October 2025 (3PRs)

an extension to our Cryptography docs and FAQ clarifying our understanding of the legal status of Jazz's encryption algorithms

In Jazz, we use three main cryptographic algorithms: XSalsa20 for encrypting data, BLAKE3, for calculating a rolling hash of appended operations, and Ed25519 for signing the hashes. These are all published and available for anyone to use.

When uploading an app to the Apple App Store, users have to make declarations about whether their app uses standard encryption or not as part of legal requirements around 'exporting' cryptography in the US. This section is intended to provide information for Jazz's users to make informed decisions when responding to these questions.

an additional section to our performance docs documenting batching as a strategy to improve performance

In our Performance Tips section, I added a section telling users that if they're adding a lot of values, they can improve performance by inserting them simultaneously in a single call, rather than iterating and inserting each one separately.

a new section for vanilla users

I added some detail to our existing docs showing how users who are not using a framework ('vanilla' users) can get started with Jazz.

29 October 2025 (1PR)

a fix for a bug in our types for loading options on CoFeeds

I identified a bug where TypeScript incorrectly required specific options to load a CoFeed. However, the underlying code functionality did not depend on these options. I modified the system to remove this unnecessary requirement, improving its usability.

24 October 2025 (1PR)

a new 'Testing' section for our docs

I wrote a new section for our docs explaining how to test Jazz apps using a variety of different helpers.

22 October 2025 (3PRs)

grey out quickstarts for RN

Jazz is a framework for building collaborative apps, and its docs site lets you switch between different platforms. I greyed out the quickstart guides in the navigation menu when viewing React Native or Expo, since those quickstarts haven't been written yet. This way, users aren't misled into clicking links that lead nowhere.

add custom placeholders for Image components

Jazz is a framework for building collaborative apps. After a recent update, images in Jazz apps would briefly flash their alt text while loading instead of showing a placeholder, which looked jarring. I added the ability for developers to specify their own custom placeholder image (like a company logo or branded loading graphic) so their apps look polished while images load in.

a fix to eliminate critical security vulnerabilities

A number of the packages we depend on have become outdated and have security vulnerabilities. I took care of updating these packages to their latest versions and fixed the issues caused by API changes (particularly for Better Auth).

21 October 2025 (1PR)

an update to our ImageDefinition docs which makes it more maintainable

Our previous ImageDefinition docs were spread over four files, representing a nightmare for maintainability. I consolidated them into a single file, merging all the content and code samples together to make it easier to avoid mistakes and reduce repetition.

20 October 2025 (1PR)

restructure the docs following the nav menu updates

After the Jazz docs site got a new navigation menu, the actual documentation pages were no longer in the right places. I reorganized all the docs to match the new menu structure, updated all the internal links, and set up redirects so that anyone with an old bookmarked URL gets sent to the right page automatically.

17 October 2025 (3PRs)

an update to our create-jazz-app utility to ensure that only the appropriate llms-full.txt is fetched

Currently, the create-jazz-app CLI tool fetches an llms-full.txt file which contains a summary of all the content contained in the docs, regardless of framework.

However, since my previous PR got merged, we're generating framework-specific llms-full.txt files, which will be a) smaller and b) less confusing for LLMs, so now, only the appropriate llms-full.txt gets pulled.

an update to our CLI tool to make sure that the correct llms-full.txt is fetched based on the user's framework

Currently, the create-jazz-app CLI tool fetches an llms-full.txt file which contains a summary of all the content contained in the docs, regardless of framework.

However, since my previous PR got merged, we're generating framework-specific llms-full.txt files, which will be a) smaller and b) less confusing for LLMs, so now, only the appropriate llms-full.txt gets pulled.

a new Not Found page

Our previous 'not found' page was not particularly useful or professional. The new 'not found' page includes a search widget to allow users to find whatever content it was they were looking for when they landed on the 'not found' page.

16 October 2025 (1PR)

enhancements to our llms.txt files

I continued developing our llms.txt files. There are three main components to this PR:\

  1. Now, if a user wants to access a markdown version of a particular docs page, they can simply append `.md` to the URL, and it will be served as markdown (this is in line with https://llmstxt.org/#proposal)
  2. Further, the content is now accessible on a framework-by-framework basis. This means that each page does not include irrelevant information relating to other frameworks.
  3. Finally, there are now framework specific llms-full.txt

15 October 2025 (1PR)

fix missing link to the BetterAuth Database Adapter doc

Jazz's documentation site had a navigation link to the BetterAuth Database Adapter page that had accidentally been removed at some point. I added the link back so people can find that page from the sidebar again.

14 October 2025 (2PRs)

filter all the code snippets to show only the framework relevant snippets

Jazz supports multiple web frameworks like React, Svelte, and Vue. The docs used to show code examples for all frameworks at once, which was confusing. I updated the documentation build system so that when you select a framework, you only see code snippets relevant to that framework, keeping things clean and focused.

a new section for our docs offering performance tips for advanced users

I created a new section in our docs which covers advanced performance tips for the 20% of users who need to push harder on performance than the majority.