I Shipped...

30 October 2025 (1PR)

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.

13 October 2025 (2PRs)

an update to our CLI tool which adds more options

Our CLI tool allows you to get started quickly building with Jazz by running npx create-jazz-app. This update gives some more starter options to users running the CLI tool.

a new way to create invites to groups

So far, our users have been able to create invite links which target specific CoValues. But there's no way to easily get the inviteSecret_ for processing however the user likes.

I created a couple of methods (Group.createInvite(groupId, role) and group.$jazz.createInvite(role) which allow you to manually get the secret, and process it how you like using Account.acceptInvite(). I also improved the API for acceptInvite so that if the invite is not specified, it's assumed to be a group invitation.

12 October 2025 (1PR)

updates to the way we generate our docs export for LLMs to consume

Previously, our LLMs text file was done simply by searching and replacing naively.

I introduced a step where our docs are rendered out as pure markdown before they are exported. This allows us to mock specific components so we can do things like render the tabbed code group component sensibly.

9 October 2025 (2PRs)

hotfix for homepage

I fixed a CSS bug on the Jazz homepage where unwanted scrollbars were appearing all over the page. A recently added style on buttons was causing content to overflow its containers, so I removed the problematic rule.

an update to our CLI which makes sure that the latest docs are always fetched when a new project is initialised

We have a tool which allows you to run create-jazz-app with some options to get a new Jazz app set up. This tool was cloning a specific part of our monorepo where a static build of our docs had been copied. However, this had fallen out of date, and so we were wasting our users' time, bandwidth, and worse, seeding their AI agents with incorrect, outdated data.

I introduced functionality to fetch the latest docs from our website to save for AIs to refer to.