Three Rails apps demonstrating the ruby_native gem with different frontend frameworks and modes.
| Demo | Concept | Framework | Mode | Story |
|---|---|---|---|---|
| Beervana | Brewery passport | Hotwire | Advanced | Real app, live in the App Store |
| Daily Grind | Coffee ordering | React + Inertia | Normal | Full-featured app with a native navigation bar and buttons |
| Habits | Habit tracker | Vue + Inertia | Normal | Minimal Ruby Native app with a web-based navigation bar |
A Portland brewery passport app. Track visits, explore neighborhoods, and discover new breweries. Advanced Mode for native push/pop screen transitions, with signal elements driving the tab bar, navigation bar, menus, and the profile edit form's submit button.
- Stack: Rails, Hotwire, Tailwind CSS
- Mode: Advanced (signal elements via ERB helpers)
- Production: beervana.app
- App Store: Beervana on the App Store
A coffee shop ordering app (Daily Grind). Demonstrates that Normal Mode signal elements work with any frontend framework, not just Hotwire.
- Stack: Rails 8.1, Inertia Rails, React 19, Vite, Tailwind CSS 4
- Mode: Normal (signal elements via React components)
- Port: 3002 (Vite on 3102)
- Start:
bin/dev(uses foreman) - Login:
demo@example.com/password
A habit tracker app. The simplest possible Ruby Native setup. Signal elements in HTML, no JavaScript bridge code.
- Stack: Rails 8.1, Inertia Rails, Vue 3, Vite, Tailwind CSS 4
- Mode: Normal (signal elements via data attributes)
- Port: 3003 (Vite on 3103)
- Start:
bin/dev(uses foreman) - Login:
user@example.com/password
From any demo directory:
bundle install
bin/rails db:setup
bin/devThe Coffee and Habits demos also need npm install before first run.