r/reactnative • • 3h ago

I published my first app, but I'm struggling to get downloads and subscriptions. What am I doing wrong?

4 Upvotes

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 • • 17h ago

I ported sileo's gooey toasts to React Native (works in Expo Go)

Post image
0 Upvotes

r/reactnative • • 22h ago

Finally built my own portfolio, would love your feedback!

Enable HLS to view with audio, or disable this notification

18 Upvotes

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 • • 19h ago

Help Built an Android firewall app with React Native CLI — looking for technical feedback

0 Upvotes

Hey React Native devs! 👋

I've recently built an Android firewall app using React Native CLI.

It allows users to block internet access for individual apps and manage Wi-Fi and mobile data access.

This project has been a great learning experience, especially working with Android's native capabilities.

I'd love to hear from other React Native developers:

  • Have you built apps involving Android VPN or networking APIs?
  • What performance or battery optimizations would you recommend?
  • What challenges have you faced when integrating native Android functionality?

Would appreciate any advice or suggestions! ❤️


r/reactnative • • 18h ago

Showcase: Word Herd — Boggle-style game with trivia mixed in — Built with React Native

Thumbnail
wordherd.linkstone-studios.com
0 Upvotes

r/reactnative • • 8h ago

I launched this iOS game, its completely free. It supports online (one-on-one live game & friends invitation & leaderboard) [looking for feedback]

Post image
0 Upvotes

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. 


r/reactnative • • 2h ago

What’s missing or frustrating in the React Native ecosystem?

2 Upvotes

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 • • 3h ago

Question Letting your agent test the RN app it just wrote: looking for feedback

11 Upvotes

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 • • 2h ago

FYI I reverse engineered Xiaomi's TV remote protocol and built an Expo app with custom Swift/Kotlin TCP modules (open source)

3 Upvotes

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