No Xcode. No native code.

Your Rails app, in the App Store.

Ruby Native turns your existing Rails website into a native iOS app. Configure with YAML, preview on your iPhone, and ship to the App Store.

Framework agnostic

Works with any Rails app

Hotwire, React, Inertia, or whatever you're building with. Ruby Native wraps your existing frontend in a native shell. No rewrites required.

config/ruby_native.yml

# config/ruby_native.yml

app:

  name: "Daily Grind"

appearance:

  tint_color: "#5C3D2E"

  background_color: "#FAF7F2"

tabs:

  - title: "Menu"

    path: "/menu"

    icon: "cup.and.saucer"

  - title: "Orders"

    path: "/orders"

    icon: "bag"

  - title: "Rewards"

    path: "/rewards"

    icon: "star"

  - title: "Account"

    path: "/account"

    icon: "person"

Everything you need

From YAML config to the App Store.

Ruby Native handles the hard parts of mobile app development so you can focus on your Rails app. No Swift or Xcode required.

YAML configuration

Define your app name, colors, tab bar, and navigation in a single YAML file. Change a value, hit refresh, see the update on your phone.

Instant QR preview

Run native_rails preview and scan a QR code. See your app running on your phone in under a minute.

Any Rails frontend

Works with Hotwire, React, Vue, Stimulus, or plain ERB. Ruby Native wraps your existing web app in a native shell.

Native tab bar

A real native tab bar using first party APIs. Defined in YAML, rendered by iOS. Feels like a native app because it is one.

Cloud builds

Submit to the App Store without installing Xcode. We handle code signing, builds, and store submission.

Rails view helpers

Use native_app? in your views to show or hide content for mobile app users. One codebase, three experiences.

How it works

Your Rails app, wrapped in a real native shell.

  1. 1

    Your Rails server renders HTML

    Nothing changes about your backend. Keep using your existing views, controllers, and frontend framework.

  2. 2

    The native app loads your site

    A real iOS app with a web view, not a PWA. It shows up in the App Store with its own icon and launch screen.

  3. 3

    Native features layer on top

    The gem's view helpers communicate with the native shell. Add a tab bar, push notifications, and more with ERB tags.

  4. 4

    Deploy Rails, update the app

    Change your views and deploy like normal. No App Store review needed for content changes. Only rebuild for native config changes.

No mobile team required

Ship to the App Store without native code.

Skip the $150k mobile hire. Ship your Rails app to the App Store for less than a single hour of contractor time.

Starter

$29 /month

For solo developers and side projects.

  • One-click App Store deployment

  • Never open Xcode

  • 1,000 monthly active users Unique devices in a rolling 30-day window. You'll get a heads-up at 80%. If you hit the limit, you have a few days to upgrade before your app is paused.

  • Email support

Pro

$99 /month

For growing apps ready to scale.

  • One-click App Store deployment

  • Never open Xcode

  • Unlimited monthly active users

  • Email support

Business

$399 /month (billed annually)

For teams that want hands-on help.

  • Everything in Pro

  • We handle your App Store review

  • Hands-on setup from the founder

  • Same-day support via Slack or email

From a developer teams trust

25+ apps shipped. Here's what they say.

"Joe has been instrumental in building the Hotwire Native libraries with the team at 37signals."

Jay Ohms

Mobile Team Lead, 37signals

"Joe's expertise and collaborative spirit makes him a standout partner. He seamlessly helped us build native apps the Rails way."

Doyle Baxter

CTO

"Joe brought thoughtful documentation, quick turnaround on issues, and a calm confidence that made the whole process feel smooth."

Franco Marcano

Head of Engineering, Strety

Frequently asked questions

Can't find what you're looking for? Send me an email and I'll get back to you.

How is this different from a PWA?

PWAs don't get a real presence in the App Store. Ruby Native gives you a real native app with a native tab bar, push notifications, and an actual store listing. Users find you in the store, not via a browser prompt.

How is this different from Hotwire Native?

Hotwire Native gives you more control but requires writing Swift code. Ruby Native is for teams who want to be in the App Store without touching native code.

How is this different from Capacitor?

Capacitor requires you to maintain a full Xcode project. Ruby Native is config-driven. You never open an IDE, never write Swift, and never manage native dependencies. Just YAML and Ruby.

Will Apple approve my app?

Yes. Ruby Native apps include native components that satisfy Apple's guideline 4.2 (Minimum Functionality): a native tab bar, push notifications, and proper app assets. These are what separate a real app from a wrapped website in Apple's eyes. We've shipped 25+ apps through App Store review. The Business plan includes review assistance if you run into issues. Learn more about App Store review.

Does it work with my existing Rails app?

Yes. Ruby Native works with any Rails app regardless of frontend framework. Hotwire, React, Vue, Stimulus, or plain ERB. Add the gem, run the generator, and you're up and running.

Do I need a Mac to build the iOS app?

No. Cloud builds handle everything. You push your config, we compile the app, sign it, and submit it to the store. All from your Rails project, on any operating system.

Do I need an Apple Developer account?

Yes. Apple requires a $99/year membership to publish apps. You don't need it to preview your app, but you'll need it before your first cloud build.

What counts as a monthly active user?

Any unique device that opens your app in a rolling 30-day window. If the same person opens it 50 times, that's one MAU. You'll get a heads-up email at 80% of your limit. If you hit 1,000, you'll have a few days to upgrade to Pro before your app is paused for end users.

What about Android and Google Play?

Android support is on the roadmap, and your Rails backend won't need to change when it arrives. Email me if you want to beta test when it goes live.

What if I need more native features later?

Ruby Native is the starting point, not a dead end. If you outgrow YAML configuration, graduate to Hotwire Native for deeper native control, or go fully native. Your Rails backend stays mostly the same at every step. There's no lock-in and no rewrite. Book a mobile playbook if you want help planning the next step.

Ready to ship your Rails app to the App Store?

Add the gem, configure with YAML, and preview on your phone. No native code, no Xcode, no hassle.