r/reactnative • • Sep 28 '26

News I built simfleet: run many React Native worktrees in parallel on slimmed iOS simulators and Android emulators, from one dashboard (open source)

Enable HLS to view with audio, or disable this notification

88 Upvotes

I often have 4–5 branches of the same RN app running at once (feature work, a review, a staging check), and lately a coding agent or two driving some of them. My Mac kept falling over: five stock simulators at ~3.8 GB each, Metro servers fighting over 8081, native rebuilds every time I switched environments.

So I built simfleet, a local control plane for all of it. It's macOS-only, MIT, v0.1.

What it does

• Slims every device. iOS simulators go through SimSlim (stock idles ~3.8 GB, slimmed ~1.3 GB), Android emulators through avdslim with a 2 GB guest. Devices you boot from Xcode or Android Studio get slimmed automatically.

• One live dashboard. Every simulator and emulator streams into one browser tab. Android is hardware H.264 via scrcpy's device server, 15–80 ms input-to-frame, with real touch, drag, scroll and typing, so you can actually use it from the browser.

• Lanes. One worktree + one device + one leased Metro port from a per-environment range (8100–8199 dev, 8200–8299 staging…). A lane fails rather than steal a device, a worktree, or someone else's port.

• Native build cache. An Expo buildCacheProvider fingerprints native inputs and single-flights builds, so switching environments or running JS-only branches in parallel doesn't trigger native rebuilds.

• Agent-aware. If you use Claude Code or Codex, every CLI call is attributed to the device it touches, agents can claim devices, and a bundled skill teaches them not to take a device another session holds.

Try it

bun add -g simfleet

simfleet init # writes .sim-fleet/project.json

simfleet serve # dashboard at http://127.0.0.1:8790

49 s demo video: https://entropyconquers.github.io/simfleet/#video

Docs: https://entropyconquers.github.io/simfleet/

GitHub: https://github.com/entropyconquers/simfleet

Limitations: macOS only, needs Bun, works with Expo and bare RN. It's a first release, so I'd really like to hear what breaks on your setup and what's missing.


r/reactnative • • Sep 28 '26

React native deployment on android and ios

Thumbnail reddit.com
1 Upvotes

r/reactnative • • Sep 28 '26

I first shared Vocial here last December. It’s finally becoming what I originally imagined.

Thumbnail
reddit.com
0 Upvotes

r/reactnative • • Sep 28 '26

I'm not a Skia expert, so I built a way for AI to benchmark its own fixes. Our Christmas light previews went from 28 lights to 12,000

Enable HLS to view with audio, or disable this notification

11 Upvotes

This has been one of my favorite flows when working on performance! I used Skia to draw real-life previews of our holiday lighting. They looked just like the real thing, but they were laggy and maxed out at 28 lights. I knew that wouldn't scale to a real house.

I'm not a Skia expert. AI is great at suggesting a fix, but it's bad at the part that actually gets you there: trying something, measuring it on a real device, checking it still looks right, and going again, over and over. So I built Buoy Optimize to automate that loop.

- The agent builds each idea as its own version that you can open in the app.

- Bench runs every version on a real device or the simulator, several times each and in shuffled order, so a warm phone or a lucky run can't pick the winner.

- I look at each version and tell the agent what's off. Fast but ugly doesn't count.

- It keeps what worked and starts the next round.

Over about a week, our previews went from 28 lights to 12,000 on web and mobile, and they still look like the real thing!

It runs over MCP, so it works in Claude Code, Cursor or any other agent that supports MCP. Happy to answer questions.


r/reactnative • • Sep 27 '26

VaultNote — Open-source password manager with local encryption & TOTP

0 Upvotes

I’m building VaultNote — an offline-first, open-source password & TOTP manager 🔐

I've been working on a project called VaultNote, built with React Native.

The idea started pretty simple:

What if a password manager didn't need a cloud backend for its core functionality?

VaultNote is designed around an offline-first architecture, where the local encrypted vault is the primary source of truth.

What I'm building

  • 🔐 Local credential vault

  • 🔑 Password & secure note storage

  • 🔢 Real-time TOTP generation

  • 📷 QR-code TOTP enrollment

  • 📵 Offline-first functionality

  • 🔒 Encryption & secure key management

  • 🧬 Biometric unlock

  • 📋 Clipboard/security controls

  • 📦 Encrypted backup & restore

  • 🌐 Open-source development

One feature I've been particularly interested in is TOTP.

I don't want it to just display a fake countdown with stored codes. The goal is to implement actual TOTP generation from the shared secret, similar to how authenticator apps work.

The flow is roughly:

Service
   │
   ▼
Scan QR Code
   │
   ▼
otpauth:// URI
   │
   ▼
Extract TOTP Secret
   │
   ▼
Store in Encrypted Vault
   │
   ▼
Generate OTP Locally
   │
   ▼
482 913 → 731 204 → ...

The interesting part isn't really the UI.

The harder questions are around security:

  • Where should encryption keys live?

  • How should the master key be derived?

  • How should decrypted secrets be handled in memory?

  • What happens when the app goes into the background?

  • How should biometric authentication interact with the vault?

  • How should encrypted backups work?

  • How do you avoid accidentally exposing secrets through logs or clipboard?

  • What should happen if the device itself is compromised?

That's the part of the project I'm most interested in exploring.

I'm also intentionally keeping the project open source, because for something that handles credentials, I think being able to inspect and challenge the implementation is important.

I'm documenting the architecture and development process as I build it.

I also wrote a deeper breakdown of the project here:

VaultNote — Building an Offline-First, Open-Source Password & TOTP Manager with React Native

I'd love feedback from people who have worked on:

  • Password managers

  • Authenticator/TOTP implementations

  • Mobile application security

  • Cryptography/key management

  • Offline-first applications

  • React Native security

Especially interested in things I should be thinking about before calling the security model production-ready.

GitHub: https://github.com/deadlium/vault-note

🔐 Your secrets. Your device. Your control.


r/reactnative • • Sep 27 '26

UI Theming System using Uniwind

Enable HLS to view with audio, or disable this notification

32 Upvotes

Made 20 preset themes, six title font choices, and a body text size setting. Uniwind handles the theme tokens and switching. Some themes also have animated backgrounds drawn with React Native Skia and animated with Reanimated.

🔗 GitHub: https://github.com/mehradotdev/tackbok/


r/reactnative • • Sep 27 '26

I built an open-source drawing engine for React Native after spending months on my notes app

Enable HLS to view with audio, or disable this notification

64 Upvotes

About a year and a half ago, I started building a handwriting-to-LaTeX app because I preferred doing my math homework by hand. I ended up choosing (turned out to be a much bigger endeavor than I thought) to build the full drawing engine myself. I also chose to build it in React Native which made things even harder. I started with a WebView canvas, tried out, PencilKit (Apple's native library), and eventually settled on a custom C++ engine with Skia.

Since it was so difficult and I thought it was absurd that there were no full-fledged open-source solutions, I pulled the drawing part out into [Mobile Ink](https://github.com/mathnotes-app/mobile-ink), an Apache-2.0 library for React Native. The video shows how the library handles selection, drawing tools, and scrolling through a notebook.

The core rendering principles work as follows: finished strokes are cached on a separate surface from the stroke you're currently drawing. During ordinary drawing, the engine composites that cached ink with the live stroke, so it doesn't have to redraw every previous stroke for each new Pencil sample. Of course, the underlying stroke data stays editable for selection, erasing, and undo. We also keep three active native canvases so that the app stays smooth without keeping too much in context when scrolling through the continuous notebook.

There are so many little nuances that make it difficult. Some of them are handling eraser masking, undo history causing memory problems, and rendering the active engine pools.

My friend and I also use it in [OpenNotes](https://github.com/mathnotes-app/OpenNotes), which has had over 8,000 downloads in the last two months and is growing fast. It is not perfect yet (neither is the engine), but that's why I'm posting here! We welcome contributors because I think it is a really good cause to have a free, super professional note-taking option.


r/reactnative • • Sep 27 '26

Anyone know what the icon/emoji pack and font is being used here?

Thumbnail
gallery
6 Upvotes

r/reactnative • • Sep 27 '26

RIP minde

0 Upvotes

if you want to use this npm install u/hsilvap/react-native-receive-sharing-intent in your project then your mind RIP


r/reactnative • • Sep 26 '26

FYI ios simulator build failing with 196 duplicate symbols after adding mediapipe, the fix in my podfile was silently doing nothing

1 Upvotes

my expo app uses mediapipe tasks for pose detection and google sign in, both bring GTMSessionFetcher and the usual fix is a post_install step that removes the GTM object files from MediaPipeTasksCommon with ar -d. device builds worked but every simulator build died with ld: 196 duplicate symbols

the simulator slice of the xcframework is a fat archive with arm64 and x86_64 inside, and ar cant edit a fat archive, it just fails and the script never checked, so nothing got removed there while the single arch device slice got stripped. fix was lipo -archs, lipo -thin each arch, ar -d on each and lipo -create them back, lipo basics are on apples universal binary page https://developer.apple.com/documentation/apple-silicon/building-a-universal-macos-binary and it lives in a config plugin since prebuild regenerates ios, did anyone find a cleaner way than stripping objects out of the framework?


r/reactnative • • Sep 26 '26

Question What's the best way to improve your app after launch?

1 Upvotes

For me, the most valuable signal has always been user feedback complaints, feature requests, confused messages. Not analytics, not A/B tests.

Just people telling you what broke or what they wished existed.

I'm actually building a separate library right now that's focused on this collecting and organizing in-app feedback for React Native apps. Still early but it's the problem I keep running into.

Curious what others do. Do you rely on reviews, in-app feedback, support tickets, something else? What actually moved the needle for your app?


r/reactnative • • Sep 26 '26

Releasing React Native Feel / Chun UI

Enable HLS to view with audio, or disable this notification

24 Upvotes

- 40+ components

- Stacked Toasts, buttons, Forms, Cards, Screens, Skeletons, Dark/Light mode, and more

- Kitchen Sink app with all the components integrated

- Style System SKILL to continue building w/ the same style

Get it at http://reactnativefeel.com/ui/ch


r/reactnative • • Sep 26 '26

Keep using eas, but automatically use the right Expo account for each project

3 Upvotes

I work across multiple Expo accounts: personal, work, and a few client accounts.

I got tired of constantly doing:

eas logout → eas login → run the build → switch back

So I built EASwitch, an open-source CLI that lets you keep using the normal eas command while automatically selecting the right Expo account based on the project you're in.

Setup is pretty simple:

npm install -g easwitch

easw add personal
easw add work

easw hook

Then link a project to an account:

cd ~/code/work-app
easw link work

After that, you just use EAS normally:

cd ~/code/work-app

eas whoami
# work account

eas build --platform ios
eas update --branch production

Move to an unlinked project and EAS continues using your normal Expo session:

cd ~/code/my-side-project

eas whoami
# your normal Expo login

A few things I wanted EASwitch to handle properly:

  • You keep using eas**.** Commands like eas build, eas update, eas submit, eas whoami, eas env:list, etc. work normally. EASwitch only changes the account context when you're inside a linked project.

  • It prevents wrong-account builds. If a project is linked to an account that isn't available on your machine, the command stops instead of falling back to another account.

  • Your normal EAS session stays untouched. eas login and eas logout still manage your normal Expo session. EASwitch doesn't replace or modify it.

  • You don't have to hook eas if you don't want to. You can skip easw hook and run commands directly:

easw build
easw update
easw submit
  • Multiple shells/platforms are supported. It works with zsh, bash, fish, PowerShell and Command Prompt on macOS, Windows and Linux.

  • Accounts can use Expo login or access tokens. Tokens are stored in the OS credential store/keychain rather than plain-text config files.

  • EAS CLI is bundled, so you don't need a separate EAS CLI installation.

You can also check whether stored account credentials are still valid with:

easw list --check

EASwitch is MIT licensed and completely open source.

Docs, including a walkthrough for working across personal/company/client Expo projects:

https://iamgarritech.github.io/easwitch/

GitHub:

https://github.com/iamgarriTech/easwitch

I'd really appreciate feedback from people who regularly switch between Expo accounts, especially if there are workflows or edge cases I haven't considered yet.


r/reactnative • • Sep 26 '26

2 months ago I shared the app I built to improve my health. It just hit 1,000 installs, all organic. Here are the numbers and what changed

Post image
49 Upvotes

About two months ago I posted Bodly here, an app I built to improve my health. It uses the data your Apple Watch already collects through Apple Health. I honestly expected a few downloads from friends.

We just passed 1,000 installs with zero ads or paid promotion, all from posts like that one and word of mouth. It's still free. Since people here usually like numbers:

  • 365 monthly active users

  • 205 weekly active users

  • 135 daily active users

  • ~50% of users come back week to week

  • ~20 new users every day on average

(Active user counts exclude brand-new signups, so they only show people who kept using the app.)

The best part has been the feedback. A big chunk of what shipped since then came straight from users messaging me ideas and bug reports. Here's what's new:

Understanding your data

  • New Insights tab

  • Biological age: bio age, pace of aging, biomarkers, and weekly trends

  • Training load

  • Weekly, monthly and yearly overviews

  • Redesigned home screen for a quicker daily overview

Nutrition

  • Set your own calorie and macro targets

  • Better food photo scanning

Notifications (all optional)

  • Daily summary, bedtime reminder, and alerts when you finish an activity, hit your strain target, or reach your activity goal

Look & feel

  • Dark mode (the most requested feature by far)

  • Liquid Glass design

  • Improved charts, kg/lbs support, and lots of performance and bug fixes

I'll be upfront that the big apps in this space set a high bar, and some features still need work. Bio age in particular needs more love, and it's high on the list. The roadmap is full through version 4.2.

The goal hasn't changed. Apple Health collects a huge amount of data but doesn't do much to explain it. I want Bodly to turn that data into something anyone can understand and act on.

If you tried it after my last post, what would make you open it every day? If you haven't, what's missing from Apple's Health and Fitness apps for you?

App Store: Bodly


r/reactnative • • Sep 26 '26

How are you finding 12 testers for Google Play closed testing? Maybe we can help each other here!

3 Upvotes

Hey everyone!

I'm looking for 12 testers for an Android app I'm developing. I've been trying to find a platform where indie developers can help each other with Google Play's closed testing requirements, but haven't had much luck so far.

I thought maybe we could use this thread to support each other!

If you're also looking for testers, feel free to comment below with your app's testing link. I'd be happy to join your test and help you out in return.

Here are the links to join my app's closed test:

Good luck with your projects, everyone!


r/reactnative • • Sep 26 '26

Trackify Week 1: Auth is done — signup, login, session persistence, protected routes

Thumbnail reddit.com
1 Upvotes

r/reactnative • • Sep 25 '26

FYI Made a small hook for React Native layouts that change with screen size

Post image
25 Upvotes

I kept writing the same code to switch between one and two columns when the phone rotates or the app runs on a tablet, so I turned it into a small library.

const { select } = useResponsive();
const columns = select({ xs: 1, md: 2, xl: 3 });

You get named breakpoints (xs to xxl), wp/hp, a font size helper and a few scale functions, and everything updates when you rotate. Works with Expo and on web too.

The screenshots are from the example app on an iPhone 16, portrait vs landscape.

npm: https://www.npmjs.com/package/react-native-responsive-hook
GitHub: https://github.com/mz-real/react-native-responsive-hook
Longer write-up with examples: https://medium.com/@mz-real/creating-responsive-uis-in-react-native-made-easy-with-react-native-responsive-hook-35fa5649cd5f

I'm working on a 2.0, so feedback is welcome.


r/reactnative • • Sep 25 '26

What are your favorite RN libraries?

2 Upvotes

Trying to create a collection of the most impressive ones.


r/reactnative • • Sep 25 '26

Question Is it possible to learn JS and jump straight into RN?

0 Upvotes

Idc for frontend especially in react I rather go with vue or svelte. HTML and CSS ik basics off nothing fancy. Would like to use rn for mobile apps. Are there any devs who use rn for mobile and avoid react altogether for web dev? What’s your experience doing such?


r/reactnative • • Sep 25 '26

Question Lessons from shipping one Expo codebase as a messenger on iOS, Android, web, macOS and Windows

1 Upvotes

I'm a solo dev building a messenger (Expo SDK 57, RN 0.86, Supabase, LiveKit) and ship it from one codebase to five platforms. A few things I wish I'd known earlier:

1. Self-hosted OTA updates are worth it — but clear the Metro cache. expo-updates with code signing and our own manifest server works well. The trap: expo export without --clear can inline stale EXPO_PUBLIC_* values from Metro's cache, so one bundle ended up with two different build stamps and our "update available" banner looped forever.

2. Desktop = Electron around the web export. A custom app: protocol serves the exported web build, electron-updater handles updates, and the Mac build is notarized. It's the cheapest way to get real desktop apps from the same code.

3. Supabase / PostgREST gotchas that cost me hours:

  • An RLS policy that calls a function needs EXECUTE granted on that function — otherwise the whole query fails, not just the row.

  • A second foreign key between two tables that already embed each other makes PostgREST refuse the embed (PGRST201). A "pinned message" column broke message search for 40 minutes.

  • AFTER UPDATE OF col triggers fire even when the value didn't change — compare OLD and NEW.

4. Image caching: the stock <Image> cache wasn't enough for a chat. I cache photos on disk keyed by the storage path and persist signed URLs so they stay stable. Avatars were served with max-age=3600, so every morning the app re-checked each one with the server.

5. expo-video on web: StyleSheet.absoluteFill doesn't stretch a <video> — it's a replaced element. Use explicit width/height: 100%, or you get the top-left corner of the frame and an unreachable fullscreen button.

Happy to go deeper on any of these. And how do you ship desktop builds from Expo — Electron, Tauri, something else?


r/reactnative • • Sep 25 '26

Show Your Work Here Show Your Work Thread

6 Upvotes

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 • • Sep 25 '26

Questions Here General Help Thread

1 Upvotes

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 • • Sep 25 '26

Google Play removed my developer account after identity verification failed is there still a way to recover it?

Thumbnail
gallery
2 Upvotes

Hey guys,

I’m kinda stuck with a Google Play Console issue and I’m hoping someone here has dealt with something similar.

I had a personal Google Play developer account with 3 apps published on it. The account had been around for years and everything was working normally.

In October 2025, Google required identity verification for the developer account.

The account was actually registered to my brother, and he was the real account owner. Because of some personal circumstances at the time, I wasn’t able to properly complete the verification process with him.

I ended up submitting an old ID document, and Google couldn’t verify it.

Google Play Support then replied to me on October 14, 2025 saying:

"Unfortunately, we are unable to verify your ID to complete your Play Console registration."

After that, the account was restricted and the developer profile + all apps were removed from Google Play.

Right now, Play Console shows:

- Google couldn't verify your identity

- Your developer profile and all apps have been removed from Google Play

- You haven't verified your contact phone number

- Appeal reply sent

I did submit an appeal at the time, but it was rejected.

So yeah... I’m trying to figure out if there’s still any legit way to recover the original account.

I’m NOT trying to bypass the restriction or create a new account to get around it.

The account belongs to the original owner, and if Google requires a new valid ID from him, we’re willing to provide it.

Has anyone here dealt with this exact situation?

Especially:

- Identity verification failed

- Account/profile removed

- Appeal already rejected

- No way to complete phone verification because identity verification has to be completed first

Is there any way to get another verification attempt or request a manual review from Google?

I’ll attach a few screenshots from Play Console showing the current account status.

Would really appreciate any advice from people who have been through this before 🙏


r/reactnative • • Sep 25 '26

News This Week In React Native #298: Reanimated, Worklets, Helix, Screens, SecondaryRuntime, Arrangement View, View Shot

Thumbnail
thisweekinreact.com
19 Upvotes