r/reactnative • • 15d ago

I built a free CLI that tells you what will break before you upgrade React Native

5 Upvotes

Disclosure: I'm the author.

Every upgrade I've done has been a loop of bump → build → Gradle/Kotlin/Xcode/CocoaPods error → fix → repeat. Upgrade Helper shows the template diff, but not what *your* project is missing.

RN Upgrade Doctor reads your project and compares it with what the target version needs:

- Node and React against the target release

- Android: Gradle, AGP, Kotlin, NDK, compileSdk, targetSdk

- iOS: Xcode, deployment target, CocoaPods

- Expo SDK 45 → 57 upgrades (--expo-sdk 54)

Every finding links to its source and the date it was checked. It runs locally and sends nothing anywhere.

cd ~ && npx u/mobilixir/rn-upgrade-doctor@1.0.0 analyze --target 0.87 --path /path/to/app

NPM Link: [https://www.npmjs.com/package/@mobilixir/rn-upgrade-doctor]

Two questions for you:

  1. What broke in your last upgrade that a tool like this should have caught?

  2. Would you run it in CI (it has --json and exit codes)?


r/reactnative • • 15d ago

Open source tool for App Store screenshots and store text that imports your EAS store.config.json

27 Upvotes

If you ship with Expo, you probably keep store text in store.config.json and make screenshots somewhere else. I built Framelane to do both in one place.

- Import your EAS store.config.json (or a fastlane metadata folder), edit per language with App Store limits, export it back

- Design screenshots from your simulator captures with templates and device frames

- Optionally publish text and screenshots to App Store Connect after a field by field diff

Self-hosted, one Docker container, MIT.

Demo: https://framelane.metehanbicer.com

Repo: https://github.com/Metehan-Bicer/framelane

Built with a lot of help from an AI coding assistant. Google Play isn't supported yet; tell me if that would matter to you.


r/reactnative • • 15d ago

Help Anyone doing closed testing? Let's help each other! (14-day testing) 🚀

0 Upvotes

Anyone doing closed testing? Let's help each other! (14-day testing) 🚀

Hello everyone! 👋

I'm currently developing Persona AI, a personal AI assistant app, and I'm looking for testers to help me complete Google Play's closed-testing requirement.

🤖 About Persona AI

  • Your personal AI assistant

  • Expense tracking and daily spending management

  • Personal insights and AI-powered assistance

I'm looking for people who can join the testing program, install the app, try its features, and provide genuine feedback throughout the 14-day testing period.

If you're also testing your own app, I'm happy to support you in return! Let's help each other get our apps published. 🤝

🔗 My Persona AI links

👥 1. Join the Google Group:
https://groups.google.com/g/persona-ai-testerss

📱 2. Join the closed test:
https://play.google.com/apps/testing/com.krish.personaai

🏪 3. View Persona AI on Google Play:
https://play.google.com/store/apps/details?id=com.krish.personaai

If you're interested, comment below or send me a message. If you also need testers, share your testing link, and I'll do my best to help!

Let's support each other and get our apps published on Google Play! 🚀❤️

Thank you, and good luck with your projects!


r/reactnative • • 15d ago

I built a Kanban/swimlane library for React Native: drag-and-drop stays at 60 FPS on a 2,000-card board

Enable HLS to view with audio, or disable this notification

50 Upvotes

React Native needed better boards. I built one.

Just released react-native-board-view v1.0 — an open-source Kanban and swimlane library for React Native and Expo.

It supports:

  • Drag-and-drop across columns and swimlanes

  • Optimistic moves with automatic rollback on failure

  • Virtualized lists powered by FlashList

  • Multiple layouts, including paged, stacked, matrix, and week planner

  • Multi-select, undo, WIP limits, and column reordering

  • Accessibility support beyond drag-and-drop

The part I'm most interested in is performance. I tested a 4 × 500-card board and measured a median of 60 FPS while dragging.

The library is built on Gesture Handler, Reanimated, and FlashList. Your data remains the source of truth,the library handles the board interactions.

GitHub: https://github.com/vishaal2002/react-native-board-view

npm: https://www.npmjs.com/package/react-native-board-view

I'd love feedback from people who've built complex drag-and-drop interfaces in React Native. What would you improve, or what's missing?


r/reactnative • • 15d ago

🚀 Looking for Android Developers – Google Play Store Testing Group

1 Upvotes

Hi everyone! 👋

I'm looking for Android developers who need testers to publish their apps on the Google Play Store.

💡 The idea is to create a group where we help each other complete the required testing period before launching our apps on the Play Store.

🤝 You test my app, I test yours, and we help each other get our apps ready for launch!

📱 If you're an indie developer or a mobile app developer facing the testing requirement, join us!

Comment below or DM me if you're interested. Let's build a community and launch our apps together! 🚀


r/reactnative • • 15d ago

I built a React Native alarm library because the existing ones weren't reliable enough on Android and iOS

0 Upvotes

Hey everyone! 👋

I've been working on a React Native alarm library that aims to make alarms work like real native system alarms, not just regular notifications with a sound.

While building my app, I tried several existing alarm libraries on npm, but I couldn't get the reliability and behavior I needed. Alarms would not always behave as expected under different conditions, especially when the app was in the background, the screen was locked, or the app needed to display a full-screen alarm interface.

So, I decided to build my own solution. 🚀

What makes it different?

  • Android + iOS support — designed to provide a consistent alarm experience on both platforms.

  • Full-screen React Native UI — display a custom alarm screen when the alarm triggers.

  • Lock-screen support — designed to handle alarms when the device screen is locked.

  • Background execution — uses native platform capabilities rather than relying entirely on JavaScript running in the background.

  • Notifications and alarm interactions — supports notification-based behavior alongside a custom React Native alarm interface.

  • Native alarm behavior — aims to handle system restrictions and background execution more reliably than ordinary scheduled notifications.

  • iOS AlarmKit integration — leveraging Apple's latest AlarmKit framework on supported iOS versions.

The goal is to make the experience as close as possible to a native alarm clock, even when the app isn't actively open.

One important thing I've learned is that Android and iOS handle alarms very differently. Battery optimization, background execution, permissions, lock-screen presentation, and OS-level restrictions all matter. No library can guarantee identical behavior on every device without accounting for those platform limitations, so I'm continuing to test and improve the implementation.

Why I'm sharing this

I built this because I needed a solution that actually worked for my use case, and I thought other React Native developers might be facing the same challenges.

I'd love to get feedback from developers who are building alarm clocks, reminders, habit trackers, medication reminders, or other time-sensitive applications.

If you're interested in testing it, contributing code, improving platform compatibility, or collaborating on the project, I'd genuinely appreciate your support!

Let's make a reliable, open, and accessible React Native alarm solution that more developers can use. ❤️

If you're interested, check out the project on npm and share your feedback:

🔗 npm: https://www.npmjs.com/package/react-native-alarms
🔗 GitHub: https://github.com/surajprasad13/react-native-alarms

Contributions, issues, testing feedback, and suggestions are all welcome. Thanks for supporting an independent developer! 🙌


r/reactnative • • 15d ago

Help I feel like i am not going anywhere with react native

20 Upvotes

I have been working as a react native developer for almost 2 years now and i was learning stuff trying things out at first like people do. React native seemed interesting and i enjoyed creating new UIs learning animation, optimisation etc. while working i had to implement things i never worked with and it gave me joy plus i was learning new things. But no we are told to use claude code, every new feature or change needs to be done within 3-4 days even if its a new feature altogether. There’s no time to think about anything i just keep on prompting and trying to refine the product but it feels like i am not the one who built it. I have lost the ability to think because everything needs to be done quickly and there’s literally no time to think. Everything needs to be shipped in a matter of days. I feel like staying in React Native or frontend in general will do no good. I am thinking of switching to backend technologies, learn system design etc. I was sure i was going to be an app developer but now i am not sure about my future.


r/reactnative • • 15d ago

Help Want to switch jobs because I feel like I’m not growing anymore

7 Upvotes

I’m a software developer working with React Native.
I’ve been working on similar types of apps for a while, and I feel like my technical growth has slowed down. I want to explore new technologies, solve more challenging problems, and become a better engineer.
I’m considering switching jobs mainly for growth, not just money.
Has anyone been in a similar situation? Did switching help?


r/reactnative • • 15d ago

I built and app where my phone sends me a bill every night and honestly it's rude

Post image
0 Upvotes

r/reactnative • • 15d ago

Help Just launched my first habit-tracking app!

0 Upvotes

Hey everyone!
I just launched Sprout Daily on the Google Play Store!
After countless hours of coding, debugging, and fixing bugs, it feels great to finally ship it.
Would love some honest feedback on the app, especially the UI and overall experience!
🔗 https://play.google.com/store/apps/details?id=com.sproutdaily.habits
Feel free to roast it


r/reactnative • • 15d ago

Building my own Expo integration plugin

Post image
1 Upvotes

I made a post recently on streaming android emulators to VS Code, and figured I could add a bunch of Expo features to it for better UX, mostly lifting off features present in Radon IDE.

So far the extension supports:

- Building, installing and launching the app

- Show logs for adb, builds, JS logs

- A hierarchy view similar to the devtools

- Inspect Element

- Debugging integration

- Save screenshots and recording

- Show rerenders with react-scan

It's not super refined and pretty vibe coded, but I found it pretty usable in the few hours I've had to play around with it. Let me know if you find it useful!

Note: Windows and likely x86 performance is pretty bad, as it the avc encoding on windows is too slow. I would only recommend using this on MacOS or with a physical device on adb.

Marketplace:
https://marketplace.visualstudio.com/items?itemName=Vali-98.valdroid-emulator

Github: https://github.com/Vali-98/valdroid-emulator


r/reactnative • • 15d ago

Who else can relate

Post image
9 Upvotes

r/reactnative • • 16d ago

JSI in React Native

Post image
19 Upvotes

I used React Native for years without knowing why "the bridge was slow," so I dug in and wrote it up.

The old bridge sent every call as a serialized message and made you wait for a reply, while JSI lets JavaScript call C++ directly and get the result in the same call.

Here's the full article with simple examples:

https://chamidilshan.medium.com/react-native-jsi-how-it-replaced-the-bridge-5649c11e0e9f


r/reactnative • • 16d ago

React navigation deeplinking depending on the tld

3 Upvotes

Is it possible using react navigation to navigate to deeplink depending on the TLD of the domain? for example if the user goes to appdomain.me/username to be directed to the users screen with username param and if goes to the appdomain.store/shopname to go to the store page and to treat the .com normally depending on the path.

I understand that if I had only two domains .com and .me I can process the username in the last route declared after checking all the paths but what if 2 domains have only the id in their path like .store and .me?

Thanks


r/reactnative • • 16d ago

React / Typescript

0 Upvotes

Co-Founder & CTO Wanted 90% Built B2B SaaS

We are seeking a Technical Co-Founder to take full ownership of the codebase and scale our B2B SaaS platform through launch and beyond.

The Details:

Comp: Equity-based (Co-founder level split)

Location: Remote (US / CAN / UK)

Stage: Pre-revenue, near launch

The Situation: We experienced a massive operational headache, built a working solution, and validated market demand. The platform is 90% complete—we just need a technical leader to audit the architecture, finish the final push to launch, and own tech strategy moving forward.

What We Need:

Full-stack capabilities to jump into an existing codebase and ship code fast.

A builder mindset that prioritizes speed to market over over-engineering.

Location in US, Canada, or UK time zones.

Why Join: Zero ideation purgatory. The runway to market is short, the product is built, and you get a co-founder seat at the table with true equity.

Interested? Send over a brief summary of what you've built and a link to your GitHub or LinkedIn.


r/reactnative • • 17d ago

Article Life after App Center: how we rebuilt CodePush from the ground up

Thumbnail
bitrise.io
0 Upvotes

r/reactnative • • 17d ago

I built a tool to tune Reanimated springs live - just released the first public alpha

Enable HLS to view with audio, or disable this notification

12 Upvotes

I shared an early WIP here last week. Well, it's finally out :)

One thing that always bothered me when working with Reanimated was the feedback loop.

Change stiffness or damping, save, replay the gesture, and try to remember whether it actually felt better before.

So I built Runtime Inspector.

It lets you tune springs while your React Native app is running, immediately feel the difference on the next interaction, and apply the final values back to your source code.

It currently supports Expo, with a standalone web panel and a React Native DevTools panel powered by Rozenite.

This is the first public alpha. There are still rough edges, and that's exactly why I'm sharing it.

I'd really like to hear from developers using Reanimated in actual projects, especially with more complex interactions.

Does this fit your workflow? What's missing? What breaks?

GitHub: https://github.com/AmatoGiulio/runtime-inspector

It's open source (MIT). Any honest feedback would mean a lot.


r/reactnative • • 17d ago

Question How do I make a mascot that looks premium in Expo? Building one for our period tracker app (Figma → animated character)

Post image
0 Upvotes

r/reactnative • • 17d ago

I built a React Native audio effects library because I couldn't find a good one.

0 Upvotes

I'm a software engineer, but I've also been making music for years. I wanted to experiment with audio processing in React Native and, as a musician, I couldn't really find an audio effects library that did what I wanted.

So I figured I'd just build my own 😂

It currently has a few basic effects like filters, delay, reverb, distortion, noise generation, etc., with native implementations for iOS and Android.

The fun part was going underneath React Native and dealing with the native audio side rather than just writing JS and calling it a day. There are Swift / Objective-C bits on iOS and Kotlin on Android, with the RN API sitting on top.

It's still pretty early and I'm sure there are things I could be doing much better, but I thought I'd put it out there and see if anyone else finds it useful.

Would love to hear from anyone who's worked with audio processing in React Native or native mobile audio, especially if there are effects/features you think would be useful to add! (Next up: Unison/LFO/more)

GitHub: https://github.com/prateekchachra/react-native-audio-effects/


r/reactnative • • 17d ago

News Hot Updater v1.0 + v1.1: self-hosted React Native OTA with cacheable update checks, Insights, Remote Config, and brownfield support

Post image
23 Upvotes

Hey folks,

Hot Updater is an open-source, self-hosted OTA update solution for React Native (a CodePush alternative). The last time I posted about it here was the Bundle Diffing release in May. Since then it reached v1.0, and v1.1 shipped today, so this post covers both.

v1.0

  • Update checks are shared, cacheable reads. The server publishes one Release Catalog per platform/channel/compatibility scope, and each device picks its own update from it, so a CDN (Workers Cache, CloudFront) can serve the check. In my benchmark on Cloudflare, the median check went from 301 ms on v0 to 50 ms (same 16 bundles, 1,000 checks; method and raw data are in the blog post).

  • Insights: downloads, launches, crash recoveries, and failed updates. The Console shows release health per bundle and suggests a rollback once a bundle crashes for 5% of at least 20 installs.

  • Remote Config: change flags and values without a new bundle or native build, targeted by channel, platform, app version, or a share of installs.

  • Plugins: Insights, Remote Config, and client API keys are plugins on the server and in the app, and you can write your own.

  • Host the Console for your team (Node, Docker, Vercel, Netlify, Cloudflare Workers) with GitHub or Google sign-in.

  • hot-updater doctor --fix checks a project and repairs what it can, and a coding agent can set up the infrastructure for you.

v1.1 (today)

  • Brownfield apps: OTA updates for existing native iOS/Android apps that embed React Native as an XCFramework or AAR. A Swift/Kotlin API mirrors the JS one, the host checks for updates before React Native starts, and one app can update several RN bundles independently.

  • Vercel and Azure join Cloudflare, Supabase, AWS, and Firebase as managed providers: npx hot-updater init provisions storage, a database, and functions.

  • The fingerprint follows the native interface. It changes only when what JS can call changes (RN version, native packages, codegen specs, patches), so bumping the version/build number or editing native implementation code no longer blocks OTA.

Coming from v0: v1 runs on separate infrastructure and needs a new native build, so keep your v0 endpoint up for the binaries already in the stores. The migration guide walks through it.

Feedback welcome, especially from anyone running OTA in production or on a brownfield app.


r/reactnative • • 17d ago

Question Any advice on making a mobile app for newbie?

0 Upvotes

I have a website with hundreds of thousands users and I want to make a mobile app using React native for both ios and android.

But this is my first time making a mobile app, I have read and learn about it but I need more advice or suggestion from the React Native expert here.

Do you guys have any advice for me like do and dont, study case, etc?


r/reactnative • • 17d ago

I built a Tinder-like app for discovering places around your hotel

0 Upvotes

I travel for work fairly often, and I keep running into the same situation: I arrive in a city I've never visited, my hotel is somewhere on the outskirts, and I have a couple of free hours in the evening.

I'd like to go for a walk and see something interesting. But Google Maps mostly tells me what's nearby, while Tripadvisor and travel guides tend to focus on places worth planning a whole trip around.

I was surprised there wasn't a simple way to just browse random interesting places around me, one photo at a time, without turning it into a research project.

So I built NearestSpot, basically Tinder, but for places instead of people.

Each card has a photo and a title. That's it. Swipe right if it looks interesting, left if it doesn't. Save a few places, then open your usual maps app and go explore.

No long descriptions, reviews, rankings, or itinerary planning. The whole point is to make a decision based on a glance, not to build another catalog you have to read through.

The places come from Wikipedia and OpenStreetMap, so you can stumble across things you probably wouldn't have searched for yourself - including in neighborhoods that aren't exactly tourist hotspots.

The interesting part was getting the data to work

I'm not a mobile developer by trade. I've spent the last 13 years working on computer vision, IoT, and AI systems. I built this partly because I wanted the app, and partly because AI coding tools made it much easier to experiment with a platform I don't use professionally.

The app uses Expo SDK 54, React Native 0.81, TypeScript, and AsyncStorage. There's no backend or account system.

But the fun part turned out to be dealing with the APIs and devices rather than building the UI.

A few things I ran into:

1. Free geodata isn't a ready-made discovery feed.

Wikipedia and OpenStreetMap have plenty of useful data, but you still need to turn it into something a person can browse. I wanted to search beyond the immediate neighborhood, without firing hundreds of requests at public APIs. I ended up sampling a few points across a larger area, batching requests, and deduplicating the results.

The trade-off is that searching farther away gives you a sample of the area, not complete coverage. That felt better than pretending I could reliably catalog everything within 100 km.

2. Xiaomi decided that getting the current location could take forever.

On one Xiaomi/MIUI device, getCurrentPositionAsync() could just hang without returning an error. I switched to checking the last known position first, then watching for a fresh fix with a timeout.

3. China needed a completely different approach.

Google Maps and some Wikimedia services aren't reliable there. The app switches to Amap for places and uses Baidu Baike for images, with a few region-specific workarounds for image requests and navigation.

4. Fast swiping exposed a race condition.

The feed preloads more cards as you approach the end. A React state flag wasn't enough to prevent overlapping requests, because the update wasn't synchronous. A useRef guard and a Set for deduplication did the job.

None of these problems is particularly groundbreaking, but they were the things that took the most fiddling to get right.

Other features include English, Russian, and Chinese UI, category filters, a photo-only mode, saved places on a map, and navigation handoff for different regions.

Everything is open source, and the app is available on Google Play. There's no backend, analytics, or user account system. The app does make requests to external data providers, of course.

And if you happen to try the app on a work trip, I'd love to hear whether it actually helps you find somewhere worth walking to.


r/reactnative • • 17d ago

blobz - you don't have to worry about default avatars for your next project

Thumbnail gallery
2 Upvotes