Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Create a Rails8 responsive app with Gemini and ...

Create a Rails8 responsive app with Gemini and RubyLLM

This is a deck I've prepared for my talk at Railshock at Renuo on 19jun25.

- A Responsive app with Rails 8 using ruby_llm gem
- Add an MCP server using fast_llm gem
- Demos of both

App code: https://github.com/palladius/rails8-turbo-chat

Original deck: https://docs.google.com/presentation/d/18F2-b4TSciMEOTDEBt0YY5CbjqiJQWpfuy2G8ehubdM/edit

Avatar for Riccardo Carlesso

Riccardo Carlesso

June 19, 2025
Tweet

More Decks by Riccardo Carlesso

Other Decks in Technology

Transcript

  1. Create a Rails🎱 responsive app with Gemini and RubyLLM 18

    jun 2025 , @ Wallisellen Riccardo Carlesso Developer Advocate
  2. 🐦 @SREccardo www.linkedin.com/in/riccardocarlesso/ https://www.linkedin.com/in/riccardocarlesso/ Former sysadmin, Ruby [on Rails] developer,

    network admin. 11-years Googler, passionate about Reliability, SRE, DevOps, Maths, yellow, 🎹 piano, triathlons 󰖱🏃󰚬, caipirinhas and Amarone. As a Developer🥑Advocate for Google Cloud, I preach SRE, DevOps, the Google Way of doing things to various audiences. About me
  3. Google Cloud Proprietary & Confidential Contents 01 My silly app

    02 RubyLLM 03 MCP 04 Demo(s) 3 A huge 20 meter-high ruby gem in the middle of Wallisellen (Zurich), aerial view.
  4. Google Cloud Proprietary & Confidential Responsive chat via ruby_llm Built-in

    MCP server via fast_mcp Nice UI via TailwindCSS and someone else’s coding. (not, it wasn’t Riccardo) 01 02 03 6
  5. Google Cloud Proprietary & Confidential ruby_llm “A delightful Ruby way

    to work with AI. RubyLLM provides one beautiful, Ruby-like interface to interact with modern AI models. Chat, generate images, create embeddings, and use tools – all with clean, expressive code that feels like Ruby, not like patching together multiple services. “ • Minimalistic • Rails-friendly 8
  6. Google Cloud Proprietary & Confidential ruby_llm + Rails 11 https://rubyllm.com/guides/rails

    🚂 Rails Integration: Easily persist chats, messages, tool calls using acts_as_chat and acts_as_message
  7. Google Cloud Proprietary & Confidential MCP 13 gem "fast-mcp", "~>

    1.4" (*) Other available, but less mature. Gem mcp is catching up.
  8. Google Cloud Proprietary & Confidential What’s MCP anyway? 14 MCP

    is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
  9. Google Cloud Proprietary & Confidential Gazillion MCP Servers 100 Only

    one of these numbers is correct Some numbers (made up) MCP clients 2.5 kg My body weight 115 16
  10. Google Cloud Proprietary & Confidential MCP Servers If even Riccardo

    can do it, imagine the millions out there. https://github.com/modelcontextprotocol/servers • Fav Languages: ◦ Typescript MCP SDK ◦ Python MCP SDK. • On the right, you see the servers starting with a random letter: “G”. MCP Clients https://modelcontextprotocol.io/clients • Claude Code/AI/Desktop • VS code + Copilot • Google 🤫 5ire, AgentAI, AgenticFlow, Amazon Q CLI, Apify MCP Tester, BeeAI Framework, BoltAI, Cline, Continue, Copilot-MCP, Cursor, Daydreams, Emacs Mcp, fast-agent, FLUJO, Genkit, Glama, GenAIScript, Goose, gptme, HyperAgent, JetBrains AI Assistant, Klavis AI Slack/Discord/Web, LibreChat, Lutra, mcp-agent, mcp-use, MCPHub, MCPOmni-Connect, Microsoft Copilot Studio, MindPal, Msty Studio, NVIDIA Agent Intelligence (AIQ) toolkit, OpenSumi, oterm, Roo Code, Postman, Slack MCP Client, Sourcegraph Cody, SpinAI, Superinterface, Superjoin, TheiaAI/TheiaIDE, Tome, TypingMind App, Warp, WhatsMCP, Windsurf Editor, Witsy, Zed, Zencoder 17 MCP landscape
  11. Google Cloud Proprietary & Confidential Negatives about MCP? 18 fixes

    the security part Secure by default: A2A is designed to support enterprise-grade authentication and authorization, with parity to OpenAPI’s authentication schemes at launch.
  12. Google Cloud Proprietary & Confidential Negatives about MCP? 19 The

    Transports. • MCP uses JSON-RPC 2.0 as its wire format. • 3 transports supported: ◦ Standard Input/Output (stdio) ◦ Server-Sent Events (SSE) 🪦 dead ◦ Streamable HTTP (new SSE) • Troth insecure ◦ 1. Npx install from the interne ◦ 2.3. DNS rebinding attacks
  13. Google Cloud Proprietary & Confidential Would you like to do

    this as a Codelab in Euruko? If yes, what would you like to git clone and what to tweak? What are the most interesting parts (DB ORM, MCP, js/chunking, ..?) 01 02 03 22 Questions for you
  14. Google Cloud Proprietary & Confidential Bibliography More on: • MCP.

    Gems: fast-mcp vs mcp (don’t use mcp-rb) • A2A • Ruby LLM gem This deck will be loaded soon on: https://speakerdeck.com/palladius and rubyevents.org 23