Portrait of Carmine Paolino

Carmine Paolino

At Plenty, I build AI frameworks, products, native apps, and developer tools: RubyLLM, Chat with Work, Solco, Spotifast, ZapFast, ArchSpec, Kamal Backup, and more. I help organize Berlin.rb, founded Floppy Disco, and make house and disco as Crimson Lake.

How I Optimized RubyLLM for Coding Agents

How I Optimized RubyLLM for Coding Agents

My own framework lost to no framework at first: the coding agent couldn't see how to use it. What I changed, what worked, and how I measured it.

RubyLLM 2.2: The AI Framework for Coding Agents

RubyLLM 2.2: The AI Framework for Coding Agents

RubyLLM 2.2 runs the code a model writes in a sandbox on your own servers, adds skills and file stores, lets tools ask a person, and is built for coding agents.

Solco: Stop Preparing Your Tracks, Start Preparing Your Gigs

Solco: Stop Preparing Your Tracks, Start Preparing Your Gigs

Solco grids, keys and characterises your DJ library on your computer and writes the USB your CDJs read. In private beta: join the waitlist for a licence key.

I Get 215 GitHub Notifications a Day, So I Built a Bot to Triage Them

I Get 215 GitHub Notifications a Day, So I Built a Bot to Triage Them

My repositories send me about 215 GitHub notifications a day. Copilot Triage reads them, answers reporters when it can, and sorts what needs me into one board.

RubyLLM 2.1: You Can Have It All

RubyLLM 2.1: You Can Have It All

RubyLLM 2.1 does what LangChain, LangGraph, and LangSmith do together: MCP with per-user OAuth, tool search, judgments, evals, and OpenTelemetry, in one gem.

RubyLLM 2.0: Tool Approval, Video, Speech, Citations, and Cost Tracking

RubyLLM 2.0: Tool Approval, Video, Speech, Citations, and Cost Tracking

What's new in RubyLLM 2.0: tool approval, durable agents, video, speech, OCR, reranking, citations, cost tracking, batches, caching, and upgrading from 1.16.

Berlin.rb: A New Monthly Ruby Meetup in Berlin

Berlin.rb: A New Monthly Ruby Meetup in Berlin

Berlin.rb is a new monthly Ruby meetup in Berlin. Free, second Tuesday of every month. The first is September 8, with talks by Paweł Strzałkowski and me.

RubyLLM 2.0: The Agentic Loop, Exposed

RubyLLM 2.0: The Agentic Loop, Exposed

RubyLLM 2.0 breaks ask into verbs you can drive yourself: stage a message, call the model once, run tools, step, resume mid-round, and cancel from anywhere.

RubyLLM 2.0: Providers, Protocols, and Provider Gems

RubyLLM 2.0: Providers, Protocols, and Provider Gems

OpenAI moves to the Responses API by default, while a new provider architecture and gem generator make external providers first-class.