The conversations stay on your iPhone
Send a message in Fable and the reply comes from local sample logic. Astra keeps your outgoing message in its local conversation. The Liquid Glass Chat UI README is clear about that boundary: these are interface cookbooks, with no messaging backend. Choose the repository to study or adapt a chat experience. Accounts, message delivery, and calling remain separate product work.
Our checkout at commit 56255e6 contained 140 files, roughly 7,030 source lines, and 15.5 MB before installation. Fable and Astra each keep their screens, artwork, and state together, with separate MMKV storage namespaces. That separation gives you a reasonable extraction boundary. You can choose the interaction system you want without importing the other cookbook's sample conversations or maintaining the gallery as part of your app.
What happened when we ran it
Our sandbox installed commit 56255e6 in 38 seconds, adding 954 npm packages and occupying 2,350 MB. On October 15, 2026, we used an unprivileged Debian container with 3 CPUs, 8 GB of RAM, the lab-node:22 image, and no secrets. The small checkout therefore expanded into a sizeable development environment before any native iPhone validation could be considered.
The node:test run passed in 1 second: 18 passed and 0 failed out of 18. The build step was skipped because the harness found no generic build script or target. The repository does document native iOS commands, so that skipped step should not be read as a claim that no build route exists. Our Node result does not establish that Xcode can compile the app or that its gestures work on a device.
Npm audit reported 22 known vulnerabilities, split into 1 critical and 21 high, with none rated moderate or low. The supplied result does not identify affected packages or show whether they reach a shipped app. We would inspect those findings before adopting the dependency set. Our scan found a tests directory and 1 CI workflow, with no Dockerfile. Passing the Node suite does not resolve the audit findings.
The gallery requires macOS and a native iOS build
The documented route needs Node.js 22.13 or newer, Xcode 26 or newer, CocoaPods, and an iOS 26 simulator on macOS. Skia, MMKV, and Keyboard Controller are native dependencies, so Expo Go is insufficient. No remote service or credential is needed to view the sample gallery. The barrier is the Apple development environment and native integration, rather than an inference provider or chat-service account.
That distinction changes the meaning of our 38-second install. It shows npm could prepare the repository in Debian, without demonstrating the complete developer experience described by the README. Android and web are explicitly outside the verified targets. If you need feature parity across platforms, budget separate work for native sheets and photo navigation, as well as the glass appearance. A React Native project name alone does not settle those requirements.
Native glass controls and portrait lenses use different code
The composer and other controls use Apple's iOS 26 material through expo-glass-effect. Portraits use custom Skia shaders that refract local photographs. Fable folds a portrait cluster into a story rail, while Astra carries the selected portrait into the conversation. Those are concrete implementation choices worth studying if your design needs continuity between an inbox and an open thread.
The motion specification also describes interruption handling and reduced-motion behavior. Fable removes the spatial story transform under Reduce Motion. Astra bypasses portrait flight and simplifies its rail transition. We haven't validated those native behaviors through our 18-test Node run. They are documented design decisions to preserve and check when you adapt the source, especially after changing navigation or gesture handling.
Copying an inbox also means copying its providers and routes
The exported inboxes are Expo Router screens, and the README says they are not standalone navigation containers. A working extraction needs route adapters, supporting screens, native providers, overlay hosts, and assets. The integration prompts name those dependencies and ask you to retain your app's architecture. That is more useful than a screenshot paired with an unexplained component, though it still leaves you responsible for the integration.
The 954-package install belongs to the gallery we measured. It does not establish what a carefully extracted cookbook adds to your existing app. Inspect which compatible native packages you already use before bringing the source across. Replace the sample storage namespaces and wire messages to your backend deliberately. Fable's local reply behavior would be particularly misleading if it survived unnoticed inside a real customer conversation.
MIT code comes with separate artwork and branding notes
The project notice identifies the original code as MIT-licensed and asks adopters to replace sample identity, conversations, and artwork. Its provenance file distinguishes retained source portraits from generated replacements and records where original prompts are missing. That is useful documentation for a visual reference project. Read those asset notes before carrying the supplied faces and branding into a commercial interface.
The last push was September 27, 2026. GitHub listed 216 stars and 0 open issues and PRs combined on October 15, with no latest release and no entries in the recent issue-history response. That is too little public support history to infer reliability from a quiet queue. Borrow the gesture code when iOS polish is the job, then validate it in your own native app before putting real conversations behind it.

