JT Book a call

OurBlog

Engineering notes on Rails, Ruby, AI and testing, and guides for founders who work with engineers.

2008Founded
4.8/5On Clutch

Browse by topic

For founders ยท For engineers

Latest posts

RSS
contentaistartup

How to Audit Content You Didn't Write

A fake think tank published 100+ reports built to be repeated by chatbots, behind a $900,000 government contract. The same economics reached your blog. Four checks you can run.

· Paul Keen
aihiringstartup

What Senior Devs Catch That AI Misses

A change swapped a made-up number for a confident, wrong explanation of how Propshaft works. Spotting the difference is the thing you are actually hiring for.

· Paul Keen
testingqualityci

Your Link Checker Is Probably Checking Nothing

We planted eight defects in our own CI. Three were caught. One gate was skipping 133,874 of 149,516 links and reporting green. Here is the command that proves it.

· Paul Keen
rubyrailsai

RubyLLM vs Langchainrb for Rails

RubyLLM is a model client with Rails generators. Langchainrb is retrieval plumbing. Pick by whether you query your own documents, not by provider count.

· JetThoughts Team
rubyrailsai

What RubyLLM Retries, and For How Long

RubyLLM retries POSTs that Faraday would not, and honors Retry-After with no upper bound. A 429 can park a Rails request for as long as the provider says.

· JetThoughts Team
rubyrailsai

Debugging RubyLLM Agents in Rails

What a green Rails suite actually asserts when the thing under test is a hosted model: VCR matches on method and URI only, and the model can be retired.

· JetThoughts Team
rubyrailsai

Evaluating LLM Agents in Rails

How a Rails team knows whether its LLM agents still work: bounded schemas at the boundary, and a per-iteration audit trail you can read a month later.

· JetThoughts Team
rubyrailsai

Multi-Agent LLM Pipelines in Rails

Our production multi-agent LLM pipeline in Rails: eight RubyLLM agents on a 21-line base class, a 16-line loop, and the deploy that starved the database pool.

· JetThoughts Team
rubyrailsperformance

Ruby 4.0 YJIT vs ZJIT: Performance Guide

Ruby 4.0 ships two JIT compilers. What YJIT delivers on Rails apps in 2026, the two flags worth tuning, and when the experimental ZJIT is worth a try.

rubyrailsperformance

Ruby Fibers for LLM Streaming in Rails

LLM responses stream for 30 seconds while a Rails thread waits. The arithmetic of Puma threads vs open SSE streams, and when Falcon's fibers earn the switch.

[All posts by date >]

Tell us what you need built

JetThoughts has been building software since 2008. Book a call, or write to sales@jetthoughts.com. You'll leave the call with a written one-page scope within 2 working days.

#01 Paul Keen
Paul KeenFounder & Open Source Contributor

A 30-minute call; pick a time.