Blog
Notes from the side projects: charts, chat assistants, and the lessons in between.
2026
Sep 064 min read
Three small things that make a cafe bot feel finished
Tappable contact details, a glossary under the analytics bars, and staff logins that see only their own tenant.
Sep 063 min read
Ten minutes a week
The owner's loop: the Unanswered report, the answer-cache inspector, Slack pings and retention, as a habit rather than a feature list.
Sep 063 min read
A second kind of tenant
Why a chess coach could not run on a platform that refuses everything but the business, and the one-column change that was the right size.
Sep 064 min read
The baiting weekend
What strangers tried on a cafe bot, the two places it bent, and why the real fix was making refusals visible.
Sep 022 min read
Teach the bot from a PDF, without burning tokens
michi-chat can now turn a PDF into knowledge-base facts. The analysis is free, the mechanical junk is stripped deterministically, and you see what the AI clean-up would cost before a single token is spent.
Aug 315 min read
How michi-chat works
The journey of one question through michi-chat: guardrails, the semantic cache, the tool loop, and why a LiteLLM proxy makes the AI model a config edit instead of a rewrite.
Aug 304 min read
Introducing michi-chat
A small self-hostable chat assistant platform for small businesses: multi-tenant, grounded in tools and RAG, and built to never invent a fact. The first tenant is Mugshot Artisan Cafe of mugshotmnl.com.