Accepting new 2025 CodeWheel AI engagements for AI web, security, and commerce programs.
Ruby on Rails logo

Services / Platform Modernization

Ruby on Rails Modernization: Upgrade Rails or Migrate to Next.js

Rails upgrades are a complete mess—schema drift, gem conflicts, and test suites that break across major versions. We either modernize your Rails app (align schema, clean up logic, fix RSpec tests) or migrate to Next.js while adding AI features you can't build on Rails.

Not sure which path makes sense? Start with a scoped assessment. We'll audit your Rails codebase, gem dependencies, and test coverage—then recommend: (1) Rails 7 upgrade + AI, (2) migrate to Next.js + AI, or (3) hybrid approach.

Review modernization options

Where this goes next

Modernization isn't just Rails upgrades—it's setting you up for the AI platform you want to build. We align the target with the AI Platform Development Stack , keep tenant isolation from the Multi-Tenant SaaS Architecture guide , and harden retrieval with the RAG Architecture guide so your next phase ships faster and safer.

Not sure which path is right?

Start with a scoped Rails assessment

In 2 weeks, we'll audit your Rails version, gems, schema, and test coverage—then recommend whether to upgrade Rails 7, migrate to Next.js, or use a hybrid approach. You get an architecture plan, security assessment, and cost estimate before committing.

Request proposal

Why Rails upgrades break everything

Rails 5 → 6 → 7 upgrades aren't simple version bumps. Breaking changes in ActiveRecord, routing, asset pipeline, and test frameworks compound over time. Most teams defer upgrades until they're forced—then face months of cleanup.

Technical debt accumulation

  • Schema drift from years of migrations without rollback testing
  • Gem dependencies pinned to outdated versions (security risk)
  • Callback chains and concerns that obscure business logic
  • RSpec tests with brittle fixtures and timing-dependent assertions
  • N+1 queries hidden in eager loading that break between Rails versions

Business constraints

  • Can't add AI features (no native streaming, vector DB support)
  • Rails developers harder to hire than Next.js engineers
  • Compliance teams want Rails 7+, not 5.x/6.x
  • Investors expect modern stack diagrams in diligence
  • Infrastructure costs higher than Jamstack/Next.js equivalents

Three Rails modernization paths

Every engagement starts with the assessment. From there you either upgrade Rails 7, migrate to Next.js, or take a hybrid approach.

Path 1

Rails Modernization Assessment

Scoped assessment

2 weeks

Know your options before committing to a multi-month migration.

What you get

  • Audit gems, schema, Sidekiq jobs, multi-tenant logic
  • Evaluate Rails upgrade vs. Next.js migration
  • Architecture plan + cost estimate
  • Security assessment (gem vuln + OWASP scan)
  • Keeps Rails live while we plan modernization

Path 2

Rails 7 Upgrade + AI Features

Investment set after audit

8-14 weeks

Best for Rails 6/7 with manageable debt

Upgrade Rails + add AI without migration risk.

What you get

  • Rails 7 upgrade with schema alignment + logic cleanup
  • Fix RSpec tests, add missing coverage
  • Add AI features (RAG via pgvector, MCP agents)
  • Security hardening (pen test, gem audits)
  • CI/CD pipeline with automated regression testing

Path 3

Full Migration to Next.js + AI

Premium engagement

10-20 weeks

Best for Rails 5 or heavy debt

Modernize and add AI in one project.

What you get

  • Migrate Rails → Next.js (extract business logic, rebuild UI)
  • Add AI features (RAG, chat, automations)
  • Modern auth (Clerk/Auth0) + usage-based billing
  • Security testing (pen test, prompt injection)
  • Deployment pipeline (Vercel, CI/CD, monitoring)

How we modernize Rails applications

We use AI tools (Claude Code, Cursor, Gemini CLI) to accelerate Rails upgrades—but human review catches what LLMs miss. Schema alignment, test coverage, and business logic preservation require production expertise, not just automated refactoring.

Schema alignment + data integrity

Years of migrations create schema drift. We enforce constraints, validate rollbacks, and protect production data.

Business logic extraction

Callbacks and concerns hide critical rules. We extract intent into service objects, document workflows, and add tests AI tools can’t infer.

RSpec test modernization

Migrate to FactoryBot, remove flaky tests, and add integration coverage that mirrors real user flows.

Gem dependency cleanup

Audit outdated gems, replace unmaintained dependencies, and ensure Rails 7 compatibility without breaking production.

Performance optimization

Profile N+1 queries, add indexes, and fix eager loading so load times improve 2-5x without changing UX.

Side-by-side validation

Run upgraded builds alongside production, replay traffic, and only cut over once regression suites pass.

AI features you can add to Rails (without migrating)

If you decide to stay on Rails 7, we can add production AI capabilities. Not as lightweight as Next.js, but viable for teams committed to Rails.

RAG with pgvector

We add ingestion, chunking, embeddings, and retrieval endpoints using pgvector. Hotwire Turbo streams chat responses with citations.

  • pgvector gem + HNSW indexes
  • Sidekiq for document processing
  • Rails APIs for chat/search interfaces
  • Citation tracking with linkbacks

AI agents via MCP servers

Deploy Python/TypeScript MCP servers alongside Rails. Rails enforces RBAC; MCP handles tool execution and orchestration.

  • FastAPI or Node-based MCP servers
  • Rails endpoints gated by RBAC
  • Agents call Rails for tool execution
  • Observability via Sentry + custom telemetry

Important: Rails can run AI features, but Next.js offers better performance, lower costs, and easier hiring. Choose the path that matches your roadmap.

When to upgrade Rails vs. migrate to Next.js

Honest assessment: Rails 7 can handle AI features, but Next.js is better suited for modern AI workloads. Here's when each path makes sense.

Upgrade Rails 7 + add AI

Best when...

  • Already on Rails 6/7 with manageable tech debt
  • Team committed to Rails and comfortable with Ruby
  • AI features are secondary (not core product)
  • Budget constraints limit full migration scope
  • Need to ship AI features in 8-12 weeks

Migrate to Next.js + add AI

Best when...

  • Still on Rails 5 or earlier (upgrade path too painful)
  • AI features are core product (not just add-ons)
  • Can't hire Rails developers
  • Infrastructure costs are a concern
  • Want modern developer experience (TypeScript, Vercel)
  • Preparing for Series A technical diligence

Proof this works

Rails modernization outcome

Rails 6 → Next.js + RAG (8 weeks)

Migrated 40K LOC Rails app to Next.js, added RAG knowledge base, passed investor security diligence. Team raised their next round using the working platform.

  • 8 weeks vs. 6-month agency estimate
  • Zero critical security findings in pen test
  • Added RAG during migration (no separate project)
  • Infrastructure costs dropped 60% (Vercel vs. Heroku)
  • Team can now hire modern JavaScript developers
Read full case study

Rails modernization FAQ

Common questions

Can we add AI features without upgrading Rails?

Depends on your Rails version. Rails 7 can support pgvector + MCP servers. Rails 5/6 usually need upgrade first. The assessment tells you if you're AI-ready or need to upgrade/migrate.

What happens to our existing Rails data?

Staying on Rails? Schema stays in Postgres; we align migrations. Migrating to Next.js? We export Rails data to Postgres, build TypeScript access layers, and run side-by-side until validated.

How is this different from hiring a Rails consultancy?

Consultancies upgrade Rails and stop. We upgrade or migrate PLUS add AI features and run security testing. One project, not two sequential engagements.

What if our Rails app is heavily customized?

Heavily customized apps are why you bring us in. We reverse-engineer callbacks, document intent, refactor with AI assistance, and ensure functionality stays intact.

Do you recommend staying on Rails or migrating?

Rails 7 works if debt is low and AI isn’t the core product. For Rails 5, heavy debt, or AI-first roadmaps, Next.js is the long-term play. The assessment gives an honest recommendation.

Ready to modernize your Rails platform?

Start with a scoped assessment—audit your Rails architecture, recommend upgrade vs. migration, and get a fixed proposal before committing. Or book a call to discuss your specific situation.

Learn more about our approach in our complete penetration testing guide.

Serving companies across the San Francisco Bay Area, Silicon Valley, and remote teams worldwide.