foolish-bandit hides the engine room from the lawyer's home screen

Gary's logged-in landing page stops looking like a developer tool and starts looking like a product.

chat-uipersonas

The authenticated home of this Mike fork used to drop users straight into a bare chat box. foolish-bandit has replaced that empty state with four plain-English starting points: ask a question, upload a document, review a contract, or draft something. Each card routes into features the fork already had - the document upload, the tabular contract review, the workflow drafter - but the labels finally speak the language of the person sitting in front of the screen.

Nothing under the hood moved. No new routes, no backend work, no changes to how the AI actually runs. The model-picker dropdown is hidden on this welcome view but stays available once a conversation is underway, so power users can still swap models mid-thread. foolish-bandit also flagged the surfaces still leaking jargon - the sidebar, the in-chat input, the per-provider API key settings - and explicitly left them for another pass.

So what Worth a look for anyone building legal AI who is wrestling with the gap between a working prototype and something a partner will actually open twice.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

1 commit from foolish-bandit/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
d761a8da Add four action cards to assistant home for Gary mode Claude 2026-05-07 ↗ GitHub
commit body
Replaces the bare 'Hi, {name}' empty state with a 2x2/4-up grid of
lawyer-friendly action cards above the existing chat input:

- Ask Gary - focuses the chat input
- Upload Document - uploads via existing /single-documents route and
  attaches the doc as a chip on the chat input
- Review Contract - routes to /tabular-reviews
- Draft Something - routes to /workflows

Hides the model dropdown only on the empty state (still available on
in-chat ChatInput and at /account/models). No new routes, no backend
changes, no removed functionality. ChatInputHandle gains a focus()
method and ChatInput gains a hideModelToggle prop.

https://claude.ai/code/session_019pRkhcGDRKQWHjzAnV5yCL

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-322.md from inside the repo you want the changes in.

⬇ Download capture-thread-322.md