After analyzing the Record Temple codebase, I recommend upgrading the existing Rails application rather than starting from scratch. The codebase is actually in much better shape than initially described - it's already on Rails 7.0.4.2, uses modern gems, and has a clean, simple structure.
- Rails 7.0.4.2 (March 2023) - Only ~1.5 years behind Rails 7.1+
- Using modern Rails features (Hotwire, Turbo, Stimulus)
- Clean Gemfile with current dependencies
- PostgreSQL with modern features
- Full-text search indexes (GIN/trigram)
- Proper foreign keys and relationships
- Clean, normalized structure
- Only 7 migrations (very manageable)
- 47 total Ruby files (very small)
- 10 controllers (minimal surface area)
- 12 models (simple domain)
- 7 view templates (lean frontend)
- Uses Avo admin interface (modern Rails admin)
- Modern authentication (Passwordless gem)
- Background jobs (Sidekiq)
- File uploads (Active Storage + S3)
- Modern CSS framework (Tailwind)
- Error monitoring (Sentry)
- Clean model relationships and validations
- Low Risk - Small codebase, modern dependencies
- Preserve Business Logic - Keep domain knowledge and relationships
- Faster Timeline - 2-4 weeks vs 2-3 months rewrite
- Lower Cost - ~70% less development time
- Proven Data Model - PostgreSQL schema is well-designed
- Modern Foundation - Already uses Rails 7 patterns
Phase 1 - Dependencies (1 week):
- Upgrade to Rails 7.1.x
- Update gems to latest versions
- Test compatibility
Phase 2 - Modern Features (1 week):
- Implement latest Rails 7.1 features
- Enhance Hotwire/Stimulus usage
- Modernize frontend patterns
Phase 3 - Quality & Performance (1-2 weeks):
- Add comprehensive tests
- Performance optimizations
- Security hardening
- Documentation- High Risk - Recreating working business logic
- Data Migration Complexity - PostgreSQL export/import challenges
- Feature Regression Risk - Missing edge cases and business rules
- Timeline Uncertainty - 2-3 months minimum
- Higher Cost - ~3x more development time
- Lost Knowledge - Domain logic embedded in current models
| Approach | Timeline | Risk Level | Cost | Complexity |
|---|---|---|---|---|
| Rails Upgrade | 2-4 weeks | Low | $ | Simple |
| Fresh Start | 2-3 months | High | $$$ | Complex |
- Misconception About Age - This isn't "ancient Rails 4/5 code" - it's modern Rails 7
- Clean Architecture - The existing code follows Rails 7 best practices
- Small Surface Area - Only 47 Ruby files makes upgrade very manageable
- Modern Patterns - Already uses Hotwire, Tailwind, modern gems
- Quality Database Design - PostgreSQL schema is well-structured
- Accept Rails Upgrade Approach
- Create feature branch for Rails 7.1 upgrade
- Run bundle update and test compatibility
- Implement modern Rails 7.1 features incrementally
- Add comprehensive test suite
The Record Temple codebase is significantly more modern than initially described. Starting fresh would be engineering over-optimization that wastes time and introduces unnecessary risk. The upgrade path preserves your working business logic while modernizing the foundation efficiently.