JT Book a call

Home / AI features

AI features in your Rails app

Your board or your biggest customer wants an AI feature, and your Rails team already has a full roadmap. We add one LLM feature to the app you have, live for your users in two weeks once it passes the questions agreed in the scope, on Sprint terms. The stack is your Rails app, the stack we ship; the model is an API call from it.

A straight answer first: we haven’t shipped an LLM feature for a client yet. What we know is in public write-ups (below), and the pass rule for this Sprint is written into the scope, not left to our judgement.

What fits in a Sprint

A model reads text your app already holds and hands back something useful:

  • Search over your own records that finds “invoices Acme disputed last spring” even when nobody typed those words.
  • A chat that answers from your help docs, with a link to the page it used.
  • Summaries of long threads - support tickets, call notes, case files - shown where your team already works.
  • An agent step in a flow you already run: sorting incoming email, say, or drafting a reply a person approves before it goes out.

We won’t train or fine-tune a model. Each feature calls one from a provider such as OpenAI or Anthropic, through code that lives in your app.

How the two weeks run

Scoping is free: one 30-minute call and a read-only look at your repo, with a written scope within 2 working days. The scope names the feature, the data it reads, and a list of real questions your users ask, each with the answer you’d accept.

Those questions become a test that runs on every change, so you see the answers get better or worse instead of taking our word for it. The scope also sets how many of those questions must pass on production; the second half of the price is due only when they do, with the extra days from the slip terms if they don’t by day ten.

A staging link in week one, a plain-English note every Friday and one mid-sprint call. See a sample Friday report.

What it costs

$3,200 per Sprint. The scope is agreed in writing before we start. Anything new becomes a second Sprint at the same $3,200. The model provider bills its usage to your own account.

Questions founders ask first

Does our customer data leave the app? The scope lists which fields each request sends to the provider, and you approve that list before we start.

What does each request cost? It depends on the model and how much text each request sends. Providers bill by tokens; we measure them on your test questions during the Sprint, so you see an estimate from your own test questions before you decide to launch.

What if the model gets it wrong? It will, sometimes. That is why the test questions run on every change, and why an agent step that sends or changes data waits for a person to approve it. For timeouts and outages, see what RubyLLM retries, and for how long.

Who owns the prompts and the code? You do. Prompts are plain files in your repository, next to the code that calls them. Yours from the first commit, IP included.

Read our work before you call

Every case on this site is a Ruby on Rails product, and our LLM write-ups are public, so you can judge them first:

Book a call and bring the feature you’ve been asked for.

Tell us whatyou 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.

Paul Keen Paul Keen, founder

A 30-minute call; pick a time.