[about.ray]
RSS FeedHi, I'm Ray. Product engineer in NYC, solo since 2013. Most of my projects started as a bug somewhere upstream or a task I found myself doing way too often. When I hit a bug I try to find the cause at the source, file the PR, and keep a patch around so my projects don't wait on review. More on what I'm shipping now and how I'm set up. Also drink way too much coffee. Sey beans, V60, 1Zpresso ZP6, full nerd mode (I go deeper here).
37 PRs merged across 10 repos · 16 to expo · 49 drop-in patches · 10 npm packages
[merged.upstream]
37 PRs merged into projects I don't maintain.
- expo/expo · 16 PRs
- fork-safety CI sweep finale, gating 15 more workflows on the upstream repo #46050
- font textStyle for iOS Dynamic Type, all 11 Font.TextStyle cases #46007
- Host modifiers were a silent no-op on iOS, one Swift field restored the whole set #45872
- skip 18 secret-gated workflows on forks #45859
- make five auto-firing scheduled workflows fork-safe #45782
- SwiftUI Alert component for @expo/ui #45700
- resolve workspace:* peer deps for scoped packages whose dir name differs #45403
- scrollPosition and id modifiers binding a ScrollView's leading target to JS #44652
- textContentType modifier wiring text fields into iOS keychain autofill #44548
- textInputAutocapitalization without forcing an ASCII keyboard #44547
- scrollTargetBehavior and scrollTargetLayout for snap paging #43955
- defaultScrollAnchorForRole for per-role scroll anchors #43923
- defaultScrollAnchor so chat UIs drop the scaleEffect(y: -1) flip #43914
- per-axis scaleEffect accepting { x, y } #43228
- ShapeType enum fix unblocking capsule and ellipse in clipShape and mask #43158
- PersistentFileLog read-race fix that flaked expo-updates CI #43958
- get-convex/better-auth · 5 PRs
- shadcn-ui/ui · 5 PRs
- official TanStack Start dark mode guide, replacing three stale PRs #10396
- notFoundComponent on the Start templates to silence the Router warning #10369
- fix llms.txt 404s and backfill missing routes #10337
- strip the raw <ComponentsList> tag from copy-to-markdown output #9484
- register the @ramonclaudio-coderabbit registry in the official directory #9331
- better-auth/better-auth · 3 PRs
- withastro/compiler-rs · 2 PRs
- fuma-nama/fumadocs · 2 PRs
- napi-rs/napi-rs · 1 PR
- respect --cross-compile when host matches target, fixing glibc breaks on Vercel and Lambda #3189
- oven-sh/bun · 1 PR
- typed decompress option for fetch, no more @ts-ignore #21855
- rorkai/App-Store-Connect-CLI · 1 PR
- Mac App Store screenshot support for the asc CLI #784
- TanStack/db · 1 PR
- fix the stale example todo app link in the README #17
[shipped]
- seetree · Zig · CLI · TUI
Live tree viewer for Claude Code, written in Zig. Lights up files as Claude reads, writes, edits, or deletes them. ~200K binary, on Homebrew and npm.
~200K binary · 264 total downloads
- ccbase · TypeScript · Bun · SQLite
Local analytics dashboard, productivity tracker, conversation viewer, and searchable session history for Claude Code.
224 total downloads
- gitbar · Tauri · Rust · TypeScript · React
Menubar GitHub dashboard built with Tauri. PRs, issues, repos, and activity in one window.
~5MB binary
- convex-revenuecat · TypeScript · Convex
Convex component that mirrors RevenueCat subscription state. Webhook and REST sync with lifecycle hooks for entitlement transitions.
7,659 total downloads · Convex Components Directory
- tanvex · TanStack Start · Convex · Better Auth
tanstack-cn extended with Better Auth and Convex, running on latest majors. My web dogfood, where I reproduce edge cases for TanStack, Convex, and Better Auth PRs. SSR auth, email OTP, rate limiting, one-command setup.
- vexpo · Expo SDK 56 · Convex · Better Auth · Resend
Mobile sibling of tanvex. iOS starter wiring Expo, Convex, Better Auth, and Resend. Email + password, OTP, Apple Sign In, push notifications, universal links, profile uploads, full-text search, OTA updates, EAS submit and workflows. create-vexpo scaffolds it, then the vexpo CLI provisions Convex, Apple, EAS, and Resend, so you go from new project to TestFlight in one afternoon.
422 total downloads · @ramonclaudio/vexpo + create-vexpo on npm
- counter · Expo · Convex · ElevenLabs · Firecrawl
My ElevenHacks Season 1 submission. Voice AI with three modes: research products, live negotiation coaching, and practice against an AI salesman. ElevenLabs agents plus Firecrawl search.
- dreamseeker · Expo · Convex · RevenueCat
My RevenueCat Shipyard 2026 submission. Goal-achievement app: break goals into daily micro-actions, track with streaks and XP, share progress to a community feed.
- tanstack-cn · TanStack Start · Vite 8 · Tailwind v4
CLI scaffolder (bun create tanstack-cn my-app) and shared runtime package, same shape as shadcn's. Vite 8 Rolldown+Oxc, Tailwind v4 and shadcn/ui base-luma on Base UI, Oxlint+Oxfmt instead of Radix, ESLint, and Prettier.
1,056 total downloads across tanstack-cn and create-tanstack-cn
[stack]
- Mobile. React Native apps on Expo, canary.
@expo/ui+expo-glass-effect, native-first (no NativeWind). Convex, Better Auth, RevenueCat underneath. Six apps on the same skeleton. - Web. TanStack Start + Vite 8 + Base UI + shadcn + Bun + oxlint/oxfmt for new work. Next 16 for marketing surfaces. Astro for this one.
- Backend. Convex for everything. Better Auth via
@convex-dev/better-auth. Resend via@convex-dev/resend. RevenueCat via my ownconvex-revenuecatcomponent. - Desktop + CLI. Tauri + Rust for menubar apps (
gitbar). Bun everywhere else, compiled to single-file binaries when shipping. - Claude Code infra. Nine plugins in
skills. Session handoff inhandoff. SQLite dashboard over~/.claude/inccbase. Zig 0.16 atstd_optionslevel inseetree.
[recent.writing]
-
Building seetree: A tiny terminal tree viewer and Claude Code companion written in Zig
A live tree for Claude Code in Zig. Lights up files as they're read, written, edited, or deleted.
-
Dark Mode in TanStack Start with shadcn (and the PR)
Updated:shadcn documents dark mode for Next.js, Vite, Remix, and Astro. TanStack Start was missing. I opened a PR. It merged.
-
Building convex-revenuecat: Server-Side Entitlements for Convex
I needed server-side entitlement checks in my Convex app. No component existed. So I built one.
-
Building Gitbar: A Menubar GitHub Dashboard
I got tired of opening 4 GitHub tabs to answer one question. So I built a menubar app that answers it in one glance.
-
Hello, World!
Hello, I'm Ray.