fedec65 gives Mike a bench of specialist lawyers - and a private mode to run them on

One fork turns a single chatbot into a roster of legal personas you pick per conversation, with an option to keep the whole thing off the cloud.

personassecurity

fedec65 has reshaped Mike around the idea that you shouldn't talk to one generic assistant. A new picker lets you choose who you're conversing with: a litigator, a drafter, a compliance officer, a tax advisor, an employment or real-estate specialist - even an adversarial trio that argues a position, attacks it, and judges the result. Each persona comes with its own instructions and its own preferred tools, and the lineup leans hard into Swiss practice, including a cantonal selector covering all 26 cantons and a specialist for the Court of Arbitration for Sport.

The other half of the story is privacy. The fork wires in Ollama - software that runs AI models locally on your own hardware - so a strict-privacy setting can route a chat to a local model with no API key and nothing leaving the machine.

So what Worth a look for Swiss-facing practices, and for anyone who wants matter-sensitive work handled by a tailored persona without sending it to a third-party cloud.

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

SHA Subject Author Date
aa9c3724 feat: dynamic Ollama model discovery + second phase features Federico Cesconi 2026-05-06 ↗ GitHub
commit body
Backend:
- Add GET /chat/models/ollama endpoint for dynamic local model discovery
- Add preferred_ollama_model column to user_profiles
- Fix privacy strict mode to use preferred/detected Ollama model
- Accept any ollama-* model ID in resolveModel()
- Export getOllamaHost() and listOllamaModels() from ollama.ts
- Add CORS support for 127.0.0.1:3000 origin
- Copy second_phase migration to supabase/migrations/

Frontend:
- ModelToggle: dynamically fetch and display local Ollama models
- modelAvailability: add ollama provider (no API key needed)
- useSelectedModel: accept dynamic ollama-* IDs
- UserProfileContext: expose ollamaHost and preferredOllamaModel
- Account models page: add Ollama host + preferred model config UI
- Skip API-key modal for Ollama models in chat/TabularReview

Also includes prior second phase work:
- i18n (de/fr/it/en) with next-intl, localePrefix: never
- Canton selector per-chat with canton context injection
- Agent/persona system (20 agents) with per-chat agent selection
- Privacy scanner for privilege detection
- Ollama provider for local LLM inference
- Backend tests (43 passing) + Playwright E2E tests (3 passing)
- Local Supabase dev setup with .env config

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

⬇ Download capture-thread-64.md