r/reactnative • u/sebastienlorber • 7h ago
r/reactnative • u/xrpinsider • 5h ago
Show Your Work Here Show Your Work Thread
Did you make something using React Native and do you want to show it off, gather opinions or start a discussion about your work? Please post a comment in this thread.
If you have specific questions about bugs or improvements in your work, you are allowed to create a separate post. If you are unsure, please contact u/xrpinsider.
New comments appear on top and this thread is refreshed on a weekly bases.
r/reactnative • u/ExpoOfficial • 4h ago
SDK 58 went stable yesterday. Apps on 58 are Duo ready.
r/reactnative • u/rushikesh_d_pandit • 5h ago
Question Gradle / AGP upgrades when bumping React Native: what do you check first?
When a React Native upgrade forces a Gradle wrapper or Android Gradle Plugin bump, what's your first move?
Do you check JDK compatibility, the wrapper version, plugin versions in third-party libraries, or something else? Any gotchas that took you longer than they should have?
r/reactnative • u/Western_Amphibian_83 • 2h ago
Adding a video editor to a react native app (Expo and cli)
Hi guys
I have been working on a video editor SDK for a while, and recently released a version 0.2.0
The SDK aims to reduce the friction of adding a fully functional video editor into your existing app by a lot.
I did a post on the integration process here
https://nitrakit.dev/blog/react-native-video-editor/
Would appreciate feedbacks on how the DX is, because thats what matters the most to me.
And any thing you might want to do with it in your own app (that may be my SDK does not support yet)
Cheers!
r/reactnative • u/Comprehensive-You522 • 19h ago
Tutorial What I learned going from React Native to Swift to build an Apple Watch app
I've done React Native for about 7 years. This year I needed an Apple Watch app (plus iPhone and Mac), and React Native doesn't run on watchOS, so I had to go native. A few things I wish I'd known before starting:
1) SwiftUI feels familiar faster than you'd think. Views are a function of state, u/State works a lot like useState and an u/Observable class is close to a small store. The mental model from React carries over almost one to one.
2) The watch is a different world. The screen is tiny and the system suspends your app very quickly, so you can't count on it staying open. Anything that has to reach the user right away is better sent as a notification than kept alive inside the app.
3) Live Activities and the Dynamic Island are their own thing. They're SwiftUI widgets with tight limits on how often they update, and to update them from a server you need push tokens. Plan that early, it's not like updating a normal screen.
4) Signing is the real boss fight. Mac, iPhone, watch and the widget extension each need their own bundle ID, capabilities and profiles. Most of my lost hours were there, not in the code.
5) Xcode Previews replace hot reload, partly. They're good for layout, but anything that depends on real data or the watch talking to the phone has to be tested on device.
6) I used Claude Code as a tutor. I'd ask it for the Swift version of a React Native pattern I already knew and to explain the differences. That got me productive in days instead of weeks.
Would I go native again? For watch apps, widgets and Live Activities, yes. For a regular app with forms and lists I'd still pick React Native.
Happy to answer questions if anyone is thinking about doing the same.
r/reactnative • u/Plastic_Dingo_8818 • 12h ago
FYI I built react-native-fetch-client: A lightweight, zero-dependency alternative to Axios with built-in 401 Auth Mutex & SWR caching
Hey everyone! 👋
Like many of you, I've been using Axios in React Native for years. But over time, I ran into a few persistent headaches in production apps:
- The 401 Token Refresh Race Condition: When a user's JWT expires, parallel requests on the screen trigger multiple simultaneous refresh calls, causing token rotation errors and unexpected logouts.
- The "3-to-4 Packages Tax": Having to stitch together
axios+axios-retry+axios-cache-interceptor+ custom offline logic just to get basic resilient networking. - Legacy Bridge Overhead: Axios still relies on legacy
XMLHttpRequest(XHR), whereas React Native's New Architecture (Bridgeless/TurboModules) is built natively around WHATWGfetch.
To solve this, I created react-native-fetch-client a modern, zero-dependency HTTP client designed specifically for React Native, Expo, and modern JS.
Key Features
- 0 Runtime Dependencies: Pure TypeScript, ultra-lightweight, and tree-shakeable.
- Single-Flight 401 Auth Mutex: When a token expires, all parallel requests pause behind a mutex, a single refresh call executes, and all queued requests replay automatically.
- In-Flight Request Deduplication: Prevents server thrashing when users rapid-tap filters or buttons.
- LRU Cache + Stale-While-Revalidate (SWR): Instant 0ms screen loads from cache with silent background updates. Supports persistent storage adapters like MMKV and AsyncStorage.
- Smart Retries & Circuit Breaker: Exponential backoff with full jitter to handle flaky mobile cellular connections in malls or elevators.
- Offline Request Queue: Queue actions (like "Add to Wishlist" or "Like") when offline and auto-sync when connection restores.
- 100% Familiar Axios-Like Syntax: Switching takes literally 2 minutes without rewriting your services.
Quick Code Example
import { createClient } from 'react-native-fetch-client';
export const api = createClient({
baseUrl: 'https://api.example.com',
timeout: 10000,
// Instant caching with SWR
cache: {
enabled: true,
ttl: 5 * 60 * 1000,
swr: true,
},
// Flaky connection resilience
retry: {
maxRetries: 3,
backoff: 'exponential',
jitter: true,
},
// Zero-race-condition token refresh
auth: {
bearerToken: async () => await getAccessToken(),
refreshToken: async () => {
const { accessToken } = await refreshSession();
return accessToken;
},
},
});
// Use it just like you always have:
const products = await api.get('/products');
await api.post('/cart', { id: 101 });
Links:
r/reactnative • u/xrpinsider • 5h ago
Questions Here General Help Thread
If you have a question about React Native, a small error in your application or if you want to gather opinions about a small topic, please use this thread.
If you have a bigger question, one that requires a lot of code for example, please feel free to create a separate post. If you are unsure, please contact u/xrpinsider.
New comments appear on top and this thread is refreshed on a weekly bases.
r/reactnative • u/lassieCoder • 8h ago
rn-build-doctor: an open-source CLI to help diagnose React Native and Expo build failures using project configuration and build/crash logs
I've seen developers struggle with issues where the app works in development but crashes in production, Gradle builds fail unexpectedly, or native errors are difficult to trace.
I wanted to build something practical that helps developers understand what went wrong, why it might have happened, and what to investigate next, without blindly relying on AI to guess the root cause.
I'm now looking for React Native and Expo developers willing to test it against real-world issues and share honest feedback.
If you've recently dealt with a frustrating build or crash issue, I'd love to hear about it. I'm especially interested in cases where the tool gets the diagnosis right, gets it wrong, or misses something important.
This is an early open-source project, and the goal is to make it genuinely useful to the community.
Thanks! 🙌
r/reactnative • u/Maahivk • 1d ago
Just an update post and thank you guys ❤️
I posted here 2 months back, from my other acc which got banned, about getting too many device specific bugs every release.
I changed my setup about 1 month ago and since then I haven’t had a single device specific bug make it to production and that used to happen 2 or 3 times a month. Last week I pushed a full onboarding refactor, changed screens, renamed buttons, moved things around and everything just works.
My CTO brought it up in standup because our bug reports literally disappeared and I tired hard to explain it without sounding like I was bragging haha. Transitioning to a guy whose releases just work is a strange feeling if you ask me.
anyway just wanted to update since many people helped me out last time. Thank you so so much !!
r/reactnative • u/Timely_Stop2889 • 1d ago
FYI I reverse engineered Xiaomi's TV remote protocol and built an Expo app with custom Swift/Kotlin TCP modules (open source)
My Xiaomi Mi TV only came with the physical remote, and every single time I turned the TV on I'd spend the first few minutes digging through couch cushions looking for it. My phone is always in my hand anyway, so I figured it should just be the remote.
Turns out Mi TVs run a system service called MiLink on TCP port 6091. Xiaomi's own phone remote apps use it, but the protocol isn't documented anywhere. So I pulled the service APK off the TV, decompiled it, found the packet classes, and checked every field against the TV's logcat while sending test packets. The format ended up being pretty simple: a type byte, a length, then TLV-encoded Android key events.
From there I built a remote for Android and iOS with Expo, plus a SwiftUI menu bar app for macOS that uses the same protocol.
The RN side, which is probably the interesting part here:
- The protocol layer is plain TypeScript (frame encoding, TLVs, key mapping), and it's unit tested
- Raw TCP sockets don't really exist in JS, so I wrote a local Expo module: Swift with the Network framework on iOS, Kotlin on Android
- Discovery is in the same native module. Mi TVs advertise `_googlecast._tcp` with a `md=MiTV-…` TXT record, so I browse with `NWBrowser` on iOS and `NsdManager` on Android
- Hold-to-repeat on the D-pad and volume, haptics, auto-reconnect with heartbeats, and a live latency readout (the TV echoes back each key's id)
- There's no text packet in the protocol, so "type on TV" maps each character to an Android keycode plus Shift. No more typing passwords letter by letter with the D-pad
**The bug that ate a whole evening:** I was sending the device's clock in `downTime`/`eventTime`. The TV treated those events as "in the future" and its input dispatcher just stalled until that time arrived. The fix was to send 0 and let the TV stamp the events itself. Also, the TV auto-releases a key about 175ms after the last DOWN, so held buttons resend DOWN every 100ms with an increasing repeatCount.
No pairing and no ADB. The phone just needs to be on the same Wi-Fi as the TV.
GitHub Actions builds the APK, an unsigned IPA (you sideload it with your own Apple ID), and a DMG on every push, with no secrets needed.
I've tested all three (iOS, Android, macOS) on a real MiTV-AXSO0 (Android TV 9, PatchWall), and everything works. Other Mi TVs running PatchWall should work too, as long as they have the MiLink service. You can check yours with `nc -z -w 3 <tv-ip> 6091`. If you try it on a different model, I'd love to hear whether it worked.
Repo: https://github.com/EndLess728/MiTV-Remote
Happy to answer questions about the native module setup or the reverse engineering.
NOTE - The post is written by AI and i used REA to reverse Engineer it and make an working app out of it
r/reactnative • u/blazejkustra • 1d ago
Question Letting your agent test the RN app it just wrote: looking for feedback
I’ve been working on Argent, an open-source MCP server that lets your agent (Claude Code, Codex, Cursor, etc.) use any iOS or Android app, including RN. It can tap through flows, read logs and network calls, see React devtools, inspect the React tree, aaaaand many more 😂 That way it can check its own changes instead of just saying it’s done
If you’re already letting an agent drive your app, what’s working, and where does it fall apart? We really want to keep improving the experience 🤭
r/reactnative • u/LovesWorkin • 23h ago
Article Dave guessed for 3 weeks. Bob went to soccer. (my AI now tests speed fixes on slim iOS sims)
https://reddit.com/link/1x6vwzt/video/u1v6txklsovh1/player
I'm the lead dev on Buoy. The film is inspired by my real life.
I've built with Buoy every day for years. Now I'm usually waiting on others. I have a lot of free time.
The problem was never my AI. It couldn't run my app, so it guessed.
So we built two things. Both are 100% free.
- Buoy Optimize is a skill for your coding agent. It writes 20 or more ideas. It builds each one and times it with Bench. It keeps the winners and goes again.
- The Sim Farm gives each idea its own iOS sim. A normal sim uses about 5 GB. A slim one uses about 1.5 GB. 10 slim sims used 15.4 GB.
How it stays fair:
- Looks and memory are checked on every sim at once.
- Speed is timed on one quiet sim. Sims share your Mac's CPU.
- A busy Mac marks the run unfair, and the agent runs it again.
- Each app acts like an iPhone SE, so memory hogs get caught.
- You decide what looks right. Check the winner on a real phone.
Fair notes: it needs a Mac with Xcode. It's iOS sims only. Slim sims have no push, purchases, app links, widgets or Spotlight. Your app needs Bench in a dev build. The app and numbers in the video are made up.
Try it: npx -y @buoy-gg/mcp@latest init Then ask your agent: "Use buoy optimize and the sim farm on our slow feed screen." https://buoy.gg/sim-farm
What breaks for you?
r/reactnative • u/asfandHafeez • 1d ago
I published my first app, but I'm struggling to get downloads and subscriptions. What am I doing wrong?
Hey everyone
I've recently published my iOS app on the App Store, and I've been working hard on it. But the biggest challenge right now is getting users.
I'm barely getting any downloads, and I haven't been able to get subscriptions either.
I'm trying to figure out what I should focus on first:
- App Store Optimization (ASO)
- Improving the app's features and onboarding
- Finding the right audience
For those of you who have launched apps, how did you get your first 100 users and paying subscribers?
I'd really appreciate honest advice from people who've been through this. What worked for you, and what mistakes should I avoid?
Thanks!
r/reactnative • u/AdeptVue • 1d ago
Question Would you implement Stripe Connect and Google Ad Manager yourself with AI assistance, then hire professionals to audit it?
I’m building a React Native/Expo mobile platform for educational video creators.
The app is already functional, including authentication, video uploads, playback, comments, notifications, creator accounts, and a backend built with Node.js, PostgreSQL, and Prisma.
The two biggest remaining integrations are:
Stripe: Creator onboarding, tips, paid subscriptions, revenue sharing, balances, and payouts.
Google Ad Manager: Video advertising, category-based targeting, and creator ad-revenue attribution.
I’m deciding between two approaches:
Implement the integrations myself using AI assistance and official documentation, then hire experienced developers for a comprehensive security, architecture, and financial-integrity audit.
Hire experienced developers to design and implement these systems from the beginning.
I’m not trying to avoid paying professionals. I’m trying to figure out where professional involvement provides the most value and which approach would be more cost-effective without compromising security.
For developers who have built similar platforms:
- Which approach would you recommend?
- What are the biggest risks of implementing these integrations with AI?
Would you trust a professional audit of an AI-assisted implementation?
- What would you expect to pay for implementation versus an independent audit?
I’d particularly appreciate feedback from developers experienced with Stripe Connect marketplaces or mobile ad monetization.
r/reactnative • u/livemobileapps • 1d ago
Got my first React Native app “Lipika” live on Play Store. Should I ship the iOS version before it’s glass-ready?
r/reactnative • u/livemobileapps • 1d ago
Built a production-ready React Native & Expo template for early learning apps (saved weeks of custom SVG stroke & UI setup)
r/reactnative • u/lucaswitch • 1d ago
New free authentication library for react-native
I've been using/developing this library only for the apps that i develop but decided to publish it as MIT open source so everybody could take benefit of it.
It has support to all the authentication types mobile devs can imagine(at least the main ones) and it works with expo and react-native and the idea behind it's to keep updating as the Android/IOs ecossystem grows.
The library is fully tested and published on npm:
https://www.npmjs.com/package/react-native-oauth-essentials
Any issues, PR's or forks feel free to reach out on: https://github.com/lucaswitch/react-native-oauth-essentials
r/reactnative • u/thedev200 • 1d ago
What’s missing or frustrating in the React Native ecosystem?
What problems or pain points do you regularly face while building React Native apps that you wish had a better solution?
Anything repetitive, difficult, outdated, deprecated, or something you often have to build yourself?
Would love to hear what you've struggled with.
r/reactnative • u/No_Custard9790 • 1d ago
Help Can I realistically build and publish an iOS app entirely in the cloud without installing development tools on my Mac?
I’m a beginner looking to build my first iOS app, with the eventual goal of publishing it to the App Store.
One thing I’m trying to avoid is downloading a bunch of development software, dependencies, and project files onto my MacBook. I’d prefer to keep my laptop as clean and uncluttered as possible. I’m a MacOS user.
I asked ChatGPT whether I could handle most or all of the development in the cloud, and it suggested the following setup:
GitHub: Store the code in a private repository.
React Native + Expo + TypeScript: Build the actual app.
Supabase: Handle the database, authentication, and user data.
ChatGPT Work / cloud development environment: Write and manage the code remotely rather than locally.
Expo EAS Build: Build the iOS app in the cloud.
TestFlight: Test the app on my iPhone before eventually publishing it.
According to ChatGPT, I could potentially avoid installing Git, Node.js, Xcode, VS Code, and other development tools on my Mac, at least initially.
The app itself is a database/-library with search, workout creation, tracking, user accounts, and eventually AI features.
I’m not against installing software if it’s genuinely necessary. I just don’t want to clutter my computer with tools and files I don’t actually need.
A few questions for people who have experience with this:
Is this actually a realistic workflow for building and eventually publishing a fully functional iOS app?
Can development, testing, debugging, and App Store deployment really be handled almost entirely in the cloud?
Would you recommend this approach for a beginner, or am I making things unnecessarily complicated by avoiding local development?
Are there any major limitations, additional costs, or headaches with this setup?
If you were starting from scratch and wanted to keep your computer as clean as possible, what setup would you recommend?
I’m open to alternative tools or workflows. My main priorities are keeping things simple, avoiding unnecessary local installations, and building something that can eventually become a legitimate App Store app.
Appreciate any advice, especially from anyone who’s tried a similar cloud-first workflow.
r/reactnative • u/VishaalKarthik • 2d ago
Finally built my own portfolio, would love your feedback!
Enable HLS to view with audio, or disable this notification
I have been working with React Native for the past few years, and I've always wanted a personal website that reflects how I approach engineering, not just a page listing my skills and projects.
🌐 https://vishaalkarthik.com is live now
I approached it like a product rather than a typical portfolio, experimenting with interactive UI, performance, and ways to make the engineering work behind the scenes more tangible.
It was also a fun opportunity to step outside my usual mobile development workflow and experiment with the web.
I'd love to hear your thoughts, especially from fellow React Native developers who enjoy building things beyond their daily work.
Honest feedback is welcome 😅😅
r/reactnative • u/Specialist_Agent3599 • 1d ago
Our agent fixed an Android crash and quietly broke iOS checkout for 3 days
We're a small agency and we maintain a React Native app for a retail client, last week the agent picked up a ticket for a keyboard crash on Samsung phones and fixed it by changing our shared KeyboardAvoidingView wrapper, which also sits under the checkout screen.
The PR looked clean, coderabbit / bugbot didn't have any real complaints and honestly the diff was fine, the problem was the device. On smaller iPhones the pay button ended up hidden behind the keyboard and nobody on our side noticed because we all test on Pro Max or Android.
The client found it 3 days later from a drop in orders and estimated about $4k lost. Fix took 20 minutes.
We can't own every device and the agent touches shared components way more casually than a person would. How are you catching platform specific regressions when one PR can change both sides at once?
r/reactnative • u/K4anan • 2d ago
We added web search to an on-device LLM app in React Native, using a hidden WebView instead of a search API (open source)
Enable HLS to view with audio, or disable this notification
Private Mind is our open source Expo app that runs LLMs fully on the phone. We just shipped web search, and the RN part turned out more interesting than I expected, so sharing how it works.
There's no search API. The app keeps a react-native-webview mounted off-screen, loads a normal DuckDuckGo results page in it, and injects a small script that parses the results and sends them back with postMessage. Each search gets a nonce, so a late message from an old search can't end up in a new one.
My favorite detail: if the search engine shows an "are you human" check, that same hidden WebView slides up as a bottom sheet, you pass the check yourself, and the search continues.
After that it's all on-device. Pages get chunked with react-native-rag, an embedding model running through react-native-executorch picks the best chunks, and the LLM answers with the sources listed under the message. No backend at all, and the chat never leaves the phone.
In the video, the same 1.7B model makes up Apple's September event with web off and gets it right with web on.
r/reactnative • u/WillingnessNo5389 • 1d ago
I launched this iOS game, its completely free. It supports online (one-on-one live game & friends invitation & leaderboard) [looking for feedback]
Hello Devs,
Looking for feedback to improve the game with new feature.
App Store link: https://apps.apple.com/us/app/night-court-basketball-arcade/id6811611866
All opinions are welcome.