Case Study 04 — How I Use AI

The easy things easier. The hard things harder.

Two systems I built and run: an assistant that does my daily work, and the chatbot on this site. This is the honest version, including the parts where they were wrong and the parts when I was worse.

Two systems: a private assistant and a public bot Gal Friday is private, works on live client material, and is on version 6.4. Ask Kevin is public, in beta, and answers from 2,119 documents. Both are governed by one written rule set and one incident log. TWO SYSTEMS, ONE INCIDENT LOG PRIVATE Gal Friday Live client material Version 6.4 Rewritten whenever it breaks PUBLIC Ask Kevin This website Public beta 2,119 documents Both still get things wrong. That is what the log is for.
Year
2025 — Present
Built
Two systems, one private, one public
Corpus
2,119 documents, twenty years
Status
Live. Rewritten whenever it breaks.

01The position

Every candidate says the same thing about AI. It’s a tool. That is the most boilerplate answer available, and I hear it in every interview I run. Mine is narrower.

It makes the easy things easier and the hard things harder.

The easy half is real and I use it all day: a rambling voice note into clear direction, a brief stress-tested before anyone else sees it, somebody else’s jargon decoded into something I can act on. A filter and a translator. That work used to eat afternoons.

The hard half got harder because the output now arrives already sounding finished. Judgment is the whole job, and a fluent draft is very good at making you feel you have already exercised it.

So when I have it read a long document, it gives me the page number and I go look. Every time. The moment I stop checking is the moment I have outsourced something I am still accountable for.

Is it just a more expensive FAQ?

I sat in a review of a customer service chatbot where the most common use turned out to be people trying to reach a human. Nobody named that as the finding. It was on the slide.

Never let pressing a button feel like making a decision. The point is getting hours of your life back, not handing over your judgment and calling it efficiency.

The line I won’t cross is person-to-person communication. Synthesise a dense report into bullets, absolutely. Auto-write the note to a colleague, no. I would rather get a message with a typo in it and know a person wrote it.

Below is the second kind of use. Two systems, both mine, both in beta, both with a written record of what they got wrong.

02Twenty years, unindexed

Before either system could say anything true about my work, the work had to exist somewhere a machine could read.

It didn’t. Twenty years of it sat across a Google Drive, an iCloud account, three Time Machine backups of machines I no longer own, and a public tobacco-industry archive at UCSF that happens to hold documents with my name on the author line.

Figure 1 — Documents extracted, by source
Google Drive
1,091
iCloud Drive
678
MacBook Air backup
507
MacBook Pro backup
29
5,030
files discovered in Drive alone
2,509
duplicates collapsed
2,119
documents in the finished corpus
Plus 248 catalogued job codes across 18 clients, and 181 public UCSF documents that corroborate the Camel work independently of anything I hold.

None of that was the hard part. The hard part was that every tool I wrote to do it lied to me by succeeding.

An extraction script reported 2,253 files as empty. The number was too round and too large to be true, which is the only reason I looked. A quoting mistake meant every path containing a space had silently failed. Eighty-four percent of that run looked like nothing, and the script exited zero.

A privacy scanner quarantined 116 files for containing the tax identifier EIN. It was matching the word protein, in an archive built mostly out of the meat industry.

A scanner that is never questioned deletes the evidence instead of the exposure. Both failures look identical in the log.
Four more failures, each caught late
  • A completeness check that could only ever come back clean. The verifier tested two independent gaps and I only ever read the first one. It was clean, so I called the tree closed. The second gap was 214 folders that had never been queried. They held real work — four drafts of a Tyson e-blast, six of a Walmart promotion release, the Corbion Concepts series. 126 documents recovered.
  • Spreadsheets and decks were dropped in silence. The extractor branched on file extension and hit next for unknown types before it wrote its status log. So .xlsx and .pptx produced no output, no error and no failure record. 158 documents were invisible; 141 came back on a dedicated pass, including the campaign spreadsheets that recorded how many times the ads were seen and how many people clicked.
  • The sensitive-data log leaked the sensitive data. The quarantine report recorded which keyword had matched. For a numeric pattern, the matched keyword is the secret.
  • The exclusion was enforced on filenames, never on content. A path test cannot exclude a human being; it excludes a naming convention. What proved it was somebody’s identity document, sitting in the archive under a filename that named the government form and nothing else.
And then the scanner itself turned out to be wrong

The first privacy pass flagged 284 files. I checked them one at a time instead of trusting the tool: 90 were false alarms, including 20 it had already pulled that went back in.

  • A colleague was matched as the one person I had excluded from the archive, which removed eight copies of a genuine client deliverable.
  • “Place of birth” in a beef copy deck was read as a passport application. It was about cattle provenance.
  • A 10,010-line surname dictionary used for naming work was flagged because one surname in it matched.
  • Two legal-training decks were flagged for the phrase “social security number” while containing none. They are about sweepstakes prize-reporting law — which is exactly the regulated-claims evidence the archive exists to surface.

The final split: 31 files removed entirely, and 163 redacted in place rather than deleted, because destroying real client deliverables to strip a phone number would have destroyed the thing I was trying to preserve.

What shipped is 2,119 of the 2,305 documents extracted. What did not ship is 772 image files with no text layer, which is a real gap and not a rounding error, and every one of the exclusions above.

03The bot on this site

The chatbot on the AI page is the public system. You ask it something, or paste a job description at it, and it answers out of that corpus rather than out of a summary of me. Three things make it work and only one of them is the model.

Figure 2 — How an answer gets made
The path a question takes through the system A question passes through an evidence base of 2,119 documents and a written rule set, then through a forced structured output step, before an answer is returned. The rule set can block or reshape an answer but cannot add facts. Question or a whole JD Evidence base 2,119 documents 248 job codes Written rules what it may claim, and what it may not Structured output it cannot reply freehand Answer short, sourced The rules can stop an answer. They cannot invent one.
The evidence base decides what is true. The rules decide what is sayable. Forcing a structured response means there is no path where it free-associates its way to an answer.

That last constraint matters more than it sounds: the model cannot reply in prose at all. It fills a defined shape or the request fails and the visitor is told so. A system that can fail to answer beats one that will always answer.

Then there is the part I did not expect to build.

The first working version was scrupulously honest and it was actively costing me interviews. Ask about a job I could plainly do and it would volunteer, unprompted, what my file did not cover. It flagged caution to people who had not asked for caution. It read hiring managers its own coverage limits as though they were my limitations.

It was doing exactly what I had told it to do. I had written the rules for an evidence archive and then pointed them at a buyer.

Honesty means not lying. It does not mean volunteering everything you know.

So I rewrote the guardrails — not to loosen what it may claim, since every factual restriction stayed exactly where it was, but to separate two things I had collapsed together: not asserting something, and announcing its absence. Only one of those is honesty.

SYSTEM_PROMPT.md excerpt — the never-say table
Never say thisBecause
“That’s a documented gap.”You just disqualified him, unprompted
“Where I’d flag caution…”Nobody asked you to flag caution
“Not claimable.”Internal vocabulary. Never say it out loud
“The evidence doesn’t show him at that altitude.”Not your call. That’s the hiring manager’s judgement

The same file carries a list of things it may never claim about me, including two awards and one number I have good reason not to stand behind. Those restrictions are load-bearing and they did not move. A system that will say anything flattering is worth exactly what one that will say anything at all is worth.

What else is written down for it
  • An explicit never-claim list — specific awards, a specific growth figure, and one result that a later file of mine confirms was a loss rather than a win.
  • A never-disclose list — and, more usefully, the underlying material simply is not in the file, so there is nothing to leak even under pressure.
  • Answer shape — a hard word ceiling, four bullets maximum, and a rule against closing with a summary of what it just said.
  • A linking allow-list. The model can only produce links to a fixed set of pages on this site. Anything else renders as plain text, so a poisoned job description cannot plant a URL in an answer.
  • Deploy-time assertions. The build refuses to package the site if certain strings appear in the shipped file, or if certain rules have gone missing from it.

04The daily agent

The private one is older and does more. I call her Gal Friday. She works on live client material, which is why the rules got serious.

The first real incident: I asked her to cut a cross-sell package down. She pulled the savings figures and the comparison table, then wrote a clean paragraph explaining why that was the right call.

The reasoning was pure fiction. She had removed the whole argument for the product and then handed me a strategy that made it sound deliberate.

Everybody watches for made-up facts.

A fact is checkable. A reason isn’t.

And when it reads like contemplative thinking, it gets a nod and we keep moving. That failure does not look like a failure. You walk into the meeting loose, somebody asks where a figure came from, and you do not know, because you did not write it. You approved it, and approving felt like working.

There is a name for it. The EU’s AI Act calls it automation bias and requires anyone overseeing a system to watch for exactly this. I had it in my notes before I knew the term existed.

What I checked it against, and what I ignored

I built the rules from incidents first. The frameworks came afterwards, when I went looking to find out whether any of it was already solved. Three of them changed something.

  • NIST AI Risk Management Framework 1.0 — oversight should be proportionate to risk, not spread evenly over everything.
  • EU AI Act, Regulation 2024/1689 — names automation bias, and requires a way to stop the system rather than ride a bad output.
  • MIT, A Framework for U.S. AI Governance — extend the controls you already have. Do not build parallel ones.

Four more were read and mostly set aside: the EqualAI playbook, Deloitte’s board roadmap, Microsoft’s blueprint, and the federal AI Community of Practice toolkit. They are written for organisations with a legal department.

Two teenagers watching a computer display in the 1983 film WarGames
WarGames, 1983. MGM/UA. It was very confident too.
The receipts — four things a better prompt would not have prevented
  • She lost track of which version was real. Proofs went out built from a round that had already been replaced. That is not a hallucination, that is forgetting where it was in a long job.
  • She mixed up two partners. Credited a headline to one company’s deck when it came from the other’s, then cited a version of that deck that was never a file.
  • She treated a broken test like routine feedback. The notes looked like line edits, but two cells were testing the same idea. She rewrote 24 headlines without catching that the study itself had stopped working.
  • A tool gave her an incomplete answer without saying so. It left out four past threads, then missed one again after a date-specific search. Better instructions would not have fixed that one. Only a person patiently taking the time to get it right.

The parts-list habit still comes back under deadline. It always will. None of the rules prevent it. What changed is where it gets caught — it moved from the proof to the draft, which is the whole difference between an annoyance and a reprint bill.

One more, and this one cost nothing. In a single session she cited a page she had never opened, then argued that two of my own files contradicted each other by reasoning past a line she had already read. The rules caught both. She retracted the second one in writing, on her own, before I said anything.

Neither one left the room.

05What it costs

The marks slow everything down. Every fact has to be sourced or flagged, which adds a step to work that used to feel fast.

The check that catches drift interrupts a session four or five times. The log only works if somebody writes in it, which is the part most likely to quietly stop.

And the public one is still in beta, still gets things wrong, and still says so on the page.

I keep all of it because a reprint costs more. Because a hiring manager who catches one invented detail is right to discount everything after it. And because the alternative is the version of this where I let a fluent paragraph do my thinking and find out in a meeting.

The easy things got easier. I am still doing the hard part myself.
Where it stands

Version 6.4. The public one is in beta.

Every version number is a failure I didn’t catch the first time.

Try the one I built
Ask it something
Next case study
R.J. Reynolds — Camel’s underground music play, played under the rules
Top