Now
Last updated: 2026-06-03.
Shipping
Just shipped vexpo, the mobile sibling of tanvex. Expo SDK 56 starter wiring Convex, Better Auth, and Resend end-to-end for iOS, from npm create to TestFlight in one afternoon. Recent merges landed in expo (the @expo/ui Alert, Host modifiers, and the Dynamic Type font work, now extended with the dynamicTypeSize clamp, a Text-concatenation fix, and the accessibilityIdentifier modifier, plus a fork-safety CI sweep), better-auth, Convex, and Astro’s compiler. Open PRs right now:
- expo/expo#46579: iOS
accessibilityHiddenmodifier to hide decorative views (hero icons, already-described imagery) from VoiceOver traversal. - facebook/hermes#2045: cherry-pick the object-literal accessor home-object fix onto the stable Hermes branch RN 0.85 ships, so
super.xin a getter or setter stops SIGSEGV’inghermesc. The direct source fix that replaced thebabel-presetworkaround. - facebook/hermes#2046: cherry-pick the class-in-
finallyvariable-caching fix so aclassdeclared in afinallyblock stops miscompiling. Same Hermes V1 root cause. - facebook/hermes#2047: use the repo name instead of a hardcoded
hermesdir in thetest-linux-armv7CI job so it passes on forks. - facebook/react-native#56912: set
always_out_of_dateon thehermes-enginepodspec’s Replace Hermes phase to silence the Xcode clean-build warning. - oven-sh/bun#30855: drop the order-dependent peer-dep early match so
bun.lockstops varying run to run, and fixbun add X@versionbeing ignored whenXis a same-name peer dep. - oven-sh/bun#27086: invalid YAML in the
update-root-certsworkflowlabelsfield. - get-convex/better-auth#368: wrap
fetchAccessTokeninnew Promise(executor)souseConvexAuth().isAuthenticatedflips after sign-in on Hermes V1. Expo SDK 56 canary dropped a Babel transform that was hiding a bridge race. - get-convex/better-auth#329: drop the cached JWT when the session id changes so
useConvexAuthstops holding a token for a session that was just rotated out. - better-auth/better-auth#9345: preserve the current session on
change-passwordwhenrevokeOtherSessionsis set. - hugeicons/react#5:
core-free-iconssubpath type shim. - shadcn-ui/ui#10364: strip control characters from
promptstext input so pasted hidden bytes don’t break the CLI.
Patches for each one live in ramonclaudio/patches so my projects aren’t waiting on review.
Maintaining
- vexpo: Expo SDK 56 + Convex + Better Auth + Resend, wired for iOS. Email + password, OTP, Apple Sign In, push notifications, universal links, OTA via EAS Update, submit + workflows.
- seetree at v0.1.1. Live tree viewer for Claude Code, written in Zig. Lights up files as Claude reads, writes, edits, or deletes them. ~200K binary, brew + npm.
- convex-revenuecat at v0.3.2. Around 7,700 downloads, listed in the Convex Components Directory. Sync hooks, webhook handlers, lifecycle transitions.
- tanstack-cn + create-tanstack-cn: CLI scaffolder and shared runtime package, same shape as shadcn’s (
bun create tanstack-cn my-app). Around 1,050 downloads combined. TanStack Start + Vite 8 + Base UI + shadcn + oxlint/oxfmt. The shadcn dark mode PR is wired in. - tanvex: tanstack-cn extended with Better Auth and Convex, running on latest majors (Vite 8, Oxc, canary). My web dogfood, where I reproduce edge cases for TanStack, Convex, and Better Auth PRs.
- ccbase for Claude Code analytics. Just shipped
ccbase mvfor rewriting paths when you move or rename a Claude Code project. - gitbar: Tauri menubar GitHub dashboard. PRs, issues, reviews, and activity in one window. ~5MB binary.