What should you learn after this series? And what is actually worth your time in Ruby AI right now?
A lot of AI content throws random libraries at you and calls it a roadmap. That is not useful when you're still trying to build reliable software.
By this point in the series, you've seen the full stack: Ruby basics, Rails fundamentals, modern Rails features, AI integrations, production concerns, and VPS deployment. Now the question is simpler: what should you go deeper on next?
In this post, I'll give you a practical roadmap for continuing with Ruby for AI, plus a small script you can run today to inspect the current Ruby AI ecosystem from your own machine.
What you should already be comfortable with
If you followed the series in order, you should now understand these layers:
- Basic Ruby syntax, objects, blocks, collections, and modules
- Rails request flow, models, forms, authentication, and APIs
- Hotwire, Stimulus, Action Cable, and background jobs
- Calling LLM APIs, embeddings, vector search, and RAG
- Production concerns like testing, security, caching, monitoring, and deployment
That is already enough to build useful AI products.
You do not need to master every AI framework before shipping.
The Ruby AI ecosystem, broken down simply
There are a few buckets worth tracking.
1. API clients
These gems help you talk to model providers.
Examples:
ruby-openai- provider-specific HTTP wrappers
- plain
net/httporfaradayif you want full control
My opinion: start simple. For many apps, a thin service object around an HTTP client is enough.
2. Orchestration libraries
These help with prompts, chains, tools, memory, and agent-like flows.
Examples:
langchainrb- custom service objects you write yourself
My opinion: use these when they reduce repetition. Do not adopt them just because the word "agent" sounds exciting.
3. Vector search
These power retrieval and semantic search.
Examples:
- PostgreSQL with
pgvector neighbor- external vector databases if you truly need them
My opinion: for Rails teams, Postgres plus pgvector is the best default until scale proves otherwise.
4. Background execution
AI work is often slow, expensive, or rate-limited.
Examples:
- Sidekiq
- Solid Queue
- Active Job
My opinion: if the task can take more than a second or two, push it into a job.
5. Real-time delivery
Users should see progress while AI work runs.
Examples:
- Turbo Streams
- Action Cable
- Stimulus for tiny UI glue
My opinion: streaming and progress states matter more than fancy prompts.
A realistic learning path from here
If I were mentoring a junior dev after this series, I'd suggest this order.
Track A: Build better Rails apps
Go deeper on:
- Active Record query performance
- caching strategies
- background job architecture
- authorization
- test design
Reason: most AI app failures are still regular app failures. Slow queries, weak auth, bad retries, unclear UI.
Track B: Build better AI features
Go deeper on:
- prompt design
- structured outputs
- evaluation
- retrieval quality
- cost control
- failure handling
Reason: the hard part is not calling a model. The hard part is making the feature reliable.
Track C: Learn the infrastructure properly
Go deeper on:
- Postgres tuning
- Redis basics
- Puma and Nginx configuration
- systemd services
- log aggregation
- deployment rollbacks
Reason: owning your stack gives you leverage. It also means you need operational discipline.
A small Ruby script to inspect Ruby AI gems
Let's build a tiny script that queries RubyGems and prints a shortlist of AI-related gems. This is not production code. It is a useful exploration script.
Create explore_ruby_ai.rb:
require "json"
require "net/http"
require "uri"
queries = ["openai", "langchain", "vector", "embedding", "anthropic"]
results = []
queries.each do |query|
uri = URI("https://rubygems.org/api/v1/search.json?query=#{URI.encode_www_form_component(query)}")
response = Net::HTTP.get_response(uri)
unless response.is_a?(Net::HTTPSuccess)
warn "Request failed for #{query}: #{response.code}"
next
end
gems = JSON.parse(response.body)
gems.first(5).each do |gem_info|
results << {
name: gem_info["name"],
version: gem_info["version"],
info: gem_info["info"],
downloads: gem_info["downloads"]
}
end
end
unique_results = results.uniq { |gem| gem[:name] }
sorted = unique_results.sort_by { |gem| -gem[:downloads].to_i }
sorted.first(15).each do |gem|
puts "#{gem[:name]} (#{gem[:version]})"
puts " downloads: #{gem[:downloads]}"
puts " info: #{gem[:info]}"
puts
end
Run it:
ruby explore_ruby_ai.rb
What this teaches you:
- how to call a JSON API from Ruby
- how to parse and filter results
- how to sort data cleanly
- how to inspect a library ecosystem without guessing
That is real Ruby work. Small, boring, useful.
A better way to evaluate gems
Do not decide based on hype alone. Check these things:
- Is it maintained?
- Does it solve a real problem you actually have?
- Can you explain what it does in one sentence?
- Can you replace it later without rewriting the entire app?
- Does it hide too much complexity?
A lot of AI libraries look productive at first, then become painful once you need debugging, observability, or custom behavior.
What I would build next
Here are three solid follow-up projects.
1. AI support inbox
Build a Rails app that:
- accepts customer questions
- retrieves relevant help docs from Postgres with
pgvector - drafts replies
- lets a human approve before sending
This teaches RAG, moderation, job queues, and review workflows.
2. Internal knowledge search
Build a private search tool for your team's docs.
This teaches chunking, embeddings, indexing, and retrieval quality.
3. AI-assisted back office tool
Build something boring on purpose: invoice classification, lead enrichment, support tagging.
This teaches how AI fits into normal business software, which is where most useful work lives.
Final advice
Keep your architecture boring.
Use Ruby because it helps you move with clarity. Use Rails because conventions reduce wasted time. Add AI where it makes the product better, not where it makes the demo louder.
That is the real roadmap.
From here, keep building. Read source code. Measure performance. Ship features. Fix rough edges. The Ruby AI ecosystem will keep changing, but solid engineering habits will outlast all of it.
If this series did its job, you should now be able to build an AI Rails app on infrastructure you actually control. That is a much better place to be than endlessly collecting tutorials.
Top comments (0)