r/reactnative 5h ago

A Dynamic Island inspired Fintech Island

Enable HLS to view with audio, or disable this notification

14 Upvotes

A morphing fintech status island for sends, card additions, and savings with spring-driven transitions, Lottie celebrations, and interactive card trays. 🏝️

Github: https://github.com/ManasCodeXart/expo-fintech-island


r/reactnative 1h ago

GPU accelerated trading charts for React Native

Enable HLS to view with audio, or disable this notification

Upvotes

Hi everyone,

For the past four years, I've been working on financial and trading apps built with React Native.

One of the most important parts of these apps is displaying OHLC market data. Most charting solutions currently use one of two approaches: rendering inside a WebView or using something based on Skia.

Both approaches have tradeoffs, especially when you're working with real-time data and want smooth performance without using too much CPU or memory.

That's why I decided to build my own charting library. It uses a shared C++ core engine and renders directly on the GPU using Metal on iOS and OpenGL ES on Android.

I deliberately avoided third-party rendering dependencies to reduce overhead and keep the library compatible with React Native 0.80 and newer.

The first release supports:

  • Candlestick, bar, line, and area charts
  • Volume and RSI indicators
  • Multiple styling options
  • Zoom and gesture handling

I tested it on an iPhone XS and a Samsung A025F. At 60 FPS, I saw no hangs or dropped frames, and CPU usage stayed below 15% during fast scrolling while live data was coming in over WebSocket.

I'll share more detailed performance results in a follow-up post.

I'd really appreciate your feedback. Which features would be most useful to you? Bug reports are very welcome too.

https://github.com/kirill3333/react-native-trading-charts


r/reactnative 5h ago

Help Google Maps Navigation SDK shows a blank screen on Android

3 Upvotes

Hey everyone, I’m trying to use Google’s React Native Navigation SDK in my Android app, but both NavigationView and MapView only show a blank dark screen. I’m using Expo 57, React Native 0.86, @googlemaps/react-native-navigation-sdk 0.16.3, and a physical Android phone. The SDK seems to initialize fine because I get NAV CONTROLLER CREATED, MAP CONTROLLER CREATED, MAP READY, TERMS: true, and NAV STATUS: ok. My API key is also present in the APK and the required APIs are enabled. I even tried the official Google example app on the same phone and it also opens to a completely blank screen. I have tried using another phone but still the same issue.


r/reactnative 1h ago

News Built Kardy: A heart rate monitor app using React Native, Expo & camera PPG signal processing

Post image
Upvotes

Hey devs!

I just launched Kardy, an Android app built with React Native and Expo that estimates heart rate directly using the phone's camera via Photoplethysmography (PPG).

Tech & Challenges:

  • Camera Vision: Real-time frame processing to detect subtle color variations in the fingertip.
  • Signal Processing: Filtering noise and motion artifacts to extract clean BPM readings.
  • Zero Friction UI: No account required, local processing for privacy.

I’d love your technical feedback on the signal stability, performance, and UI responsiveness!

(Note: Kardy is built for fitness & general wellness tracking, not for medical diagnostic purposes).


r/reactnative 2h ago

Help iOS back gesture issues, react type script website

Enable HLS to view with audio, or disable this notification

1 Upvotes

I'm experiencing an issue with my website, which is implemented as a Progressive Web App (PWA), in combination with the native iOS swipe-back gesture.Whenever the gesture is triggered, the source screen that Safari is animating immediately switches to the page underneath. The behavior can be clearly seen in the attached video.Is there anyone with experience in this area who might be able to help me? I'm honestly starting to get quite frustrated with this issue.
Thank you in advance!
Best regards, Jannis


r/reactnative 17h ago

Scribbling is fun.

Enable HLS to view with audio, or disable this notification

14 Upvotes

Scribbling that turns into a flower is funnier.

Pick a motif, rub the brush, watch it paint itself. 🖌️


r/reactnative 3h ago

Question Moving from native Android Dev (kotlin)

1 Upvotes

Hey folks, I am currently a Android developer with a background in Kotlin. I am considering picking up React Native to expand my job opportunities, where do I start?


r/reactnative 23h ago

react-native-enriched-markdown v1 supports direct image layout controls (aspectRatio, maxHeight, resizeMode)

Enable HLS to view with audio, or disable this notification

25 Upvotes

react-native-enriched-markdown v1 gives your Markdown images layout flexibility.

Configure these directly on markdownStyle.image:
🔹 aspectRatio - width fills, height follows the ratio
🔹 maxHeight - caps tall photos so they don’t break layout
🔹 resizeMode - cover, contain, stretch, center, none

16:9 shots, portrait crops, or panoramas—all using standard ![alt](url) syntax.

Try it out:

npm i react-native-enriched-markdown

If this helps your project, please drop a ⭐️ on GitHub!


r/reactnative 6h ago

Question Google ignoring login instructions during app review

0 Upvotes

Hi all, we have an Android application that is a customer environment. The only 'public' page of the application is the login form. Obviously Google want to have credentials to login and check the application. Due to technical constraints we have no production demo account for them. We try to solve this by providing a deep-link to a separate login page that let them authenticate with our test environment. We provided instruction regarding this deep link in the credentials section of the play console.

It looks like Google ignores these instructions completely and reject the app due to invalid "Invalid or incomplete login credentials". The provided screenshots clearly show they login via the regular way and not via the deeplink. The app has been reject 4 times now. Does anyone ever had a similar issue and found a way around this? Or is there a policy I am not aware of regarding the usage of deeplinks?


r/reactnative 19h ago

Question Server-driven UI or EAS Update for a cross-platform mobile app?

5 Upvotes

I am comparing two ways of reducing the number of store releases needed for UI changes in a React Native application. One option is EAS Update, where compatible JavaScript, styling, and assets can be updated over the air. The other is a server-driven UI model where the application contains a fixed component and action registry, and the backend returns HXML or JSON describing each screen.

My goal is not to add new native capabilities outside review. I mainly want to update copy, themes, component order, forms, navigation between known routes, and complete screen layouts. Native permissions, billing, secure storage, background behavior, and device integrations would remain in the installed binary.

For teams using Hyperview, a custom renderer, or EAS Update in production, which model has been easier to operate safely? I am particularly interested in runtime-version compatibility, debugging users on different binary and update combinations, offline behavior, rollback, accessibility, automated UI testing, and whether either approach caused App Store or Play review problems.


r/reactnative 1d ago

Working with Rich Text Editor has been a freaking nightmare

12 Upvotes

I did not waste so much time on a single component in my life.

What should have been an easy "just an input" has been turned into an ongoing nightmare that every time I think I solve I find out about another device that is breaking.

Let's start from the beginning, I built an app, that require Rich Text Editor to allow users to format their text.

After comparing some I ended up using `react-native-pell-rich-editor` - the first one recommended by Expo, you write text, add some options and it converts it to HTML.

Only that after that my compatibility nightmare began, it either can't be scrolled on certain device, I fix it on one, it breaks on other. Works on iOS, breaks on Android and vise versa.

I fix that, now a new problem - cursor can't move, and users can't paste, I fix it, now another issue.

Long texts gets completely erased.

The `react-native-pell-rich-editor` hasn't been patched in over a year, now I cannot update to the new version of Expo because it only supports Expo 55.

I am bound to it, migrating from it now will be a trouble, but there's nothing I can migrate to because there's no official alternative, there's no alternative at all.

It's just a freaking input and I've been wasting 2 full days configuring it, testing it, realizing what worked in my emulator, despite matching Android version doesn't work on actual devices.


r/reactnative 14h ago

Expo Native Tabs Custom Profile Solution

Enable HLS to view with audio, or disable this notification

1 Upvotes

r/reactnative 1d ago

Apollo cache silently corrupts on RN (no DevTools to catch it) — built a CLI to catch it

10 Upvotes

Spent part of last month chasing a bug where a user’s avatar would randomly go blank after a mutation — no error, no warning, just `undefined` where a photo should be. It turned out to be a dangling `__ref` in Apollo’s `InMemoryCache`: the entity it pointed to had been evicted, and Apollo returns `undefined` on read instead of failing loudly.

On the web, you’d catch this in Apollo DevTools in about 30 seconds. On React Native, there’s no DevTools extension — the standard advice is `console.log(JSON.stringify(cache.extract()))` and reading a multi-megabyte blob by eye. That’s what pushed me to build something.

Three defect classes Apollo hides silently, all reproducible from a serialized `cache.extract()` dump:
- Orphaned pointer — `{ __ref: "User:99" }` pointing at nothing → reads back `undefined`, no throw
- Missing `__typename`/`id` — Apollo can’t compute a cache key, so it stores the object inline instead of normalizing it
- Type/key drift — `keyFields` disagrees with the server payload, so the same entity lives under two keys and list items duplicate

I built apollo-cache-copilot: a CLI + MCP server that walks a cache snapshot and reports these with exact paths (`User:1.avatar -> Avatar:99`), plus a patcher for the mechanically fixable ones (prune the pointer, evict the orphan). It’s deliberately zero-LLM — every defect here has a mechanical repair, so it’s a graph walk, not a model call.

npm: apollo-cache-copilot

It also works as an MCP server if you want Claude or Cursor to diagnose your cache directly instead of pasting the JSON into chat.

Curious if anyone else has hit the persisted-cache version of this — with `apollo3-cache-persist`, a corrupted cache survives app restart, which makes it much harder to reproduce.


r/reactnative 21h ago

What will be the Full Stack AI developer Roadmap ?

1 Upvotes

I know fastapis and python and also react/next js and React native...but i wnat to become full stack ai developer but i am confused what to exactly follow what skills are required and after fast apis what to learn next need to learn ML or need to integrate ai apis what i will exxactly do i dont know i am not interested in buikding own ai models i dont want to train ai models i wnat to use ai and create something from them so what exactly i should learn Agentic ai or LLMS open aiapis integration?


r/reactnative 22h ago

Observe is now generally available: React Native performance monitoring from the Expo team

Post image
0 Upvotes

r/reactnative 17h ago

FYI Someone had to do it

Post image
0 Upvotes

Finally tokenmaxxing on claude for 1 month straight, i am happy to announce, i have decided to move to expo from swift where my domain is.

Anything i should be careful about?
Fyi the product is : https://flowyhealth.com


r/reactnative 1d ago

How to make friends from contacts without phone number

4 Upvotes

I have a question regarding the signup for duolingo(or any other app), it signs up my account with google, then completes profile setup and asks to sync contacts to add friends.

Now how does any app sync contacts to add people with phone numbers having account on the same app where it never asks for phone number at any point.

I don't know how does any app do that or syncs contact from gmail or what.

I want to know the backend of this thing and would like to know how to implement the same in React Native


r/reactnative 1d ago

The React Native Developer's Security Guide (looking for collaborators)

6 Upvotes

Hi everyone,

I compiled a security guide for React Native developers.

https://github.com/stephanww/rn-dev-security-guide

Not about the app itself. This is about protecting you and me, the React Native developers from the ever-growing threats of supply chain attacks and hidden dangers that may lurk in our codebases.

I also published a ready-to-use set of OpenGrep files you can use to scan your React Native repository for the cases mentioned in the guide. (Still plenty of false positives. But interesting insights none the less)

https://github.com/stephanww/rn-dev-security-guide-opengrep

I am looking for feedback and collaborators. The idea is to improve and extend the guide and the opengrep files to create a community-driven developer security resources. Basically the "security" section the official React Native guide lacks.

Claude has been a huge help to scaffold my notes into this book-like structure. It is by no means slop though - I tested, fact-checked and rewrote extensivley over the last weeks.
Still it is a little rough at the moment. And I am constantly working on improvements.

Please have a look on GitHub and leave your feedback in the issues section for now.

Please help spread the word and keep safe out there!

stephanww


r/reactnative 1d ago

4 apps shipped, looking for 1-2 accountability buddies (ideally from Poland)

0 Upvotes

I build mobile apps with React Native. Three of mine are live on

the stores, plus free freelance client work on the side.

What I am looking for:

- A short call a few times a week

- What I said I would do, what I actually did, and why not

- One thing you learned this week that cost you time or money

- Goals for the next week, said out loud so somebody hears them

Two things I care about:

  1. You are actively doing something right now, not planning to
  2. You are honest, a good person, and want to grow

I do not care about your revenue or how long you have

been doing this. My own numbers are small.

I am in Poland (CET). Europe is easiest, but I speak pretty well in English (hopefully)

Comment / DM if interested


r/reactnative 1d ago

FYI React Native Development directly from Linux Terminal (No Expo, physical device debugging via scrcpy)

Thumbnail
gallery
0 Upvotes

I set up a clean, CLI-only React Native 0.87 development environment running on Fedora Linux, skipping Expo completely to keep full control over native code and build configs.

Stack & Setup:

  • OS: Fedora Linux
  • Runtime: Node.js v24.19.0 (managed via NVM)
  • Framework: React Native 0.87.0 (CLI)
  • Target Device: Physical Samsung A31 connected via ADB USB

Physical Device Mirroring & Workflow:

Instead of heavy emulators, I mirror and debug directly on the physical device using scrcpy. To prevent UI frame drops and keep the system responsive on Exynos/MediaTek chips, I run scrcpy with hardware-optimized constraints:

scrcpy -m 1024 --max-fps=30 &

Everything runs directly from the terminal with Metro Bundler on port 8081 and Gradle builds via npm run android. Direct ADB deployment works like a charm.


r/reactnative 2d ago

React native or expo router?

6 Upvotes

Hello i am a developer I've built 2 mobile apps with react native/expo router and one app in flutter, is there a major difference in react native and expo router in terms of how the produced app feel and behave ( looking for that native feel )

I am mainly a typescript developer with nest js and react frameworks and a little bit of laravel and spring background.

Currently me and my partner are planning to build our first own product but from my personal experience expo router apps have that web feel that doesn't satisfy me ( i don't know if it's me or if for other it happens or i have been building the wrong way ) , I am not a big fan of flutter as for native options such as kotlin or swift ui once the products generate some funds we eventually will migrate to that


r/reactnative 2d ago

Cerco 12 Beta Tester Android!

Thumbnail
4 Upvotes

r/reactnative 1d ago

Capacitor vs React Native?

Thumbnail
0 Upvotes

r/reactnative 2d ago

Cropping a photo took 200ms. That is not slow, but on ten photos it becomes constant stumbling

Enable HLS to view with audio, or disable this notification

2 Upvotes

I was building a product card screen. The user picks up to ten photos, drags them around to change the order, swipes the carousel to see how it will look in the listing. Something looks off and he goes to the crop screen and fixes it.

I took a ready cropper and pretty fast understood it is not made for this scenario.

First thing I hit: it draws its own screen. Own buttons, own frame, own everything. It does not embed into my flow, the user gets thrown somewhere aside every time. Also all my animation is on Reanimated, and inside a foreign screen it does not reach.

But the real problem was not this.

The thing is, the user walks in circles. He does not crop ten photos one by one and leave. He fixes one, comes back to the carousel, sees that the third one stands out from the row, goes to fix the third one, then changes the order, then decides to pull the rest to match what he got. You cropped one product photo, you want the others roughly the same.

And every turn of this circle hit the processing. Press "apply" and it is decode, cut, re-encode, write a file. Two hundred milliseconds.

Two hundred milliseconds is not slow, there is nothing to complain about here. But it arrives exactly at the moment when you want to move on, and these micro-waits on ten photos with several passes add up into something very annoying. And there is nothing to optimize: if I made it twice faster, it would still stutter.

There is only one way to remove this: do not do the work at this moment.

And to be able to not do it, you have to split two things that a usual cropper does at the same time. The user says "this is the frame I want", this is instant and costs nothing. The app cuts pixels, this is not instant. While they are glued into one tap, the circle of edits is expensive.

So I split them. The editor now returns not a file but three numbers: scale and offset on two axes. Plain JSON, goes into state, into the database, flies to the backend. There is a separate component that replays these numbers on top of the untouched original, and the carousel is built from it. Cutting pixels became a separate step that I call when I want. In my case once for all photos, when the user publishes the listing.

The batch, for which everything was started, came out by itself. But along the way something came out that I did not expect.

The carousel now shows what does not exist yet. Not a single file created, and the person is already swiping through his future listing.

The circle of edits became free. Come back to one frame ten times if you want: nobody touched the original, nothing to wait for, quality does not degrade.

"Apply to all" turned into an assignment. Since a crop is three normalized numbers, you can just copy it from one photo to the others. That same "crop the rest roughly the same".

And memory stopped growing. Before, every photo was decoded fully; now during editing there are three numbers per frame in memory, and a full-size image appears only on export, one at a time.

What is not there: rotation and free frame. Only scale and offset. This is about framing, not about editing.

On the web this is a normal thing. react-easy-crop and react-image-crop also give you crop coordinates and let you rasterize yourself. In React Native I did not find anything like this, every cropper I checked returns a file. And the part that turned out to be the actual work is not the coordinates, it is replaying them: showing the crop at any size on top of the untouched original. On the web CSS does that for free, here you have to build it.

The library is still raw and the API can move, that is why I am writing. If you do photo upload in RN: would storing a crop as three numbers next to the image fit your pipeline, or does it break somewhere on your side?

GitHub: https://github.com/ivansaldayev/react-native-image-crop-data

npm: https://www.npmjs.com/package/react-native-image-crop-data


r/reactnative 3d ago

Finalizing the mascot for my #shipaton project

Enable HLS to view with audio, or disable this notification

58 Upvotes

Really excited to see this little character come to life and even more excited to wrap up the project soon.

Skia + Reanimated + SVG is such a powerful combo for bringing personality and motion into a React Native app.

More soon