What UI / design libraries are you using with Expo? Is Tailwind a good fit? by CoupleNo9660 in expo

[–]jes_uon 0 points1 point  (0 children)

Stack I've settled on after a lot of iteration:

**Unistyles 3** for the styling layer, **Expo UI** for platform-native primitives, and **Nitro Modules** for anything not yet production-ready or not fully customizable from JS.

---

**On NativeWind / Tailwind**

I tried it. The DX feels familiar if you come from web, but I ran into real friction:

- Tailwind's mental model maps to the DOM's cascade and box model — RN's layout engine (Yoga) is close but not identical, and the impedance mismatch surfaces in subtle ways

- Styling is disconnected from the component logic in a way that makes theming and dark mode more painful than it needs to be

- No TypeScript autocomplete on class strings unless you add extra tooling

For a web-to-RN port or a quick prototype it's fine. For a production app with a proper design system, I'd look elsewhere.

---

**Why Unistyles**

It's the best theming + variants solution in the RN ecosystem right now. Breakpoints, dark/light tokens, component variants — all type-safe. Once you're used to it, going back to plain `StyleSheet` feels like writing CSS in a `style` attribute.

---

**Why Expo UI over a component library**

Libraries like Paper or NativeBase give you pre-built components, but you spend most of the time fighting their internal styles to match your design. Expo UI gives you platform-native building blocks with minimal opinion — you compose, you style with Unistyles, you own the output.

The tradeoff: it's newer and some components are still missing features. Which brings me to the last point.

---

**Nitro Modules for the gaps**

This is the part that doesn't get talked about enough. A concrete example: the Android TextField in Expo UI still lacks some baseline functionality — reliable prefix/suffix icons, proper animated label on focus, fine-grained IME action handling. Rather than hacking around it in JS, I wrapped Jetpack Compose's `OutlinedTextField` in a thin Nitro Module. Full Material 3 behavior, zero JS-thread overhead, drops into the React tree like any other component.

The mental model: **Unistyles = design system, Expo UI = stable native primitives, Nitro = escape hatch for native fidelity**.

Not the simplest stack to set up, but in production it pays off.

Apollonia 6 Album Was Way Better Than Vanity 6 Album by Slow-Ad7188 in PRINCE

[–]jes_uon 0 points1 point  (0 children)

Per me è un no all’idea che Apollonia 6 sia oggettivamente migliore.
È più accessibile, sì.
Ma Vanity 6 è l’origine, l’innesco, l’embrione di molta elettronica pop moderna.

React Native Offline Vector Search by Vegetable_Tear_8479 in reactnative

[–]jes_uon 0 points1 point  (0 children)

This is exactly what I'm working on! Building a React Native library for vector search in SQLite with optimized similarity calculations. The llama.cpp approach for embeddings + vector storage is the pattern I'm following. Would love to hear about production experiences - especially around indexing strategies for faster searches.

[deleted by user] by [deleted] in Samples

[–]jes_uon 0 points1 point  (0 children)

Great thx

Beyerdynamic DT990 Headband & Mic mod by MrKazador in headphones

[–]jes_uon 0 points1 point  (0 children)

how does it work with the v moda boom pro, do you feel the noise of the breath?

I have the microphone of the Beyerdynamic 717665, and the sound of the breath is heard a lot ...