Building Cluster Headache Tracker from a Hospital Bed
Cluster headaches hit up to eight times a day. The hospital gave me a paper form with one line per day. So I built an app between attacks.
Cluster headaches hit up to eight times a day. The hospital gave me a paper form with one line per day. So I built an app between attacks.
One Ruby API for OpenAI, Claude, Gemini, and more. Chat, tools, streaming, Rails integration. No ceremony.
No provider exposes model capabilities and pricing through their API. So we're building one.
The standard API for LLM model information I announced last month is now live and already integrated into RubyLLM 1.3.0.
Agents aren't magic. They're LLMs that can call your code. RubyLLM 1.12 adds a clean DSL to define and reuse them.
RubyLLM 1.14 ships a Tailwind chat UI, Rails generators for agents and tools, and a simplified config DSL. Watch the full setup in 1:46.
The Ruby community doesn't have a great documentation theme. So I made one. Jekyll VitePress Theme brings VitePress's docs UX to Jekyll.
A spatial TUI editor with drag-and-drop, safe apply with revert, workspace planning, and a hotplug daemon. All in two zero-dependency Go binaries.
I patched Solid Queue to run jobs as fibers. Now it ships in 1.6.0, making the Rails default ready for highly concurrent, cooperative I/O-bound jobs.
One Kamal accessory for encrypted Rails database and Active Storage backups, restore drills, and redacted evidence for security reviews.
RubyLLM 1.15 adds image editing, cost tracking, inferred tool parameters, additive callbacks, and Rails fixes.
A paid Medium article claimed hard-won RubyLLM production lessons, but its code had never run. Regenerating it only made the fabrication harder to spot.
RubyLLM 1.16 adds concurrent tools with threads or fibers, Rails-style instrumentation, and proxy support through api_base for every native provider.
Schematist is a Ruby JSON Schema DSL with full Draft 2020-12 coverage, render-time values, standards-compliant output, and no runtime dependencies.
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.
kamal-backup 1.0 brings exact Rails restores, restore drills, and PostgreSQL, MySQL, MariaDB, SQLite, SFTP, and rclone support to Kamal.
OpenAI moves to the Responses API by default, while a new provider architecture and gem generator make external providers first-class.
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.