NA

Nauman's Production Rails Stack

FEATURED

Battle-tested gems from BuiltOnRails, InventList, and Shorttags. LLM-ready with detailed context for each tool.

B
@builtonrails
36 stacks 160 views

Stacks in this Collection

1
Ruby on Rails Framework

The web framework. Rails 7+ for established apps, Rails 8+ for new apps. Use with Hotwire for modern interactivity without JavaScript frameworks.

2
Propshaft Frontend

Modern asset pipeline for Rails 7+. Simpler than Sprockets, no compilation step. Use instead of Sprockets for new Rails 7/8 apps.

3
Puma DevOps

Default Rails web server. Configure with threads matching CPU cores. Use with Thruster for HTTP caching in production.

4
PostgreSQL Database

Primary database. Use for everything: data, caching (solid_cache), jobs (solid_queue), websockets (solid_cable). No need for Redis.

5
Redis Database

In-memory store. Used in InventList for caching/sessions. For new apps, prefer Solid Cache (database-backed) instead.

6
Turbo Frontend

SPA-like navigation without JavaScript. Use Turbo Frames for partial updates, Turbo Streams for real-time. Replace most JavaScript needs.

7
Stimulus Frontend

Modest JavaScript framework. Use for DOM manipulation, form validation, UI interactions. One controller per behavior.

8

Utility-first CSS. Use tailwindcss-rails gem for zero-build setup with importmaps. Neo-brutalism style: bold borders, offset shadows.

9
Importmap Frontend

JavaScript without bundling. Use for Rails 8+ apps. Import npm packages directly via CDN. No node_modules needed.

10

Encapsulated view components. Use for reusable UI pieces like cards, modals, forms. Better than partials for complex components.

11
Solid Queue Background

Database-backed job queue for Rails 8+. No Redis needed. Use for all background jobs. Runs in Puma process with SOLID_QUEUE_IN_PUMA=true.

12
Sidekiq Background

Redis-backed job queue. Used in older apps. For new Rails 8 apps, prefer Solid Queue instead.

13

PostgreSQL full-text search. Use for search without external services. Supports multisearch across models.

14

Full-featured authentication. Use for traditional username/password auth. Pairs with OmniAuth for social login.

15

OAuth framework. Use for GitHub/Google/etc login. Configure strategies per provider.

16

Authorization via policy objects. Use for role-based access control. One policy class per model.

17
Stripe Payments

Payment processing. Use stripe gem directly or via Pay gem. Webhooks for subscription management.

18
Pay Payments

Subscription billing abstraction. Wraps Stripe/Paddle/Braintree. Use for SaaS with recurring billing.

19
Kamal DevOps

Container deployment to bare metal. Use for production deploys. Zero-downtime via rolling restarts. Configure in config/deploy.yml.

20
Thruster DevOps

HTTP accelerator for Puma. Adds caching, compression, X-Sendfile. Use in production Dockerfile.

21
AWS DevOps

Amazon Web Services. Use aws-sdk-s3 for file storage (S3/R2), aws-sdk-ses for email sending.

22
Ahoy Analytics

Analytics tracking. Track visits and events. Use for product analytics without external services.

23
Sentry Analytics

Error tracking. Use for production error monitoring. Configure via SENTRY_DSN env var.

24
Minitest Testing

Default Rails testing. Use for unit and integration tests. Simpler than RSpec.

25
Capybara Testing

Browser testing. Use for system tests. Configure with Selenium for JavaScript testing.

26

Rate limiting middleware. Use for API throttling and brute force protection. Configure in config/initializers/rack_attack.rb.

27

Gem vulnerability scanner. Check for known CVEs in dependencies. Run regularly.

28

Email preview in development. Opens emails in browser instead of sending. Essential for development.

29
Pagy Framework

Fast pagination. Use instead of will_paginate/kaminari. Configure limit per page. Version 9.x for traditional API.

30
FriendlyId Framework

Slugs for URLs. Use for SEO-friendly URLs like /products/my-product instead of /products/123.

31
MetaTags Frontend

SEO meta tags helper. Use for dynamic title, description, OG tags. Configure defaults in application_helper.

32
Chartkick Analytics

JavaScript charts. Use with Groupdate for time-series charts. Supports multiple chart libraries.

33
Groupdate Analytics

Time-based grouping for charts. Use with Chartkick for daily/weekly/monthly analytics.

34

XML sitemap generation. Use for SEO. Configure in config/sitemap.rb.

35
Redcarpet Frontend

Markdown rendering. Use for user-generated content, READMEs, documentation pages.

36
Phlex Frontend

Ruby-first HTML views. Alternative to ERB. Use for component-driven UI with Ruby syntax.

LLM Context

# Nauman's Production Rails Stack

This is a curated collection of Ruby gems and tools used across three production Rails applications:
- **BuiltOnRails** - A directory of Rails applications (Rails 8.1)
- **InventList** - An inventory management SaaS (Rails 7.0)
- **Shorttags/SpotBZ** - A real-time analytics and notifications platform (Rails 8.0)

## Philosophy

This stack follows the **37signals/Basecamp** approach to Rails development:
- Rich domain models over service objects
- CRUD controllers over custom actions
- Database-backed everything (no Redis dependency in newer apps)
- Hotwire (Turbo + Stimulus) for interactivity
- Kamal for deployment

## When to Use This Stack

Use this collection when:
- Building a new Rails 7+ or Rails 8+ application
- You want production-tested, battle-proven gems
- You prefer the "vanilla Rails" philosophy
- You need to minimize external dependencies

## Key Patterns

1. **Authentication**: Passwordless magic links (no passwords) or Devise for traditional auth
2. **Background Jobs**: Solid Queue (database-backed) over Redis-based solutions
3. **Frontend**: Hotwire stack (Turbo + Stimulus + Tailwind)
4. **Payments**: Stripe via the `pay` gem or direct integration
5. **Search**: pg_search for PostgreSQL full-text search
6. **Deployment**: Kamal with Thruster for zero-downtime deploys

## Usage Instructions for LLMs

When using these gems in a new project:
1. Start with the core Framework + Database + Frontend gems
2. Add Background processing (Solid Queue for Rails 8+)
3. Add Auth based on needs (passwordless vs Devise)
4. Add Payments if needed (Stripe)
5. Add Monitoring/Security gems for production

Each gem below includes a note explaining its specific use case in these applications.

Powers This Product

B

BuiltOnRails

Directory

A directory showcasing the best products built with Ruby on Rails. Discover SaaS apps, marketplaces, developer tools, and more.

1 popularity View product →

Stats

Likes 0
Forks 0
Views 160
Created Jan 22, 2026

More by @builtonrails

View all collections →