- iOS + Android apps$99
Total, once$99
1 build + 4 rebuilds, the rebuilds banked for 12 months
The apps are yours for good. No renewal.
Introductory pricing, valid until Thanksgiving.
For Cursor apps
Try a sample purchase, the camera, a deep link, Face ID and push on your own phone, free, while you build in Cursor. Pay once when it's right.
Sample products in Preview. Your own products in your build.
All five run in the free BDK Preview app.
Keep your code and your repository private. BDK needs just your app's public address. On iPhone, BDK Preview opens your own previews.
Natively's own docs say in-app purchases, deep links, the camera and audio don't work in their preview app. All four run in BDK Preview, free, on your own phone (purchases with sample products).
What you can test in each service's free preview, before you pay. From each company's own docs, as of October 29, 2026.
BDK Preview next to Natively Preview.
| Natively Preview | Median | Despia | MobiLoud | ||
|---|---|---|---|---|---|
| Push notifications | Yes¹ | Yes | No shared preview app. You test in a browser simulator, where some native features can't be tested, or in a watermarked build of your own app. | No shared preview app. You test free watermarked builds of your own app. | Their team arranges a preview of your site before purchase. Native-feature testing on a phone isn't documented. |
| Camera | Yes² | No | |||
| Record and play audio | Yes² | No | |||
| Deep links | Yes³ | No | |||
| In-app purchases | Sample products⁴ | No | |||
| Face ID / fingerprint | Yes² | Not documented | |||
| Google / Apple sign-in | Shows the hand-off⁵ | No (social login) | |||
| Your own loading screen | Yes⁶ | No (custom loading screen) | |||
| Needs an Apple developer account to try on iPhone? | No (public TestFlight)⁷ | No (App Store) | Yes ($99 a year) | Yes ($99 a year) | Not documented |
✗ where their docs say it doesn't work. “Not documented” means we found nothing either way. Sources below.
Like buying a bike instead of renting one every month. BDK is one payment; a wrapper subscription keeps charging.
One payment
Total, once$99
1 build + 4 rebuilds, the rebuilds banked for 12 months
The apps are yours for good. No renewal.
Introductory pricing, valid until Thanksgiving.
If you stop paying: There's nothing to stop. No subscription, no banner, no kill switch. Your app keeps working.
So far$147
Or Lifetime, paid once$699
and every month after
Yearly, $384, passes BDK on the first payment.
If you stop paying: Their FAQ says a blocking banner covers the app until you reactivate.
Prices from each company's pricing page as of October 29, 2026; BDK prices as of October 19, 2026. Apple ($99 a year) and Google ($25 once) charge for their own developer accounts with every service. Median: $229 activation, then $179 a year on Starter; its free tier is for limited use.See pricing
Published from your own Apple and Google accounts. Ratings, reviews and installs are yours.
It comes with every Android build.
When it pays, your team can build a fully native app. It can ship as an update to the same listing: same name, same reviews.
Point the app at a new address from your BDK dashboard, with no new store submission.
Screens slide in, sheets pull down, prompts appear when they're needed. Each one is a call from your app's code, through the free @thebdk/native package.
71 native features in total. Try most of them live in the demo app.Open demo.thebdk.com
Deploy it to a public HTTPS address on Vercel, Netlify, Railway, Render or your own server. Use the production address, like yourapp.vercel.app or your own domain. Not localhost, and not a preview deployment that asks for a sign-in.
Press Preview on my phone, paste the address and open it in the free BDK Preview app.
Push to everyone needs no code: you send it from your own OneSignal account. For the rest, Cursor's agent runs npm install @thebdk/native and adds the calls to your code. Face ID, the camera, external Google sign-in, in-app purchases and push to one person start there. Your backend still sends one-person notifications and decides who has paid.
Pick iOS, Android or both, and fill in one short form. Create your App Store Connect entry and push key. BDK builds, signs and uploads to TestFlight. You test and submit for review; Apple and Google decide.
Tell Cursor's agent what you want, in plain words. Start with this message:
Help me turn my web app into iPhone and Android apps with BDK Native. Fetch https://thebdk.com/agent/skill.md and follow it.
For each appointment, send the customer a push notification an hour before it starts, and don't send it if they cancel. Let returning members sign back in with Face ID, and show the usual sign-in if it doesn't work.
When an AI report finishes, send a push notification to the person who asked for it and show an unread badge on the app icon. When they run out of credits, offer more as an in-app purchase.
When a teammate is assigned a job, send them a push notification with the address, and let them attach a photo from the phone's camera when they finish.
Cursor's agent adds these with the free @thebdk/native package. Reminders, push to one person, credits and ticket checks still need your backend: it knows each booking, sends each notification, decides who has paid and marks each ticket as used. On iPhone the badge can be a number; on Android it follows the notification. Face ID unlocks your existing sign-in rather than replacing it.
Open the address on your phone in a private browser window, signed out of your host. If it asks you to log in to Vercel, it's a protected deployment, and the app would ask too. A vercel.app address with a long code in it is one fixed deployment. A deploy-preview address on Netlify is a preview. Use your production address. Localhost and a tunnel from your laptop stop when your laptop does. Free hosting has limits too. Render says its free instances aren't for production and can sleep. Netlify's Free plan can pause a site that runs out of its monthly credits.
Cursor doesn't add a sign-in system of its own: your app uses what you set up, like Supabase, Clerk, Auth.js or Firebase. Make sure its allowed redirect and callback addresses name your production address, not a preview or localhost. Sign in, close the app and open it again. Google doesn't allow its sign-in page inside an app's embedded browser, so Google sign-in has to open in the phone's browser and come back. BDK's external sign-in does that hand-off, called from your code; check that your session comes back with it rather than assuming it does. BDK Preview can show the hand-off, but it doesn't prove your store app's Google or Apple sign-in setup.
On the phone, open a new-account email, a sign-in link, and a password reset. See whether each one opens your app or the phone's browser, and whether the person is still signed in. If those emails should open the installed app, set that up with Branch or ChottuLink before you order the build.
If you charge with Stripe Checkout, walk through a real purchase, a cancelled one and the return to the app. Ask Cursor's agent to give paid access after your server receives and checks Stripe's payment confirmation, not because the customer reached a success page. Physical goods and real-world services, including real-world subscriptions like a gym or a meal kit, generally keep your web checkout. Digital things used in the app, like credits or a digital subscription, generally must use Apple's and Google's in-app purchases. That's the stores' rule, not BDK's. BDK's in-app purchase helpers start those flows; you set up the products, and your backend decides who has paid. In BDK Preview, purchases run against BDK's own sample products; your own products work in your own build.
Pick a photo, take one with the camera and upload it, on both phones, and try a full-size photo against your upload limits. Uploads still go to your own storage. For a native camera or photo picker, BDK has helpers your code can call.
BDK Preview runs your real site, so what works there is strong evidence. It doesn't prove your store app's sign-in or push setup, or how store review will go, and its purchases use BDK's sample products.
Cursor's docs describe Cursor for iOS as an app for “controlling agents running in the cloud and on your local computer.” They say Android is planned. Opening that companion app starts on Cursor's Premium plan. Premium is for using Cursor on your phone. Your own store app, and the Expo route, work on Cursor's Free plan.
Cursor's pricing lists a Free plan with limited Agent and Chat use, and paid plans that add more AI use.
Cursor can write a React Native app with Expo too, and Expo's docs cover building with Cursor. That route is real: Expo's EAS tools build and submit for both stores, and it fits an app you want designed for phones from scratch. If your web app already works, rebuilding its interface as native screens means separate web and mobile screens to build, test and release. Expo can also reuse web components inside a native app, so how much stays separate depends on how you build it. BDK puts the web app you already have in the stores, so you keep one codebase and keep shipping from Cursor.
Expo's own docs list what Expo Go, its preview app, can't test. “The FaceID authentication for iOS is not supported in Expo Go.” For in-app purchases: “Native code is not configurable when using Expo Go.” Expo's docs also say Expo Go can't test remote push notifications, website links that open your installed app, or sign-in that leaves the app and comes back. For those, Expo recommends a test build made for your own app, which you configure and compile. Expo Go does run the camera, QR scanning and its own test links. BDK Preview runs push, Face ID, deep links and sample purchases around your live site, free, on your own phone, before you pay. It uses BDK's keys, BDK-branded links and BDK's sample products, so your own setup still gets tested in your build.
Building iOS on your own computer needs a Mac and Xcode; Expo's cloud builds avoid that and can manage signing for you. With BDK there is no native project to keep at all: BDK builds and signs, and you submit from your own accounts.
Neither route needs a paid Cursor plan. As of October 30, 2026, Cursor's Free plan is $0 and Plus is $8 a month, for more AI use. Expo's Free plan includes store builds and submission in a lower-priority queue; its Starter plan is $19 a month plus usage. So the difference is the work, rather than a Cursor or Expo subscription: neither route needs a paid Cursor plan, and Expo's Free plan includes store builds and submission in a lower-priority queue. Hosting is a cost either way. Vercel's Hobby plan is $0 for personal, non-commercial use, and Pro starts at $20 a month plus usage. BDK is a separate one-time payment for packaging the site you already deployed.
If you change hosts later, the app keeps working: deploy the site to its new home, then point the app at the new address from your BDK dashboard, with no new store submission.
Test, launch and improve with real users on BDK first. Once the app has traction, a fully native version you sign and submit for this same app can ship as an update to the same store listing: same name, same reviews, and your users simply get an update. The Android signing key comes with your BDK build.
Your code, your repository and your hosting stay yours. If you move hosts later, from Vercel to Railway or your own server, point the app at the new address from your BDK dashboard.
$69 for iOS, $69 for Android, or $99 for both, paid once. Introductory pricing, valid until Thanksgiving. Each purchase includes one build and four banked rebuilds; the rebuilds expire 12 months from payment. Extra rebuilds are $19 and also expire 12 months from payment. Changes to your site never need one. Apple ($99 a year) and Google ($25 once) charge for their own developer accounts.
Prices as of .See pricing
BDK Native turns your web app, built with Cursor and deployed, into real iOS and Android apps for your own App Store and Google Play accounts. The apps load your live site, so you keep building in Cursor and every change you deploy shows up in the app, with no store update. Try it free on your phone first in the BDK Preview app, before you pay anything.
Deploy it to a public HTTPS address, on Vercel, Netlify, Railway, Render or your own server, and give BDK the production address, not localhost or a protected preview. Try it free in the BDK Preview app on your phone. Ask Cursor's agent to add the free @thebdk/native package for phone features. When it works the way you want, order a build: BDK makes signed iOS and Android apps, and you submit them from your own Apple and Google developer accounts.
It's a real option. Cursor can write a React Native app with Expo, Expo's tools build it for both stores, and it fits an app you want designed for phones from scratch. If your web app already works, rebuilding its interface as native screens means separate web and mobile screens to keep; Expo can also reuse some web components, so how much stays separate depends on how you build it. BDK puts the web app you already have in the stores, so you keep one codebase and no native project, and BDK does the build and signing. Expo Go, Expo's preview app, runs the camera, but Expo's docs say it can't test Face ID on iPhone, real in-app purchases, remote push, or sign-in that leaves the app and comes back; a test build made for your own app can, once you set it up and compile it. BDK Preview runs push, Face ID, deep links and sample purchases around your live site, free, on your own phone. Then you pay once.
Yes. The app loads your live site, so every change you deploy to your production address shows up in the installed apps right away, with no store update. The app itself needs a rebuild when you change what is built into it: its icon or name, the three screens, orientation, permission text, push or deep-link settings, or background audio. You also need one for a newer BDK engine, or when Apple or Google require a new build.
Test it in BDK Preview before you buy: sign in, close the app, open it again, then sign out and reset a password. The app opens your live site, so it uses the same backend and the same accounts as your website; BDK doesn't move or copy your users. Check that your sign-in provider's allowed redirects name your production address. Google doesn't allow its sign-in page inside an app's embedded browser, so Google sign-in has to open in the phone's browser and return to the app. BDK's external sign-in does that hand-off, for Apple sign-in too; your app calls it through the free @thebdk/native package, and your session has to come back with it. BDK Preview can show the hand-off, but it doesn't prove your store app's Google or Apple sign-in setup.
For physical goods and real-world services, including real-world subscriptions like a gym or a meal kit, yes: your Stripe checkout is the right path, and it's the same page inside the app. Digital things used in the app, like credits or a digital subscription, generally must use Apple's and Google's in-app purchases. That's the stores' rule, not BDK's. BDK's in-app purchase helpers start those flows; you create the products in App Store Connect and Google Play Console, and your backend decides who has paid. In BDK Preview, purchases run against BDK's own sample products; your own products work in your own build.
BDK is a one-time payment: $99 for both platforms, with no subscription. As of October 29, 2026, Natively's Unlimited plan is $384 a year or $49 a month ($699 once for Lifetime), Despia's Hybrid Pack is $498 one-time, and MobiLoud's Growth plan is $679 a month billed annually. Natively Preview excludes in-app purchases, deep links, the camera and audio; Median and Despia have no shared preview app. Despia offers free watermarked builds; on iPhone those need your own Apple developer account and signing. Prices change, so check each company's pricing page.
Nobody can promise that: Apple and Google decide. Apple's guidelines push back on apps that add nothing beyond a website, so give people a reason to install, like push notifications, Face ID or a scanner wired into what your app does. BDK's native features exist for that, and Cursor's agent can wire them into your code.
Last updated
See your own app on your phone, free, before you pay anything.