Skip to content
Allan Henslee, PhDResume (PDF)

Case 03Premier Party Cruises · 2026

An AI tool that can't make up numbers

A proposal builder where the AI edits in plain English and guards in code stop it inventing prices.

Year
2026
Client
Premier Party Cruises, through Robots & Bacon
Role
Built the proposal builder, the lead dashboard and a database security lockdown
§ 01

The problem

Sales reps built event proposals by hand. An AI editor is fast, but it can invent prices or policies.

§ 02

What I built

Reps fill a form, see a live two-page proposal, then edit it in plain English ("change the DJ to TBD"). Guards in code run before anything reaches the screen. AI edits are kept separately, with an "Undo assistant edits" button.

  • Also for Premier a lead and revenue dashboard (who came in, from which channel, what they booked) on a tested, privacy-scoped reporting layer with a nightly booking-system sync; a database security lockdown; and a corporate-events page that opens with a scroll-driven 3D flight from downtown Austin to the lake.
§ 03

My part, and who else

The proposal builder, dashboard and lockdown are mine. They're built inside Premier's own site and booking system, which their team wrote; the lead attribution data is theirs.

§ 04

How it works

  1. 01Rep's requestPlain English
  2. 02Model drafts the edit
  3. 03Guards in codePrice, policy, fit, photo
  4. 04Rep reviewsUndo assistant edits
  5. 05Proposal updated
Fig. 1 The guards run on the buffered response, before the rep sees anything.

How I know it works

Tests, review, measured results

CheckHowResult

Adversarial tests

Deliberate attempts to sneak a made-up price past the guards, inside a 21-case test run

6 of 6 refused

Pass

Independent review

A separate, skeptical Claude audit tried to break it before anyone used it

3 found

2 closed
§ 05

Decisions and what went wrong

  • Guards in code, not in the prompt, because a prompt is only probably obeyed.
  • Buffered responses instead of streaming, so the guards run before the rep sees anything.

What went wrong: The audit found three ways a wrong price could get through: the house rate retyped in a different format, a dollar figure tucked into a sentence, and any number in the rep's message, even a year, counting as approval. The first two are closed and now have tests. The third is a known limit of the design, so the rep still checks every price before a proposal goes out.

Why it matters in healthcare

It's the core problem of AI in regulated work: let the model help, but make certain mistakes impossible, not just unlikely.

§ 06

What changed

Reps edit proposals in plain English, and the AI can't put a price on a proposal that the rep didn't type.

Under the hood

8

checks in code

6 of 6

price attacks refused

3

holes found by the audit

2

pages per proposal

  • Next.js
  • Anthropic SDK
  • Postgres
  • Vercel