zgbrenner scrubs the last of Mike out of Gary

A top-to-bottom branding and documentation pass turns a lightly-renamed fork into something that reads like a deliberate product.

branding

zgbrenner went through everything a user or the AI actually sees and pulled out the leftover "Mike" name. The assistant now introduces itself as Gary, exported Word documents credit Gary as the tracked-change author, and the in-app copy, error pages, and page metadata all line up behind a single positioning line: open-source legal AI for U.S. lawyers.

The README was rewritten from scratch with a plain-English product overview, a step-by-step flow, a feature table, stated limitations, and a roadmap - plus a clear license-and-attribution section that keeps the AGPL-3.0 terms and credits the upstream project it forked from. Notably, zgbrenner avoided overclaiming: no accuracy guarantee, no bar-compliance assertion. A small test suite now guards against the old branding and unsupported claims creeping back in.

So what If you're sizing up Mike forks, this is the tell that separates a serious open-source product from a quick find-and-replace rename.

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 zgbrenner/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
9d868c45 chore: Gary branding, metadata, and public-readiness polish Claude 2026-05-19 ↗ GitHub
commit body
Make Gary feel like a coherent, intentional open-source product rather
than a lightly renamed fork. No new functionality.

Branding / user-facing copy:
- App-shell wordmark, global-error page title, and the built-in
  Saved Legal Task author label now read "Gary" instead of "Mike".
- Backend AI identity prompts (chat system prompt, Review Table
  assistant prompt) and the DOCX tracked-change author now say "Gary".
- Column-prompt placeholders, the support form, and the backend
  startup log say "Gary".
- Remaining "tabular review" wording in user-facing/LLM-facing strings
  updated to "Review Table" / "document review model".

App metadata (frontend/src/app/layout.tsx):
- Title "Gary - Open-source legal AI for U.S. lawyers" and a factual
  description across the page, Open Graph, and Twitter cards.
- metadataBase now reads NEXT_PUBLIC_SITE_URL (documented in
  .env.local.example) instead of a hard-coded mikeoss.com domain.
- Avoids unsupported claims (no accuracy guarantee, not bar-compliant).

Visual assets:
- Add Gary social preview (SVG + rasterized PNG, 1200x630), a Gary
  wordmark/monogram logo, a standalone G mark, and a generated
  apple-touch-icon. Remove the orphaned MikeOSS link-image.jpg.
- The favicon (abstract aperture) is intentionally kept - it carries
  no Mike branding and doubles as the in-app loading spinner.

Documentation:
- Rewrite the root README: plain-English intro, who it's for, what it
  does, the 7-step product flow, bring-your-own-key explanation, how
  Gary differs from MikeOSS, features, limitations, roadmap, and a
  License & attribution section preserving the AGPL-3.0 / MikeOSS
  credit. Developer setup moved below the product overview.
- Add docs/README.md as a documentation index linking the setup
  guide, legal disclaimer, terminology map, and safe-testing doc.
- Point the CONTRIBUTING.md security link at the Gary repo.
- Update safe-local-testing.md to say Gary.

Tests:
- Add frontend/src/lib/branding.test.ts: metadata uses Gary and avoids
  unsupported claims, wordmark renders Gary, README credits MikeOSS
  and lists features + product flow, docs index links key docs, and
  the Gary visual assets exist.

Intentionally left unchanged (internal, renaming would add risk):
package names ("mike" / "mike-backend"), code identifiers (MikeProject,
MikeIcon, mikeApi, MikeLayout, etc.), the tabular_reviews /
organisation database columns, and the signup Terms/Privacy links
(no Gary-hosted legal pages exist yet - self-hosters substitute their
own).

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-571.md from inside the repo you want the changes in.

⬇ Download capture-thread-571.md