FAQ

Questions, answered plainly.

What opointo does, what you need, what you own and how billing works. The platform details and exact versions are further down.

Getting started

What is opointo?

An app builder for native mobile apps. You design in the browser: start from a template, drag blocks onto screens and draw arrows between them for tabs, pushed screens and pop-ups. Then there are two ways to get the app: press Build my app and we build it for your Android phone, or send it to your own coding agent, which turns the design into a real Expo project, one codebase for iOS and Android, and the code is yours.

Can you build the app for me?

Yes, for Android, with no code. In the App Designer press Get my app, then Build my app. The first time, you connect a free Expo account, the service that turns your app into a file a phone can install; the App Designer walks you through it, and the same steps are written here. We build the app on that account, and when it is ready you scan a QR code with your Android phone and it installs from the link. On Expo’s free plan a build can take a while, sometimes more than an hour when Expo is busy, and you can close the page while it runs. Press Build again for a new version.

An iPhone app is built the other way, by your coding agent, on a Mac: do I need a Mac?

What does the coding agent do?

You press Get my app, then Send app to agent, and paste one line into your agent. It calls our tools to create an Expo project with your screens, install the components they use and wire the navigation into an app shell we have already tested on both platforms. Then verify_app checks the project against what it was told to write, so the agent knows when it is finished rather than guessing. You can keep asking it for changes afterwards, the same way you would in any codebase.

Which agents and models work?

Claude Code, Cursor, Codex, VS Code and Gemini CLI each have a setup on the Connect your agent page, and any agent that can add a remote MCP server works the same way. We tested a full build with Claude Sonnet: no top-tier model needed, and our tools used about 2% of the agent’s context.

Is it free to try?

Yes. Designing in the App Designer is free, with no account and no install, and so are the lookup tools your agent can use to ask which component to use and what props it takes. You pay only to build the app: with Build my app, or with your agent generating the code.

Platforms and requirements

Do I need a Mac?

For an Android app, no. Build my app builds the Android app for you in the cloud and sends you a link to install it, so for Android you need no Mac and no Android SDK, only a free Expo account.

For the iPhone app, yes. You need a Mac with Xcode 26 to build the iOS app. Android needs only the Android SDK. For the iPhone you also want an iOS 26 simulator or device: Apple gives system controls Liquid Glass when an app is compiled against the iOS 26 SDK, so the toolchain matters, not just the phone.

Cloud build services exist for iOS too, and for the code your agent writes we still ask for a Mac: once you add your own database, sign-in, payments or push, you are installing native modules we do not ship, and that is where a Mac stops being optional.

Xcode 27 support is in progress: an Expo app built with Xcode 27 crashes at launch on iOS 27 unless it opts into the UIKit scene life cycle, which takes expo 57.0.23 or later and expo-build-properties 57.0.20 or later, with ios.enableSceneSupport. Expo SDK 56 and earlier cannot opt in; new exports turn it on, and Xcode 26 stays the requirement until we have run an Xcode 27 build on iOS 27.

Is Android really native?

Yes. On Android every component draws Material 3 Expressive through Jetpack Compose, and where Android has a real control (buttons, switches, sliders, chips, the search field, the tab bar) you get that control. iOS gets Apple’s own controls with Liquid Glass on iOS 26. They are two different design languages on purpose, not one look copied onto the other.

Does it work on iOS 27?

Not yet. Verified on iOS 26 and on Android 16 with Material 3 Expressive. iOS 27 support is in progress.

One thing to know before you build. Xcode 27 support is in progress: an Expo app built with Xcode 27 crashes at launch on iOS 27 unless it opts into the UIKit scene life cycle, which takes expo 57.0.23 or later and expo-build-properties 57.0.20 or later, with ios.enableSceneSupport. Expo SDK 56 and earlier cannot opt in; new exports turn it on, and Xcode 26 stays the requirement until we have run an Xcode 27 build on iOS 27. Xcode updates itself from the Mac App Store, so this can happen without you changing anything, which is why verify_app checks your toolchain and stops the build rather than letting you find out at launch.

The compatibility page shows what is verified on each version, and when. It is generated from our run records, so it changes when somebody runs something, not when somebody edits a page.

What happens on older Android phones?

The same as on the newest. Material ships inside your app rather than coming from the phone, so an older phone gets the same controls. We run the starter apps on Android 16, 15 and 11.

Will it look the same on a Pixel and a Samsung?

Almost. The Material components ship inside your app and take their colours from your accent rather than the phone’s wallpaper, so skins like One UI do not restyle them. The context menu and the date picker use the phone’s own menu and dialogs, so they match the phone they run on, on purpose.

Can I use Expo Go?

No. Expo Go cannot run the app, because several components use real native controls, so it needs a development build. Run npx expo run:ios or run:android once, and after that the usual development workflow applies.

Does it build a web app?

No. opointo builds iOS and Android apps. The previews on this site are drawn in the browser to show the design; the real thing runs on a phone.

Your code

Can I edit the code?

Yes, all of it. You get a normal Expo project in your own repo: your screens, the components and the app shell, as React Native source you can read and change. There is no runtime from us inside it and nothing that calls home.

My glass renders blank. What did I do?

Almost certainly one of two things. Native glass goes blank for good if you fade a view that contains it, or mount it on demand directly over another glass surface. Animate transform only, keep glass mounted and change its props instead of remounting. Our check_snippet tool catches both in your agent’s code.

Billing

What happens if I cancel?

Every app you generated keeps working, forever. The code is in your repo, has no licence check and never contacts us. Cancelling stops the paid parts: generating code with the build tools, pulling components from the registry, and the updates we ship as iOS and Android move. Designing in the App Designer stays free. See Cancellation and refunds.

Why a subscription?

Because staying correct is the hard part. iOS 26 brought Liquid Glass, Android brought Material 3 Expressive, and iOS 27 and Android 17 are next. Tracking two moving design systems is continuous work, and that is what the subscription pays for. You are not renting the code: what you generate is yours for good.

What is the beta price?

While opointo is in beta, the first 100 subscribers pay 40% less: $15 a seat a month instead of $25, or $12 a month billed yearly ($144 a year instead of $240). The checkout applies it for you. You keep the beta price for as long as that subscription stays active, even after the beta ends. If you cancel and subscribe again after the beta, it is at whatever the price is then.

What does Build my app cost in all?

Everything, up front. opointo: $15 a month at the beta price, or $12 a month billed yearly; Expo: free, for up to 15 Android builds a month; On your Android phone: free, installed from a link. Later, and only if you publish: $25 once to Google for Google Play, and $99 a year to Apple for iPhone and the App Store. Nothing else is charged along the way.

Will my price go up?

No. The price you subscribe at is locked for as long as your subscription stays active.

Can I get a refund?

Yes. There is a full refund within 30 days of your first payment. See Cancellation and refunds for the details.

How do seats work?

One seat per person who builds with it, at the same price however many you buy. A team shares one licence key.

Requirements

What runs where. The exact boundaries.

The material changes with the platform, and we would rather you know the boundaries before you subscribe than discover them in a build.

PlatformVersionWhat rendersTier
iOS26 and upGenuine UIGlassEffect, the same material the system drawsNative glass
iOS16.4 to 25UIBlurEffect system materials (systemUltraThinMaterial / systemThinMaterial)Blur
Android7 and up (API 24+)Material 3 Expressive controls and solid Material surfaces. No glass or blurMaterial 3

Material ships inside your app rather than coming from the phone, so what renders on Android does not change with its version. The starter apps are checked on Android 16, 15 and 11. See compatibility for what is verified and when.

Toolchain, to build it yourself

  • Expo SDK 57, React Native 0.86.3, React 19.2.3
  • Node 22.13 or later, for the Expo CLI
  • A Mac with Xcode 26 plus an iOS 26 simulator or device, to see real glass. Xcode 27 is not supported yet
  • iOS 16.4 deployment target
  • Android 7+ (API 24), compiled against API 36
  • Expo Go cannot run the app, because several components use real native controls, so it needs a development build.

Peer dependencies

  • expo~57.0.25SDK baseline
  • react-native0.86.3with React 19.2.3
  • expo-glass-effect~57.0.4the iOS 26 glass primitive
  • expo-blur~57.0.3the glass fallback on iOS before 26, Header’s blur
  • react-native-reanimated4.5.1every morph and spring
  • react-native-gesture-handler~2.32.0sliders, sheet drag-to-dismiss
  • react-native-safe-area-context5.7.0header and tab-bar insets
  • expo-linear-gradient~57.0.2AppBackground, the header blur mask
  • react-native-keyboard-controller1.22.4KeyboardToolbar
  • @react-native-masked-view/masked-view0.3.2Header’s gradient mask

Native modules (these need a rebuild)

  • @react-native-community/slider5.2.0the real UISlider on iOS
  • @react-native-segmented-control/segmented-control2.5.7the real UISegmentedControl on iOS
  • @react-native-community/datetimepicker9.1.0the real UIDatePicker on iOS, Material dialogs on Android
  • @react-native-menu/menu^2.0.0the native UIMenu, Material popup on Android
  • @expo/ui~57.0.22the real Material 3 controls on Android

Still have a question? Ask us.