Blog
Notes from the memi team.
Releases, the harness, the Notes pack, the MCP server, the Codex plugin.
The three-week playground
The /try playground lived for exactly three weeks: built in a one-day burst, audited the next morning with a four-axis scorecard, and deleted in the pivot commit that said the macOS Studio is the product.
Read post
Four names in ten months
Between July 2025 and May 2026 this product was figbud, then Ark, then Noche, then Memoire, then memi. Two of those renames happened inside 48 hours. The git log records what every one of them cost.
Read post
The landing page should inherit the app's restraint.
Tightening the homepage was the visible step. The system underneath is older: a ten-commit design-token wave from April, proof modules with e2e assertions from May, and a Playwright audit to keep the restraint honest.
Read post
Agent controls should feel like design tools.
A ready dot that turns green because a binary exists is a guess. Ours runs 'claude auth status' and 'codex login status' first, and clicking a blocked agent opens the exact setup step with a copyable command.
Read post
Public package readiness is a product feature.
Readiness turned out to be a property of agreement between four install surfaces, not a publish button. The checks that keep them agreeing: registry verification in CI since 2026-04-25, both mac architectures fetched on every build, and drift warnings that state direction.
Read post
From 188 downloads to a real growth loop.
The latest spot check said 188 weekly downloads for @memi-design/cli. Part of that small number is probably self-inflicted: the package has had three public npm identities. The fix is not louder marketing. It is a loop.
Read post
The landing page should feel like the app.
On May 7 the site got reskinned twice. The first pass kept the flowers politely. The second pass deleted the entire floral identity, heart cursor included, the same day the macOS Studio became the product.
Read post
A working agent app needs OS proof.
We burned through three definitions of working: the UI renders, the tests pass, the OS path holds. Only the third one survived contact with spctl, orphaned sidecars, and a smoke test that used to hang.
Read post
FigJam should start as source, not a write.
The flashy demo writes straight into the team FigJam. We built the bridge for that and then refused the demo: the board stays local source, sync is an explicit action, and every fallback gets a named reason.
Read post
Agent UI for product designers is a workbench, not a chat box.
Design work produces objects, and chat threads bury objects in prose. The workbench triad landed in one day on May 12, design work got its own 1070-line lane the next, and the critique starter now opens from a real screenshot.
Read post
A package release needs a trust chain.
Signing is not notarization, and an auto-updater is only as trustworthy as the manifest it reads. We learned both the hard way inside one weekend, and v1.0.3 exists mostly as the third repair.
Read post
Agent switching should be icons first.
The switcher was compacted on May 22, then twice more in one day on May 26. The fix that stuck was not visual: visibility became manifest data, with Codex and Claude Code marked primary and six other harnesses advanced by default.
Read post
Product design agents need receipts, not theater.
Fake receipts are worse than logs, because they look exactly like evidence. We shipped some by accident, deleted 97 lines of them, and now a CI script fails the build if 'No tool calls yet.' or 'codex-gpt-5-5' ever appears again.
Read post
The public package audit after the Studio launch.
We did not write the release audit out of caution. Every line of it traces to a release that actually broke: a Gatekeeper rejection, a one-arch updater manifest, and a version that exists mostly as a signing repair.
Read post
The Studio run workbench is the product.
The run spine landed as a 300-line App.tsx change on May 12. Two weeks later, a 48-commit hardening day deleted the mock workbench actions and wired a CI gate that fails the build if the string 'No tool calls yet.' ever comes back.
Read post
Design system memory should be editable.
Studio's memory pane once showed invented token specs like H1 / 32 / 700. We deleted the fake data, gated it out of the build, and rebuilt memory as something you review, not something you trust blind.
Read post
Shipping a macOS agent app without mystery crashes.
Studio kept dying with what looked like an OS memory fault, and no JavaScript fix was ever going to touch it. The real bug was where the runtime binary lived. The real fix was materialize, supervise, and prove ownership before killing anything.
Read post
Inside the memi harness.
Supporting 8 agents could have meant 8 piles of bespoke glue. Instead the harness is one manifest with probes, parsers, and policies, and it ships with the app like an icon does. Here is why that shape won.
Read post
Why we bundle every model in the box.
Eight harness definitions ship in the box: Claude Code, Codex, OpenCode, Gemini, Ollama, Hermes, shell, and our own. Each one gets a probe, a parser, a policy, and a default, because 'works with any model' is otherwise a logo strip.
Read post
Designers have an amnesia problem too.
Before the workspace store existed, this project re-extracted its own design system across four renames. Notes are the design-side fix: durable skill files that graduate from real work, in bursts, not on a schedule.
Read post
memi v0.17 'Compound'. What shipped.
The commit that published this post also renamed it from 'v0.13 Tenacity' and jumped the site's package.json from 0.13.1 to 0.17.0. The release is real. The numbering deserves to be told straight.
Read post