r/reactnative

222 FILES CHANGED IN 1 PR?! for a text scaling issue😭

222 FILES CHANGED IN 1 PR?! for a text scaling issue😭

What should I do with this React Native Developer in the team with 8YOE raising such PRs?

Recently there was an instance where I asked them “Have you reviewed this code written by AI before raising the PR?” To which they say “No not this one”????😭😭😭😭

u/amanxsharma20 — 3 hours ago
▲ 101 r/reactnative+5 crossposts

We kept running into the same problem when sharing React Native staging builds.

PMs, designers, and backend engineers on our team often needed to check a staging build. Sometimes they wanted to verify a layout, sometimes reproduce a bug, or just confirm that an API change behaved the way they expected.

Sending the build wasn't the hard part.

Actually running it was.

Most people didn't have Xcode or Android Studio set up, and asking them to install everything just to check one build wasn't realistic. The alternative was usually asking a mobile developer to install the app or share their screen, which happened more often than we'd have liked.

We looked at services like Appetize and BrowserStack, but they didn't really fit how we work. We already had Macs available internally, and we weren't comfortable uploading app binaries to an external service just so teammates could review a staging build.

So I started building an open-source tool that runs iOS simulators and Android emulators on a Mac and streams them to the browser.

The idea wasn't to replace TestFlight or Appetize. I just wanted an easier way for teammates to review staging builds without needing a mobile development setup.

It's still early (v0.x), but building it has taken me into a lot of areas I hadn't worked on before—video streaming, low-latency input forwarding, simulator orchestration, and React Native QA workflows.

I'm curious how other React Native teams handle this.

How do non-mobile developers on your team review staging builds?

  • TestFlight?
  • Internal APKs?
  • BrowserStack or Appetize?
  • Something else?

If you're interested, here's the project:

https://github.com/jo-duchan/tapflow

u/UsefulPomegranate150 — 16 hours ago

Ideas for practice projects?

Want to practice developing my first production ready apps soon. But I don't want to do the standard boring projects like a todo app I would never use myself.

Do you have any interesting project ideas? Preferably ones that one could actually use themself after developing them

reddit.com
u/viclevstudios — 11 hours ago
▲ 1 r/reactnative+1 crossposts

[Free] MTG Verdict: AI judge for Magic Commander

Made an app for people who play Commander (the multiplayer Magic: The Gathering format). Posting in case anyone here shares the hobby.

What it does:

  • Table tracker for up to four players: life, poison and commander damage on one screen
  • An AI judge you can ask rules questions in plain language. It looks up the actual current card text when it answers, which was the main thing I fought to get right so it doesn't invent rulings
  • Deck analysis: import a list from Moxfield or Archidekt and it grades your mana base, counts your ramp, removal and card draw, flags where the deck is weak, and can suggest cuts
  • A mulligan simulator and a combo finder for your list

Free to start. Works in English, Spanish and Portuguese.

I'm the developer, so ask me anything. If a ruling ever looks wrong, please tell me, that's exactly the feedback I need.

play.google.com
u/Fullbusterz_15 — 8 hours ago

I joined a 50L+ download app, and the codebase taught me something unexpected

After a pretty exhausting 2–3 month hustle, I finally joined a new company. And honestly, one of the things that surprised me the most wasn’t the scale of the company — it was the codebase.

The application has 50 lakh+ downloads on the Play Store, lakhs of users, and significant daily traffic and transactions. From the outside, I assumed that an application operating at this scale would have an almost textbook-level codebase: perfectly optimized, clean architecture, every hook used correctly, minimal technical debt, etc.

Then I started working on it.

I found quite a few things that, as a developer, I would consider obvious mistakes — unnecessary re-renders, poor usage of optimization hooks, small performance issues, inconsistent patterns, and other things that made me think:

"How is an app this big running with this kind of code?" 😅

Initially, I was genuinely surprised.

But after discussing things with the CTO and other tech leads, I started understanding the bigger picture.

The business doesn't necessarily need the cleanest codebase in the world. It needs a product that works, scales enough for its requirements, and delivers value to users.

And that changed my perspective a bit.

As developers, we can sometimes become obsessed with things like:

  • Clean code
  • Perfect architecture
  • Optimization everywhere
  • Following every best practice
  • Removing every bit of technical debt

And yes, these things absolutely matter.

But they aren't always the highest priority for a business.

If spending two weeks refactoring something doesn't improve the customer experience, reduce a meaningful cost, or solve an actual business problem, it might simply not be the most important thing to do right now.

This experience also made me think about founders and early-stage companies.

I see a lot of founders worrying about "What tech stack should we use?", "How perfect should our architecture be?", or "What will our codebase look like five years from now?"

Sometimes the better question is simply:

"Are we solving a real problem for our users, and are we building a sustainable business around it?"

Because apparently, you can have millions of downloads and a huge number of daily transactions while still having some pretty silly code sitting somewhere in the repository. 😂

And maybe that's okay.

Good engineering isn't always about writing the most beautiful code possible. Sometimes it's about knowing what deserves your engineering effort — and what doesn't.

Curious to hear from other engineers and founders:

Have you ever joined a large-scale product and been surprised by the quality of its codebase?

And where do you draw the line between "we should fix this" and "it's working, let's focus on the business"?

reddit.com
u/Realistic-Refuse-758 — 10 hours ago
▲ 1 r/reactnative+1 crossposts

Best way to fetch/compare grocery prices across multiple Dutch supermarkets in a serverless app?

Hey everyone,

I'm building a personal price-comparison app in react native where users can scan a barcode or search for a product, and the app compares the prices across multiple Dutch supermarkets (like Albert Heijn, Jumbo, Dirk, etc.).

My backend is built with Flask and hosted for free on Vercel. However, I'm running into the classic cloud-hosting wall: almost all major supermarket websites block or throw 403 forbidden errors on standard requests from Vercel's datacenter IPs due to anti-bot protection.

Since I want to keep this lightweight and free (serverless), I'm looking for architectural advice on how people usually build multi-supermarket scrapers or price checkers:

  • What are the best free or low-cost ways to bypass these blocks for multiple different domains?
  • Are there alternative public endpoints, unofficial APIs, or lightweight proxy setups that make it possible to aggregate prices from multiple grocery chains?

Any architectural tips, code patterns, or alternative approaches would be super helpful!

reddit.com
u/Holiday-Being9972 — 13 hours ago

How would you structure an AI-assisted React Native rewrite workflow?

Disclaimer: This question is written with the help of AI, but that doesn't mean it's slop. It's a genuine problem I'm facing at work. Please don't be quick to judge or dismiss this as AI Slop.

I’m rewriting an entire React Native application from scratch, using the existing app as the baseline and AI (primarily Claude Code) heavily in the process.

I’m trying to design a migration workflow that gives me high reliability without burning an insane number of tokens.

My priorities are:

  1. Complete parity with the baseline — nothing important should get missed.
  2. Strict adherence to a predefined code architecture — folder structure, design patterns, separation of concerns, naming conventions, etc.
  3. Do not port over existing smells, hacks, or bad practices — the baseline should be treated as a behavioural reference, not a code reference.
  4. Keep token usage low without compromising quality — avoid repeatedly feeding huge amounts of context to the model or having agents redo work unnecessarily.

I’m particularly interested in hearing from anyone who has done something similar.

If you’ve used AI for a large-scale rewrite/migration, how did you structure the workflow? Did you use specific agents, skills, validation steps, checkpoints, etc.?

Even if you haven’t done an AI-assisted rewrite, I’d also love to hear about workflows you’ve used for large-scale migrations/refactors that consistently produced good results.

I’m mainly looking for practical approaches that scale beyond simply “migrate one feature at a time.”

reddit.com
u/Wyckoff-XD — 15 hours ago
▲ 28 r/reactnative+1 crossposts

I rebuilt my solo F1 app from scratch after 2 years — PlanB 3.0

Hey — I'm the solo dev behind PlanB, a free F1 companion app.

Full disclosure, I built it, not trying to hide that.

Started it two years ago because I was tired of jumping between three websites just to check when a session starts and what happened in it.

It's still an evenings-and-weekends project, no funding, no team.

This week I shipped 3.0, and it's an actual rebuild, not a facelift:

new design, new navigation, and the thing I'm most proud of — a race dashboard that shows tyre strategy, position changes lap by lap, lap time comparisons, and overtakes for any session. Plus widgets on iPhone, Android and Apple Watch.

Free, no ads, no accounts, no tracking. Not trying to turn it into a business.

iOS: https://apps.apple.com/app/id6503033841

Would love feedback, especially the critical kind

u/mbhusty — 19 hours ago

iOS: writing to local SQLite from a killed-state push notification — is there any way around the JS/native split?

>We have a React Native chat app. All our SQLite reads/writes live in JS (OP-SQLite), driven by a WebSocket sync pipeline (connect → request cursor-based sync → server replays missed messages → write to DB).

On Android, this works great even when the app is killed: setBackgroundMessageHandler boots Headless JS, which can call our normal JS sync code directly, write the message, and exit. Message is in the DB before the user ever taps the notification.

On iOS we're stuck. As far as I can tell:

  • UNNotificationServiceExtension (the killed-state hook) runs as a separate native process and can't call into our JS/Hermes engine at all — no bridge, no way to run our existing sync code there.
  • Silent push (content-available: 1can wake JS, but only if the app is backgrounded, not force-quit — and Apple caps delivery at roughly 2-3/hour/device, which won't keep up with an active chat.
  • We looked at how Signal-iOS does it (their NSE decrypts + writes to their shared GRDB database directly, in Swift) — but that means reimplementing our socket client and insert logic as a second, separate Swift codebase writing into the same SQLite file as our JS code. Feels like a real "two sources of truth" risk, and we couldn't find any RN app doing this in the wild.
reddit.com
u/StillName1654 — 20 hours ago

I need a help regarding react native application

I'm working on a react native application I use react native because I want to make my application work on both ios and android, and I use expo go for development now the problem is reazor pay gateway is not supported on expo go and I want to check payment is working or not before making my application live so u have any suggestion for which other payment gateway I can use or any trick that I use for testing my payment.

reddit.com
u/softieglow07 — 1 day ago
▲ 15 r/reactnative+8 crossposts

I made a free Skia UI library for RN UI components (buttons, panels, glass effects)

l kept struggling to find Skia shader components that were actually ready to drop into an RN app. most shader code out there isn't built for RN's Skia renderer at all. So l put together my own library. Some shaders are free, others are from artists who charge for their work

l know ShaderToy exists, but that's generic GLSL you'd have to manually port to SkSL and adapt for RN UI. Мinе is already RN-Skia-ready and built specifically for UI components like buttons and panels etc.

Let me know if you'd use something like this

u/Difficult-Sun295 — 1 day ago
▲ 8 r/reactnative+1 crossposts

Just some tiny self hosted OTA updates over supabase/cloudflare open source tools

Hey guys! I usually use the free tier supabase or cloudlflare as backends for self hosted expo OTA updates for my apps and just thought to publish the tools I use in public.
They are pretty helpful if you have a small app and don't plan to make updates every single day so the free tier can be more than enough and you don't have to configure any server at all.
Anyway, enjoy

https://github.com/allxandr/supota
https://github.com/allxandr/cfota

reddit.com
u/Recent-Peanut-3449 — 1 day ago

[Showcase] nativecn-ui — animated React Native components you can copy and use

Hey r/reactnative,

I've been working on nativecn-ui, a small collection of React Native components focused mostly on animations and interactions.

Right now it's got stuff like a liquid action tab bar, animated tab bar, range slider, OTP input, dynamic upload, plus a few more I'm still working on.

You can check it out here: nativecn-ui

Still building it out, so lmk what you think, or if there's some component/interaction you'd want to see added.

Made a quick video showing a few of them below.

https://reddit.com/link/1vrhmt8/video/3ej98p6qv2kh1/player

reddit.com
u/Fresh-Wealth4531 — 2 days ago

Stop Laggy Lists in React Native

Hey guys! First time here, just wanted to share my article about FlatList optimization. I know, it is a popular question but some days ago I found a cool trick with using Set over standard Array. It perfectly aligns with popular optimization practices and for me it felt like I found a gem.

medium.com
u/grnxscr — 2 days ago

The bug that hid from me for two weeks

So a while back i was working on this checkout flow for some side project. nothing fancy, just something basic e-commerce type page where users pick a plan,apply a coupon if they have anything with them,and then pay….

I tested it myself probably a hundred times and may be more too. clicked every button, tried different plans, with coupons, without coupons, everything looked fine, I even got a couple of friends to click around and they tried to break it, for me, nobody found anything… :(

So I thought of shipping and shipped it and moved on to other stuff, feeling pretty good about myself honestly.then about two weeks later i started getting some new few angry messages. some users were saying they got charged twice for the same order… OMG!!

But not everyone, just some users and the annoying part? when i tried to reproduce it myself,using the exact same steps they described, everything worked perfectly, no duplicate charge, nothing wrong.

I remember sitting there thinking,okay... this does not make sense either they are doing something really wrong or weird, or am I missing something really obvious…

Started thinking and it turns out, I was missing something, the bug only happened when a user applied a coupon,removed it, and then quickly clicked the pay button before the page had fully re-synced the price with the backend…

Basically, a race condition between the coupon removal request and the payment request and if you were testing it slowly, like a normal developer, you will probably never see it but real users do not test your application like developers do.

they click fast!

they change their mind!

they click twice because the button did not respond for half a second!!

they go back and forth!!!

they do things in an order you never really thought about, right!

and apparently, all those messy human behaviours were exactly what exposed the bug..

I kept trying to get it manually and kept failing because i was testing it like a developer, one step at a time, waiting for everything to load, making sure each action, has to be finished before doing the next one.

But the actual bug lived in that tiny window where two things happened almost at the same time, It was basically like trying to catch a 10$ note flying down the street in the wind.

You can see it, you know its there, but by the time you reach for it... it's already somewhere else, that experience finally pushed me to write some automated tests for the checkout flow. not just normal does this button work tests.

I made the tests hammer the coupon apply -> remove -> pay sequence over and over, really quickly, sometimes in weird orders scenes,basically doing things no person would sit there and repeat manually 50 times.

and sure enough...

the first time I ran it, it failed almost immediately, same bug reproduced on command in seconds, a bug that had taken me two weeks and several annoyed customers to even discover.....

A human tester probably wont click the same weird sequence 100 times but a script will....

ever since that incident, I started automating more. I began been playing around with tools like Autosana for testing,mostly cause i really don't wanna sit there and repeat that same weird flaws again and again and again....

not because i read it somewhere in some posts or anything like that, mostly because i actually got fed up by bug that manual testing have almost zero chance of catching…

Curious if anyone else has had something similar happen, that one bug that just refused to show itself until you stopped testing carefully and started testing a little more... (chaotically)

u/Warrior_monk07 — 3 days ago
▲ 18 r/reactnative+18 crossposts

I Built a Simple Asset Management App Because Spreadsheets Were Driving Me Crazy

I got tired of managing company assets in spreadsheets, so I built my own mobile asset management app.

Most tools I found were either:

Too expensive

Too complex

Enterprise-focused

Not mobile friendly

So I created Comodo — a simple asset management app focused on: ✅ Asset tracking

✅ Inventory management

✅ Employee assignment

✅ QR/barcode support

✅ Fast mobile access

It’s mainly designed for small businesses, technicians, warehouses, and teams that just want a clean and easy system without heavy enterprise setup.

Still improving it actively and adding features based on feedback from users.

Would genuinely appreciate feedback from IT admins, storekeepers, technicians, or anyone managing equipment daily.

Android: https://play.google.com/store/apps/details?id=com.comodo

u/tprakash45 — 2 days ago
▲ 15 r/reactnative+1 crossposts

Native tabs with glass effect are not rendering content cleanly

How come when I first open the app up the contents of the tabs are not renting the text and position correctly?
Not only does this happen when I first opened the app, but some screens make the tab bar disappear and when I go back, it’s the same.

If I click onto one of the tabs that is not running correctly, once the active tab updates it becomes rendered correctly

Attached two photos, one before and one after which is how it’s supposed to look all the time

Appreciate any insights or ideas.

u/lucksp — 2 days ago

What could be causing these kind of visual glitches on a Flat List ?

I have a user with a particular bug which I cannot reproduce. On one particular screen in my app they are seeing some really weird visual glitches, it almost looks like GPU textures are overflowing or something. They say it looks different every time the screen opens.

u/alexfoxy — 1 day ago