Skip to main content
15+ years of Rails. Recently focused on integrating LLMs without turning a clean codebase into a science experiment. I’ve spent most of the last two decades writing Ruby on Rails — from early-stage startups to SurveyMonkey. I like the unglamorous parts: the background job that has to be idempotent, the integration that can’t drop a record, the migration that runs against a live database without anyone noticing. For the last couple of years I’ve been consulting and taking freelance Rails work, experimenting with the latest agentic-AI frameworks, and building my own developer tooling. The throughline: putting AI and LLMs into Rails applications in a way that survives contact with production. Most “add AI to your app” advice stops at the happy-path API call — the interesting problems start right after: timeouts, retries, rate limits, cost, and keeping a slow model off your web request path.

What I do

  • Rails, at depth. Rails across many versions, including 7 and 8. PostgreSQL, Redis, background processing, RESTful APIs, and the service-object discipline that keeps a large app from collapsing under its own weight.
  • AI integration that doesn’t rot. Calling LLMs from app code, experimenting with agentic frameworks and RAG, and building my own tooling — while isolating that work behind background jobs with sane timeouts, retries, and rate limiting so the rest of the app stays fast and predictable.
  • Production judgment. Testing and CI, encryption and PII handling, and knowing when not to reach for the clever option.
Adding AI to a Rails app the right way — a runnable reference implementation: Rails 8 calling an LLM service through a service object with retries, timeouts, auth, and rate limiting, plus a background-job example for moving the slow call off the request path — all wired up with Docker Compose. Runs locally in mock mode (no GPU or API key needed). Code on GitHub.

Right now

I’m currently consulting and taking freelance Rails work, and I’m open to a senior Rails role where AI is part of the product — somewhere I can bring 15 years of Rails judgment to LLM-backed features. Remote. Get in touch → · me@bobbysantiago.com · GitHub @bullrico