Joel Stevick

How it works

From first message to handover

Every project follows the same path: a short call, a written statement of work with a fixed price, payment in milestones, and a handover you accept. Below is the common path, then each service in detail: its steps with the payment points marked, who talks to whom and when, and what each side provides.

The common path

flowchart TB
  subgraph start["Before work starts"]
    direction LR
    A["Inquiry or register"] --> B["Email check"] --> C["20-minute call"] --> D["Statement of work"]
  end
  subgraph work["The work"]
    direction LR
    E{{"Signing and first payment"}} --> F["Work"] --> G["Handover"] --> H["Acceptance"]
  end
  start --> work

You send the contact form or register, and confirm your email. On a 20-minute call we agree what you need. I send a statement of work: what is in scope and what is not, what you provide, the fixed price and the payment schedule. Work starts when you have signed it and the first payment has cleared. See the terms for the details that apply to all of them.

Starter AI assistant

$4,500, live in one week. An assistant that answers from your documents or one read-only data source, with sources and an "I don't know" fallback, deployed in your own cloud.

flowchart TB
  subgraph start["Signing"]
    direction LR
    A["Register"] --> B["20-minute call"] --> C["Statement of work"] --> D{{"40% paid at signing"}}
  end
  subgraph build["One week"]
    direction LR
    E["Access and a test account"] --> F["Built on your source, in your cloud"] --> G["Answers on a test deployment"] --> H{{"40% paid"}}
  end
  subgraph live["Go-live"]
    direction LR
    I["Embed snippet and handover"] --> J{{"20% paid"}} --> K["14 days of defect fixes"]
  end
  start --> build --> live
sequenceDiagram
  participant C as Client
  participant J as Joel
  participant S as Stripe
  participant Y as Client's systems
  C->>J: Register, then a 20-minute call
  J->>C: Statement of work with the fixed price
  C->>J: Accept the statement of work
  J->>S: First milestone, 40%
  S->>C: Charge the saved card, or an invoice
  C->>J: Access to the source, the cloud account and the model key, and a test account
  J->>Y: Build and deploy to a test environment
  J->>C: It answers from your source on a test deployment
  J->>S: Second milestone, 40%
  J->>Y: Go-live
  J->>C: Embed snippet, code and handover guide
  J->>S: Final milestone, 20%
  C->>J: Defects found within 14 days
  J->>Y: Fixes, at no charge
  • You provide: access to your documents (up to 500 pages) or one read-only data source, an API or a database (up to 10 tables or 5 endpoints); your cloud account, database and model provider; and a test account, on day one.
  • I deliver: the assistant with sources and an "I don't know" fallback, one embed snippet for your site, the code and a handover guide.
  • How long: one week, starting the day access works.
  • Acceptance and fixes: it is accepted at go-live when you confirm it, or five working days after if you raise nothing. For 14 days after handover, defects against the statement of work are fixed at no charge.

Eval harness and golden set

$9,500, about three weeks. One existing RAG or language-model feature read end to end, to find where it can show an answer nobody checked, with a starter golden set to measure it against and fixes ranked by risk.

flowchart TB
  subgraph start["Signing"]
    direction LR
    A["Register"] --> B["20-minute call"] --> C["Statement of work"] --> D{{"40% paid at signing"}}
  end
  subgraph review["About three weeks"]
    direction LR
    E["Read access to the feature"] --> F["Read it end to end"] --> G["Golden set of 25 to 40 cases agreed"] --> H{{"40% paid"}}
  end
  subgraph handover["Handover"]
    direction LR
    I["Harness and ranked report"] --> J["60-minute walkthrough"] --> K{{"20% paid"}} --> L["14 days of defect fixes"]
  end
  start --> review --> handover
sequenceDiagram
  participant C as Client
  participant J as Joel
  participant S as Stripe
  participant Y as Client's systems
  C->>J: Register, then a 20-minute call
  J->>C: Statement of work with the fixed price
  C->>J: Accept the statement of work
  J->>S: First milestone, 40%
  S->>C: Charge the saved card, or an invoice
  C->>J: Read access to the feature, its prompts and its sources
  J->>Y: Read the feature end to end
  J->>C: Starter golden set of source-verified cases
  C->>J: Agree the golden set
  J->>S: Second milestone, 40%
  J->>C: Harness, report with fixes ranked by risk, 60-minute walkthrough
  J->>S: Final milestone, 20%
  C->>J: Defects found within 14 days
  J->>C: Fixes, at no charge
  • You provide: read access to the feature, its prompts and the sources it reads, and someone who knows what a right answer is.
  • I deliver: a written report of where unsupported answers can get through, a starter golden set of 25 to 40 source-verified cases, a small evaluation runner where the stack and time allow, fixes ranked by risk, and a 60-minute walkthrough.
  • How long: about three weeks from access.
  • Acceptance and fixes: the golden set is agreed with you before the second payment; the report and harness are accepted when you confirm them, or five working days after handover. For 14 days, defects in what was delivered are fixed at no charge. The full $9,500 is credited toward a custom build whose statement of work you accept within 60 days.

Custom build

A fixed price set in a statement of work you accept before work starts. AI on your company's data and systems: retrieval, connections to your systems, checks in code and evals, as the statement of work sets out.

flowchart TB
  subgraph start["Scoping and signing"]
    direction LR
    A["Inquiry or register"] --> B["20-minute call"] --> C["Scoping: your systems and questions"] --> D["Statement of work, fixed price"] --> E{{"40% paid at signing"}}
  end
  subgraph build["The build"]
    direction LR
    F["Access to your systems and cloud"] --> G["Retrieval, connections, checks, evals"] --> H["Midpoint demo"] --> I{{"40% paid"}}
  end
  subgraph handover["Handover"]
    direction LR
    J["Finish, measured against the evals"] --> K["Code, results and notes"] --> L{{"20% paid"}} --> M["14 days of defect fixes"]
  end
  start --> build --> handover
sequenceDiagram
  participant C as Client
  participant J as Joel
  participant S as Stripe
  participant Y as Client's systems
  C->>J: Inquiry or registration, then a 20-minute call
  J->>C: Scoping questions about your systems and what a right answer is
  J->>C: Statement of work with the fixed price
  C->>J: Accept the statement of work
  J->>S: First milestone, 40%
  S->>C: Charge the saved card, or an invoice
  C->>J: Access to the systems, the cloud account and the model provider
  J->>Y: Build retrieval, connections, checks and evals
  J->>C: Midpoint demo
  J->>S: Second milestone, 40%
  J->>Y: Finish and measure against the evals
  J->>C: Handover: source, evaluation results, architecture notes, engineer handover
  J->>S: Final milestone, 20%
  C->>J: Defects found within 14 days
  J->>Y: Fixes, at no charge
  • You provide: access to the systems and data in scope, your cloud account, database and model provider, and people who can say what a right answer is.
  • I deliver: what the statement of work lists: source code, evaluation results, architecture notes and an engineer handover, deployed in your own cloud.
  • How long: as the statement of work sets out.
  • Acceptance and fixes: each deliverable is accepted when you confirm it, or five working days after delivery if you raise nothing. For 14 days after handover, defects against the statement of work are fixed at no charge. Anything new is a change order with its own fixed price.

Questions about any of it? Get in touch or book a 20-minute call.