The Rails and Hotwire Codex

What's this about?

Using Rails and Hotwire, it's possible to build a web app with accompanying hybrid mobile apps that don't suck.

This book will teach you the skills to push Rails and Hotwire to the max.

How to build an app for Web, iOS and Android
We'll build a neighborhood marketplace app à la Gumtree or Craigslist. We'll call it Piazza. Alongside the Rails app, we'll also build iOS and Android apps using Turbo Native.

Authentication and Authorization from scratch
These are core concepts used in every single web app, and having a working understanding of what goes on under the hood is essential. That's why, in this book, we build them from scratch instead of using a gem.

Shipping production quality code
Far too many tutorials come with a caveat of "but don’t do this in production". They rarely explain what one should do in production. None of that nonsense. Everything in this book is 100% production ready!

Internationalization and Localization
Internationalizing an app from the get-go keeps all the user facing text out of the views. This keeps the code clean, makes it easier to test, and the app is ready to be localized when required.
Every single Rails sub-framework
Action Mailer, Active Storage, Action Text, Active Job, Action Cable, Action Mailbox. We'll build features using them all!

PostgreSQL powered search
It's hard to imagine a modern web app without search. PostgreSQL packs in quite a punch with its full-text search feature. We'll build a search engine using it.

Deploying the app to Render
Heroku is frozen in time. Render is the future. We'll deploy services to run Rails, Sidekiq, PostgreSQL and Redis.


Ayush Newatia

A freelance Web Developer specialising in Ruby on Rails and Hotwire. In a previous life, he worked as an iOS and Android developer and was involved with the development of hugely popular apps for companies such as Nike and Dyson.

He's on the core team of the Bridgetown open source project, and he also runs a privacy focused mailing list app called Scattergun.