Five Rails apps demonstrating the ruby_native gem across different frontend frameworks and modes.
| Demo | Directory | Concept | Framework | Mode | Port |
|---|---|---|---|---|---|
| Beervana | beervana/ |
Brewery passport | Hotwire | Advanced | 3001 |
| Daily Grind | coffee/ |
Coffee ordering | React + Inertia | Normal | 3002 |
| Habits | habits/ |
Habit tracker | Vue + Inertia | Normal | 3003 |
| Docs demo | docs/ |
Todo app | Hotwire | Normal (or Advanced) | 3004 |
| Shelf | showcase/ |
Book library | Hotwire | Advanced | 3005 |
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)
- Port: 3001
- Production: beervana.app
- App Store: Beervana on the App Store
A coffee shop ordering app. 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
A neutral todo app whose only job is to be the recording target for screenshots in the feature docs, and the server the native UI test suites run against. Generic enough that captures show the feature, not the product.
Not promoted, not deployed, not registered with the Ruby Native platform. See docs/README.md for which doc page maps to which screen, and for the RUBY_NATIVE_MODE and RUBY_NATIVE_TEST_SUPPORT env vars.
- Stack: Rails, Hotwire
- Mode: Normal by default, Advanced via
RUBY_NATIVE_MODE=advanced - Port: 3004
- Login:
joe@masilotti.com/password123
A book library app. The Advanced Mode showcase used for marketing screenshots and the hosted demo.
- Stack: Rails, Hotwire, Tailwind CSS
- Mode: Advanced
- Port: 3005
- Login:
demo@example.com/password
From any demo directory:
bundle install
bin/rails db:setup
bin/devThe Daily Grind and Habits demos also need npm install before first run.