finds.dev

EvanBacon/crispy

Free UI components I use for building Expo Router apps

View on GitHubHomepage ↗

★ 572TypeScriptupdated Aug 2026

// the take

A grab-bag of copy-paste React Native components for Expo Router apps that mimic Apple's native UI — Settings-app-style forms, native-feeling bottom sheets, segmented controls, SF Symbols. It's Evan Bacon's personal component kit, open-sourced as-is, aimed at devs building iOS-first Expo apps who want that native look without hand-rolling it.

The sheet implementation wraps React Native Screens' actual native sheetAllowedDetents/sheetGrabberVisible APIs rather than faking a bottom sheet in JS, so you get real native physics on iOS. The Form components solve a genuinely annoying problem (building a Settings-app-style list with correct dark mode, hint text wrapping, and adaptive colors) that most RN apps reinvent badly. Distribution via copy-paste instead of an npm package is a deliberate and reasonable choice here, since this is closer to a styled reference implementation than a stable API surface.

This is explicitly iOS-and-dark-mode-first; the author states Android should eventually get proper Jetpack Compose instead, and the DatePicker flat out doesn't support web and datetime mode is iOS-only — so cross-platform coverage is partial at best, not an oversight you can file an issue against. No npm package means no versioning: you fork these files into your project and you're now responsible for merging upstream fixes by hand forever. There's no test suite visible anywhere, and several components pull in third-party deps (vaul, segmented-control, datetimepicker) whose compatibility with future Expo/RN releases isn't this repo's problem to solve for you. The author's own framing — "should be replaced with proper SwiftUI/Jetpack Compose in the future" — is a tell that this is a stopgap, not something to build long-term architecture on top of.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
572
Forks
24
Language
TypeScript
Last commit
11 Aug 2026

// nearby

If crispy isn't quite it.

All repos →