r/expo

My back and neck were wrecked from sitting all day, so I built an app that physically won't let me ignore it
▲ 5 r/expo+3 crossposts

My back and neck were wrecked from sitting all day, so I built an app that physically won't let me ignore it

Desk job = chronic neck/back pain, and every "take a break!" app failed the same way: notification pops up, I dismiss it in half a second, nothing changes.

So I built ErgoGuard. When the break alarm fires you can click on the notification, and it opens your camera and uses on-device pose detection to watch you actually do the movement (squats, arm raises, neck stretches, etc.) and count real reps before you can dismiss it. Short, low-effort movements (30 sec–2 min) — not a workout. Fully on-device, no video ever recorded or sent anywhere. You set your own schedule and work hours. Manual fallback if the camera can't see you.

📱 iOS: https://apps.apple.com/app/ergoguard-b612d0/id6779917035
🌐 Details: https://ergo-landing.vercel.app/

One-person side project — feedback welcome, especially if you try it for a day.

u/Embarrassed_Ruin_588 — 12 hours ago
▲ 51 r/expo+3 crossposts

Day 1 of vibe coding a new ui for openclaw iOS app.

Do you guys like this?I am open to feedback. I am participating in the contributor discord server too btw obv so I can pass feedback to other maintainers too.

▲ 1 r/expo

EAS Android build suddenly broke — "no variants exist" for 10 modules, ran out of ideas

Hey everyone, I've been banging my head against this for a full day now and I'm honestly stuck.

My Android release build (eas build --platform android) was working totally fine on July 3rd. Then on July 4th, with literally zero changes to my code or dependencies, it just started failing every single time. All 10 of my native modules (async-storage, firebase, sentry, gesture-handler, svg, and a few others) fail at once with this:

No matching variant of project :<module-name> was found...
- No variants exist.

It's weird because the log doesn't even try to configure these modules before failing — it just jumps straight from configuring expo to the error. On the build that actually worked, those same modules configure and build totally normally.

I've spent way too long trying to figure out what changed:

  • Cleared the EAS build cache — no difference
  • Turned off Gradle's parallel build setting thinking it might be some race condition — no difference
  • Did a full expo prebuild --clean and restored my custom native files — no difference
  • Double checked package.json/package-lock.json are byte-identical between the working build and the broken ones — they are
  • Even checked if the builder image itself changed — nope, exact same image both times

The really confusing part is my app builds totally fine locally in release mode on the same commit (fails way later, at an unrelated Sentry step that just needs an env var I don't have locally). So it really does feel like something's off on EAS's side and not in my repo.

Has anyone run into this or have any idea what else could cause something like this? Already filed a support ticket but figured I'd ask here too in case someone's seen it.

reddit.com
u/Prior-Style-8549 — 1 day ago
▲ 61 r/expo+29 crossposts

Designed a new Time Tracking methodology, focuses on Goals and gamified Up/Down time for each.

Everyone is familiar with gamified productivity & focus tracker tools. I downloaded most, experimented with different methods, studied the science behind motivation/goals, and developed a new system. It's not complex, visual, yet lightweight. Most importantly, it's effective & helps you make real progress.

Why this method works:

  • It simplifies thinking about "what should I do today" & helps beat procrastination. You clearly see your goal, and the main work/play activities you defined. Just get started on one...
  • Each board is you custom "go-to" plan for that Goal (aka "Core"). You pick "time contributions" that work for you. No guilt tripping. If you like to focus for 30m, and then lounge for 1h, then that's what you pick. No need to overcommit. Stats will improve as you get better.
  • Tracking how much Up vs Down time, towards defined Goals, is the simplest measure of success, over time. The 10,000 hour rule exists for a reason. Not 10,000 to-do items.
  • Seeing "break/rest" activity timers next to your productive timers, at a glance, makes you more relaxed during focus sessions & gives you "guilt free" breaks. You can pause one timer and start another, then come back. You can also "finish early" any timer, and deposit time already earned, no penalties.
  • You can adjust all Timers/Goals on the fly, change their length, emoji labels, etc. The app makes it easy.
  • You can track a Goal on 1 board, or across multiple boards. You could have a board for each day of the week if you want, all towards that 1 goal. On Monday you can have only 1 focus activity, and on Saturday you can have 6, with different focus + break sessions.
  • You can work on Goals and contribute time whenever you have it. No pressure with streaks. If you have 1 hour per day for a goal, or 3 hours per week. You simply time your activity, you bank time Up or Down, and you move on.
  • You progress easily visualized in a cool Sci-Fi interface, with time particles and orbits and black holes.

Check out Flowton on the App Store or if you're on Android, sign up on flowton.com to get notified.

Happy to hear your feedback on the method, or if you try the app, on what you think of it. There are cool new features in the pipeline, along with leaderboards, passive "multiplayer", and other.

u/NinjaFlow — 4 days ago
▲ 728 r/expo+4 crossposts

Made an app where you photo wild animals and it turns them into a character on your screen

Link: https://playanimalis.com/

Uses AI to identify the animal species, then generates the assets on the fly, e.g. images, moves, stats etc.

It uses the real world as the game map, health centres are places of worship, shops are grocery stores, every public park has a gym where you compete with other players.

You can level up species and grow them to the next stage, e.g. caterpillar > chrysalis > butterfly.

The further you go from urban areas, the higher level the animals are. Stronger, but harder to catch.

You can battle / trade with your friends and you get more leaves (in-game currency) for capturing endangered species (don't disturb them).

The game started with no assets, the whole map is programmatically generated, all the animal data is generated on the fly and cached to the database for future encounters.

Other cool stuff:

  • it uses the real animal's animal call in the game
  • weather in the game is your current real-world weather
  • houses are styled accurate to the local building style
  • shadows / night-time are based on the real world time of day & year (location of the sun)

The aim is to get people out in nature and appreciating wild animals.

Edit: Here is the app link, on iOS & Android, available now: https://playanimalis.com/

u/AchillesFirstStand — 6 days ago
▲ 2 r/expo+1 crossposts

Looking for a good expo freelance agency

Looking for a short-term React Native freelance team

I’m looking for an experienced React Native freelance team to help with code refactoring, bug fixing, and improving the overall quality of an existing app.

This is not a long-term project. Ideally, I’m looking for something that can be executed within 1–2 weeks by a team with strong coding proficiency and experience working on production React Native apps.

I’ve been coding for over 10 years and have been focused on shipping quickly, but I could use support from a strong team to help clean things up, improve stability, and move faster.

We are also hiring React Native engineers with 5+ years of experience, so this may be interesting for freelancers or engineers open to longer-term opportunities as well.

Please reach out if you or your team has strong React Native + expo experience and availability for a short-term engagement.

reddit.com
u/Marshall_Bear — 4 days ago
▲ 141 r/expo+1 crossposts

Expo v57 has been released

https://expo.dev/changelog/sdk-57

Today we're announcing the release of Expo SDK 57. This is a small, focused release: it brings React Native 0.86 to Expo. We intend for this to be the easiest Expo SDK upgrade you've ever made. It represents a possible shift towards a new Expo SDK release cadence that could provide you with simple non-breaking upgrades in between more significant releases.

React Native 0.86

SDK 57 upgrades React Native from 0.85 to 0.86. The React version is unchanged from SDK 56 — both SDK 56 and SDK 57 use React 19.2. React Native 0.86 is intended to have no breaking changes from 0.85. To decide whether it's worth upgrading your app, refer to the React Native 0.86 release notes for the full picture.

Highlights include: fixes and improvements to edge-to-edge support on Androidlight/dark mode emulation in React Native DevTools, and several rendering, layout, and animation-related fixes.

Exploring a new Expo SDK release cadence

For several years, Expo SDK has seen major releases three times per year. We found that this cadence provided a good balance between stability for app developers and freedom for our team to ship significant new features and improvements. It also helped to reduce thrash in Expo Go.

During the same period, React Native has been releasing six times per year. The React Native team prioritized shipping often in order to incrementally roll out the New Architecture, a new React Native DevTools experience, Hermes V1, and more. Each Expo SDK release would target a single React Native version, and for versions that were not targeted, developers could use canary releases if needed. However, now that these massive changes to React Native have shipped, the focus has shifted towards stability.

The new release model that React Native is moving towards will aim to provide a release with "no user-facing breaking changes" approximately every second release. The recently released 0.86 is the second of these non-breaking releases. At Expo, the fact that these releases are intended to be non-breaking has prompted us to revisit our release cadence. If we can provide these releases to developers almost immediately, as optional upgrades, with little effort required for the app developer beyond running npx expo install expo@latest --fix, then we think we should do it. So, we are exploring that approach with SDK 57.

Why not include React Native 0.86 in SDK 56 if it is non-breaking?

This is a good question! We considered bumping from 0.85 to 0.86 in SDK 56, and ultimately decided that the set of changes between the versions was too significant for an app developer to pull in with a routine npx expo install --fixThere are 601 commits touching 1,552 files between 0.85.0 and 0.86.0, and we believe that the decision to pull those into your app should be intentional. Even though these commits are intended to not cause breaking changes, we think it's best to err on the side of being conservative.

Additionally, moving this bump to a new SDK version allows us on the Expo team to roll out small changes that wouldn't be appropriate to ship to an existing stable release, but that we think are genuinely useful for users. The following list includes some of those changes that are worth calling out.

Does this new cadence impact the Expo SDK maintenance window?

SDK releases will continue to have a lifetime of approximately one year. We may revisit the details of this policy in the future. What this means today is that Expo SDK 54 (September 2025) will receive critical fixes until the next SDK release (September or October 2026).

Will there be a new Expo Go version on the App Store and Play Store?

We'd like to release a new version for SDK 57, but we're still waiting on approval. Expo Go for SDK 57 is available with eas go for iOS devices, and through Expo CLI for Android devices/emulators and iOS simulators (learn more).

Other highlights

While SDK 57 is primarily about the React Native 0.86 upgrade, a few other improvements landed alongside it:

  • expo-dev-client: the iOS launcher includes a new setting to choose between auto-launching your most recent project or showing the launcher (#47131), allowing you to override the configuration set with the config plugin.
  • expo prebuild: now clears and regenerates the native android and ios directories by default; pass --no-clean to apply changes to the existing folders instead (#47209).
  • expo-image: added writeToCacheAsync and readFromCacheAsync to seed and read the image cache by cache key (#46620).
  • expo-routerStack.Toolbar.Badge is now supported in header left and right placements and on toolbar menu icons on Android (#46537#47276).
  • expo-navigation-barsetStyle and setHidden now apply to React Native <Modal> windows on Android (#46491).
  • Bump animation and gesture libraries: SDK 57 bundles newer versions of react-native-reanimated (4.3 to 4.5), react-native-worklets (0.8 to 0.10), and react-native-gesture-handler (2.31 to 2.32).

Known regressions

u/Rtzon — 5 days ago
▲ 58 r/expo+2 crossposts

My iOS app got approved! 🎉

When I created DevStash for web my number one priority was building a mobile app since that's where most of us already spend our time. You can easily save URLs using the iOS Share Sheet, save code snippets, and add notes. There are still a few features from the web version that I plan to add but I'm really happy with the current state of the app. It was built with Expo.

u/nmsKing — 6 days ago
▲ 28 r/expo+8 crossposts

I built a tool to generate app promo videos, 3d mockup animations and social graphics directly from your app screenshots (with MCP)

I integrated AppLaunchFlow MCP to the promo video generation, mockup animator and social grpahics generator to directly create these assets visually and programitaccly using your favourite agent

u/Aggravating_Try1332 — 5 days ago
▲ 7 r/expo+1 crossposts

How does your team handle major React Native / Expo upgrades? Or do you just avoid them?

Something I keep hitting (and I’m guilty of it too): teams sit on an old RN/Expo version for months because a major upgrade isn’t one change. It’s JS/TS breaking changes, plus Gradle/Kotlin on Android, plus Podfile stuff on iOS, all at once. Renovate and Dependabot bump the version number but don’t actually do the migration, so the PR just breaks the build and rots.
Honest disclosure: I’m early on building something in this space, so I’m biased. Before I go deeper I want to know if this is a real pain or one I’ve talked myself into.
Actually curious:
• What’s your real process for a major RN/Expo bump?
• What breaks most, the native side (Gradle/Pods) or JS deps?
• Do you upgrade on a schedule, or only when something forces you?
• If you avoid it, what’s the actual reason: time, risk, nobody owns it?
Not pitching anything, just want honest reality checks. War stories very welcome.

reddit.com
u/Little_Ad_2356 — 5 days ago
▲ 5 r/expo+1 crossposts

Stoic Discipline app

Hello there,

I’ve just released a new TestFlight version of my first iOS app and I’m looking for more people to test it and give honest feedback.

It’s a Stoic-inspired habit tracking app with journaling, quote wallpapers, stats, favourites, dark/light modes, recommended reading, and short biographies of the major Stoics.

The idea is to help people build better habits while using Stoic philosophy as a daily prompt for reflection, discipline, and consistency.

Current features:

* Habit tracking

* Morning and evening Stoic journaling

* Daily Stoic quotes

* Favourite quotes

* Stats and progress tracking

* Monthly habit view

* Stoic quote wallpapers for your phone

* Shareable quote/wallpaper images

* Dark and light modes

* Recommended Stoic reading

* Short biographies of Stoic philosophers

I’m especially looking for feedback on:

* Whether the onboarding makes sense

* Whether the app feels useful enough to return to daily

* What feels clunky or confusing

* Whether the Stoic content feels valuable or too much

* What features feel unnecessary

* What would make the app better before launch

This is still early, but the core version is now working on TestFlight and I’d like to get it in front of real users before submitting it properly to the App Store.

If anyone wants to test it, DM me and I’ll send over the TestFlight link.

Also happy to answer questions about building with Expo / React Native and getting an iOS app onto TestFlight from a Windows laptop, because that part was a journey.

u/Bright-Oven3187 — 5 days ago
▲ 9 r/expo+1 crossposts

@expo/ui vs React Native Reusables or StyleSheets

If you were to build a new app today and wanted to build native looking high quality UI for both iOS and Android, would you use expo/ui or would you go with something like React Native Reusables or drop down to classic StyleSheets? If so why, and what is your reasoning. Is there any synergy if you have an existing ShadCN design system that you would like to reuse in your react native app, I'm thinking is React Native Reusables still worth looking at then or is it obsolete? Has anyone used expo/ui so far and what is your experience with it, any advice/tips would be appreciated

reddit.com
u/Aggressive_Ad4210 — 6 days ago
▲ 8 r/expo+1 crossposts

Hello Expo Reddit, just showing my app built with expo feel free to share your thoughts

Hey everyone!

IT student here, i have been spending most of my free time building an app called Clevaly. It's built with Expo, and after months of work it's finally at a point where I feel comfortable showing it to people.

The reason I started building it is pretty simple, i was tired of moving between PDFs, Quizlet, ChatGPT, notebookLM, and a bunch of different tools every semester I wanted one place where I could upload my course material and actually study instead of spending hours organizing everything first.

The app can generate things like:

  • Notes
  • Flashcards
  • Cheat sheets
  • AI podcasts
  • Practice questions

while keeping everything organized by course and chapter instead of creating a mess of random chats. I've attached a short video showing some of the screens and current progress. I'd genuinely love to hear what you think both the good and the bad.

A few things I'd especially appreciate feedback on:

  • Does the UI feel clean or too busy?
  • Which feature stands out the most?
  • Is there anything that immediately feels confusing?
  • If you're a student, would you actually use something like this?

Also, if anyone has experience shipping larger Expo apps, I'd love to hear any lessons or things you wish you'd known before launch.

Thanks for taking the time to check it out. Looking forward to hearing your thoughts! for more

u/OrneryTell4704 — 5 days ago
▲ 1 r/expo+4 crossposts

For anyone building mobile apps without a designer, I made a screen generator

One of the biggest gaps in the no-code stack is design. You can assemble the app, automate the backend, wire up the logic but you still need screens that don't look thrown together.

Daisy generates mobile app screens from a prompt. Describe the screen, get a UI you can use as a starting point or reference. Built it because I kept duct-taping templates together and wanted something faster.

Curious what no-code builders here use for UI right now, and whether something like this fills a real gap or just adds another tool to the pile.

u/Fancy-Remove4078 — 7 days ago
▲ 3 r/expo+3 crossposts

Morse Trainer: an Android app for learning and practicing Morse code - junior learning project with react native

Hi everyone 👋,

I made a small Android app called Morse Trainer and I'd love your feedback.

The idea was inspired by a handheld Morse trainer made by Nux Modellbau:
https://nux-modellbau.de/gadgets/
(I have no affiliation with the company.)

The app lets you:
• Learn and practice Morse code locally
• Enter Morse with a single hold button (short press = dot, long press = dash)
• See the Morse tree visualized in real time
• Practice with another person by joining the same room and exchanging Morse messages in real time

I originally built it as a learning project to experiment with React Native, .NET SignalR, WebSockets and SVG rendering, but I thought other people interested in Morse code or amateur radio might enjoy trying it too.

Google Play:
https://play.google.com/store/apps/details?id=com.alkisax.nativemorsetrainer

I'd love any feedback, criticism, or ideas for improving it.

u/Conscious_Corgi_6616 — 8 days ago
▲ 3 r/expo+2 crossposts

Chicken and Egg Situation

So I’ve built this app called Scrap Map — it’s basically for helping people get rid of scrap metal quicker and cleaner, and for collectors it can actually boost what they make. It’s free to post stuff, but collectors pay £14.99/month, which honestly they could probably make back in a day if the app had enough activity.

My problem right now is kind of that classic chicken and egg thing… collectors aren’t going to pay if there’s no scrap to pick up, and people aren’t going to bother posting if no one’s collecting 😅

Just wondering if anyone’s been in this situation before and how you got around it?

reddit.com
u/Far-Scratch-1606 — 7 days ago
▲ 2 r/expo+1 crossposts

Unable to solve ERR_PNPM_NO_LOCKFILE Cannot install with "frozen-lockfile" error. Any help greatly appreciated

I'm trying to publish an Expo app to Google Play.
The app was originally built in Replit and has already been successfully published to the Apple App Store. I'm now trying to generate an Android App Bundle (.aab) using EAS Build.
Every Android build fails during dependency installation with:
We detected that 'artifacts/folk-bespoke' is a pnpm workspace

Running "pnpm install --frozen-lockfile"

WARN Ignoring not compatible lockfile at /home/expo/workingdir/build/pnpm-lock.yaml

ERR_PNPM_NO_LOCKFILE Cannot install with "frozen-lockfile" because pnpm-lock.yaml is absent
The repository structure is:
/
├── package.json
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
└── artifacts/
└── folk-bespoke/
├── package.json
├── app.json
└── eas.json
Things I've already tried:
Added "packageManager": "pnpm@10.26.1" to both the root package.json and artifacts/folk-bespoke/package.json.
Confirmed pnpm-lock.yaml exists at the repository root.
Built from my Mac using eas build.
Built from GitHub.
Followed multiple fixes suggested by the Replit Agent.
The build environment still reports pnpm 8.7.5 and immediately fails before compiling the app.
Has anyone successfully built a Replit Expo workspace like this with EAS? Is this a known issue with pnpm workspaces or the way EAS detects the project root?
Any ideas would be greatly appreciated.

u/joe_mago — 5 days ago
▲ 41 r/expo+5 crossposts

I’m building a react native Shadcn registry

Hey guys I’m building a cross platform registry using Shadcn I made a quick demo app to showcase it. Tell me if you like how it looks and if you think this is a good idea in general.

I’m also building a bunch of free templates and blocks. I have also developed a system with reusable logic across mobile and web that can be shared though the registry and each application route can be copy pasted as a block headlessly, so if you like a screen in one of the demo apps in web or native you can just copy paste it. If you like the logic but don’t like the ui you can just copy paste the logic only.

(Ignore the fact that the demo app is a period tracker 😭)

u/Admirable-Canary-732 — 9 days ago
▲ 75 r/expo+2 crossposts

I made a free phone mockup generator

I was making marketing images for my app recently and ran into a surprisingly annoying problem. Most of the mockup generators I found either charged a subscription or only let me use a few preset angles. I wanted a 3D iPhone mockup where I could freely adjust the viewing angle instead.

I found this great open-source project: https://github.com/ihou/PhoneMockup

It gave me a solid starting point, but I personally ran into a few issues:

  • The device model is quite old.
  • Export quality wasn't high enough for marketing materials.
  • It wasn't convenient to use screenshots directly from the latest iPhone Simulator.

So I started modifying it... and eventually rewrote a good portion of it until it became the tool I actually wanted.

You can try it here: https://www.bigbigtools.com/

The workflow is intentionally simple:

  1. Take a screenshot of your app in the iPhone 17 Pro Simulator.
  2. Upload it to the website.
  3. Rotate the phone to any angle you like.
  4. Download the image and use it in your poster, landing page, or App Store assets.

It's completely free.

I mainly built it because I needed it myself, but I thought other developers might find it useful too. Hope some of you find it useful!

u/AncientJackfruit196 — 8 days ago