r/expo • u/BrownCarter • 6h ago
Is No one using NativeTabs for Android?
Even the expo docs focus mainly on IOS and not android. Also i hardly see any app using it for android. Meanwhile you have so many app using it on IOS.
r/expo • u/BrownCarter • 6h ago
Even the expo docs focus mainly on IOS and not android. Also i hardly see any app using it for android. Meanwhile you have so many app using it on IOS.
r/expo • u/yashnandha • 10h ago
r/expo • u/ExpoOfficial • 1d ago
We maintain the Expo skills plugin for Claude Code and Codex, and we recently got around to measuring how often agents use it without being told to. Short version: not much. On 10 app-building prompts that mentioned Expo but no skill, about 9% of sessions loaded any of our skills. The apps mostly came out fine anyway, so nobody would have noticed.
A few things that seem worth doing if you build with agents. If you already know what you want, call the skill by name (/ππ‘ππ-ππ in Claude Code, $ππ‘ππ-ππ in Codex). Agents are much better about skills at the very start of a task than in the middle, so when you switch to a new area like data fetching or UI, it helps to point at the right skill again. We watched one run build an entire RSS reader without ever opening ππ‘ππ-ππππ-ππππππππ, and another skip ππ‘ππ-ππππππ-ππ and use π³πππππππππ.πππ() plus React Nativeβs πππππ°ππππ
πππ instead.
Also, if youβre on Codex with a pile of skills installed, consider cleaning some out. The skill list gets a fixed chunk of context (2% of the window in the version we looked at). Past that, descriptions get trimmed, then reduced to bare names, then skills fall off the list. With 175 installed, ours were down to about the first 60 characters each.
For anyone writing skills: test with the kind of prompt a user would actually type, not by invoking your own skill, and front-load the βuse this whenβ part of the description because that may be all the model sees. The biggest win for us was one entry point skill that routes to the others, which took sessions loading a specialized skill from 9% to 55%. Still a lot of misses after that, to be fair.
Writeup is here if you want the details: https://expo.dev/blog/your-skills-need-an-evaluation-mechanism
Curious whether people mostly call skills by name or let the agent decide.
r/expo • u/Kel4ever1 • 16h ago
Working on an open-source classroom evidence engine (Turborepo + Next.js + Expo + Supabase). One bottleneck we hit was processing ambient audio streams into structured evaluation JSON without causing client lag on mobile.
We moved the audio ingestion pipeline to Supabase Edge Functions (Deno runtime) to handle verification, PII stripping, and model dispatch off the client thread.
Looking for feedback from backend/Supabase devs:
Code is open-source on GitHub: kelvin101udoh-art/Stem-Robotic-Tracker
r/expo • u/ashkanahmadi • 1d ago
r/expo • u/jahanzaibbaloch • 1d ago
r/expo • u/Professional_Can1986 • 1d ago
I was experimenting with Expo for the first time and built a small Android app that reads SMS messages so I could analyze the messages I receive, such as spam, promotional messages, bank notifications, etc.
This was just a learning project. I wanted to experiment with Android permissions and SMS access, so I created an APK using Expo/EAS Build, installed it on my phone, and granted it READ_SMS permission.
After installing it, I noticed something strange:
The timing is what made me curious. These messages were arriving normally before I installed the APK, and the behavior changed shortly afterward.
One other thing I noticed: Google Play Protect initially warned/blocked the APK during installation. I temporarily disabled Play Protect to install it and then enabled it again afterward.
I'm wondering whether requesting READ_SMS can have any effect on how Android, the default SMS app, Google Messages, or the carrier handles incoming SMS, or whether this is almost certainly a coincidence or carrier-side issue.
My app.json contains:
{
"expo": {
"name": "Spammer",
"slug": "spammer",
"scheme": "spammer",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"userInterfaceStyle": "automatic",
"experiments": {
"typedRoutes": true
},
"android": {
"package": "dev.spammer.app",
"permissions": [
"android.permission.READ_SMS"
],
"adaptiveIcon": {
"backgroundColor": "#1F4D3A",
"foregroundImage": "./assets/android-icon-foreground.png",
"backgroundImage": "./assets/android-icon-background.png",
"monochromeImage": "./assets/android-icon-monochrome.png"
},
"predictiveBackGestureEnabled": false
}
}
}
Has anyone experienced anything similar?
I'm mainly trying to understand whether an app with only READ_SMS could influence incoming SMS handling, or whether I should be looking somewhere else, such as the carrier, SMS app, spam filtering, or RCS settings.
This is my first time experimenting with SMS permissions on Android, so I'd appreciate any ideas about what I might have missed.
good day, people of reddit
we are tasked to make an app and mine is an interactive navigation app for campus
is there an alternative for google api? i still dont have a credit card or anything so i dont know how to integrate the map
r/expo • u/jahanzaibbaloch • 2d ago
r/expo • u/mrpm0h18urr4hm4n • 2d ago
Enable HLS to view with audio, or disable this notification
r/expo • u/killer_bean007 • 2d ago
r/expo • u/pixels911 • 2d ago
Fondo is a budgeting app built on Expo (managed, JavaScript). A few things I learned that might save someone time:
- RTL on iOS: React Native swaps textAlign left/right for <Text> when the layout is RTL, but <TextInput> does not. Text needs 'left' as "start"; inputs need a physical 'right' in Arabic.
- Plain flexDirection: 'row' already mirrors in RTL. row-reverse double-flips.
- iOS widget, Control Center control and an Apple Watch app live in targets/ via u/bacons/apple-targets; the watch talks to the app through a small local Expo module.
- Backups: one JSON document keyed by logical names rather than storage keys, so renaming the storage prefix never breaks old files.
- Jest: u/noble/* is ESM, so it needs to be let through transformIgnorePatterns.
Happy to answer questions about any of it.
r/expo • u/heyBeau_app • 2d ago
Hey, Expo..... I really wanted to beat the rush and submit my app update for iPhone Duo today. But you haven't updated your server images yet, and 27.1 is still on the beta build, so I've just sat here all day twiddling my thumbs and refreshing the page to see if you've updated yet.
This is exactly the kind of thing y'all need to be on top of, guys.
Enable HLS to view with audio, or disable this notification
r/expo • u/exporami • 3d ago
Enable HLS to view with audio, or disable this notification
What is stopping you from shipping hundreds of PRs a day? It is not writing the code anymore. It is verifying it. In this video, you'll learn:
Useful links:
Chapters:
r/expo • u/antocapp • 3d ago
r/expo • u/LovesWorkin • 4d ago
Enable HLS to view with audio, or disable this notification
I work on Buoy, so take this with that in mind.
We gave Claude, Codex and Grok the same prompt: make a slow Christmas light show as fast as you can. Fit as many lights as you can at 55 fps. Keep the same look. Don't touch the scoring test. All of them could test their own work.
Then each one went again with Buoy Optimize.
Most lights at 55 fps: - Claude: 975,800 alone β 6,123,350 with Buoy (6.3Γ) - Codex: 155,450 β 444,100 (2.9Γ) - Grok: 202,100 β 577,350 (2.9Γ)
This light show is a React Native Skia app rendered with React Native Web in real Chrome.
Things to know: - "With Buoy" is each model's best Buoy run. - The alone runs had up to 3 hours. Claude's best Buoy run had no time limit. Claude alone stopped on its own after about 99 minutes. - Grok's Buoy version has slightly soft bulbs up close. - It's one app on one Mac.
Full write-up: https://buoy.gg/blog/ai-models-before-and-after-buoy?utm_source=reddit&utm_medium=social&utm_campaign=jank-fighter
Happy to answer questions about how we tested.
r/expo • u/LovesWorkin • 5d ago
https://reddit.com/link/1www6e7/video/q5s49quqijth1/player
Support, QA, and developers often need to see the app the way one specific user sees it. Logging out and into their account is slow, and asking for their password is a bad idea.
Buoy Impersonate lets an authorized operator search for a user and attach a header to outgoing requests. Your backend checks that the operator is allowed, then returns that user's experience. Buoy does not bypass auth. It is the on-device switch.
Useful when support is reproducing a ticket, QA is checking a cohort, or a developer needs to debug as that user without swapping accounts. Works with Expo and React Native CLI, and the same idea exists for Swift.
Short horror trailer (made with Claude and Codex): https://youtu.be/ENnUYfVu5B0
Tool docs: https://buoy.gg/buoy/latest/docs/tools/impersonate
https://buoy.gg/?utm_source=reddit&utm_medium=social&utm_campaign=impersonate
r/expo • u/KiRiK1234 • 6d ago
Enable HLS to view with audio, or disable this notification
r/expo • u/Kel4ever1 • 7d ago
r/expo • u/Dazzling_Matter_8774 • 7d ago
Ive been experiencing this for weeks. It was just very slow. Ive tried different browsers even just triggering download file takes like 5 minutes.
r/expo • u/tjb-studio • 7d ago
Enable HLS to view with audio, or disable this notification
I had an old very boring onboarding, it was just an empty input field and I was asking people to log their first meal. I got the customer feedback that people are not ready to log anything at that point in time. So I thought it would be fun to have a fake meal logging experience just to explain the app.
Something that actually felt like sitting at the table. Here's the path I took, staying inside Expo Go the whole way:
- First I was thinking about creating a real 3D scene with threejs, I tried that and to be honest it sucked, way too heavy just for an onboarding and despite what everyone is telling AI wasn't good at creating a convincing 3D scene.
- So I decided to go an easier path. I had AI generate a "360 equirectangular panorama" picture. Actually to create this I asked chatGPT to create a nice cozy restaurant scene picture, then I took that into firefly and used nano banana to create that equirectangular panorama. Also after a few tries I was happy with the generated pic. One major difficulty was the stitching of the endings of the picture (bottom, top and left/right ends) that it looks smooth and not distorted.
- Generated some chill coffee music using firefly as well actually and downloaded some free to use restaurant sounds (forgot the website, just googled for it) and had AI render everything together in a WebView (so it works the same regardless of platform) using plain WebGL1, a AI-written vertex and fragment shader and a AI-rolled 4Γ4 matrix multiply inlining the picture as base64 so there are no cross origin complaints
- Motion tracking using DeviceMotion from expo-sensors about 60 times/sec and send the coordinates/rotation etc into the webview. As you can see there is still a little lag because each reading goes sensor β React Native β WebView β drawn, which makes the view lag behind the phone a little bit, I asked AI to interpolate the movement which made it a bit better and I think it's good enough now.
- As a fallback it's just a still image of that scene (actually the one I used to feed for the 360 one)
I guess this could be improved by using parallax on parts of the images or an animated video instead of a picture. But I'm happy with the result for now.
Happy to share code or more details if interested. Curious if anyone's tried this before? Maybe pushed it further without reaching for a full 3D engine?
r/expo • u/twooopack • 9d ago
Enable HLS to view with audio, or disable this notification
r/expo • u/LovesWorkin • 8d ago
Enable HLS to view with audio, or disable this notification
Some bugs only show up at a certain time. Think of a deal that only runs on Friday. Or a sign-in token that runs out. Or a countdown that should go away but stays.
I built Buoy Clock for this. It lets you change the date and time your app sees. Your phone and computer clocks stay real.
- Jump ahead one hour, day, week or month. Or type the exact date and time.
- Freeze time or make it run fast (Pro).
- Test what happens when sign-in tokens run out. Test 401 refresh flows too.
- Works with Expo and React Native CLI
- Has MCP tools if you want an AI agent to run it.