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.

Solco: Stop Preparing Your Tracks, Start Preparing Your Gigs

Solco: Stop Preparing Your Tracks, Start Preparing Your Gigs

Solco grids, keys and characterises your whole DJ library on your computer and writes the USB your CDJs read. It's in private beta: join the waitlist for a personal 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 help, and sorts everything that 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: an MCP client with per-user OAuth, tool search, typed judgments, evaluations, and OpenTelemetry tracing, in one Ruby 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 and durable agents, video, speech, OCR, reranking, provider tools, citations, cost tracking, batches, caching, and the upgrade path 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 meetup for Berlin's Ruby community. Free, second Tuesday of every month. The first one is September 8, with talks by Paweł Strzałkowski and I.

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.

kamal-backup 1.0: A Backup Is Only Real After You Restore It

kamal-backup 1.0: A Backup Is Only Real After You Restore It

kamal-backup 1.0 brings exact Rails restores, restore drills, and PostgreSQL, MySQL, MariaDB, SQLite, SFTP, and rclone support to Kamal.

ArchSpec 1.0: Executable Architecture Specification for Ruby's Agentic Coding Era

ArchSpec 1.0: Executable Architecture Specification for Ruby's Agentic Coding Era

ArchSpec turns your architecture into an executable spec: declare components and boundaries in one Ruby file, and every change gets checked, whether a person or an agent wrote it.