How I build and improve products
I build quickly so customers can try a working product. I speak with them and use their feedback to decide what changes next.
AI helps me test ideas sooner. I own the product decisions and check the design, code and release.
Shappy is one chat for you and your AI agents. Each conversation is durable and runs on your own backend. An Agent answers with a model, or hands the work to Codex, Claude Code, Grok or Hermes Agent on one of your machines. With Ask access, the chat asks you before an agent makes a change on your machine.
I started Shappy on 22 October 2026 to bring parts of my earlier projects into one app: the studio design from ShappyOS, the durable chat core from ShappyChat, my development and infrastructure rules, feature proposals with playable walkthroughs, and the browser and local model processing from Bukkumaku. I build it with Codex and Claude Code under my own rules: a linter checks each change, and Gitea CI releases and deploys main. It is a private build with no outside users yet. I am its only user so far.
Agents are easy to start but hard to trust. You must know what each agent may do, on which machine, and what it did. If an action may already have run, Shappy marks it as uncertain and does not run it again by itself.
What I built
- Durable chat. I built the chat on two open-source runtimes: each conversation runs in a celld cell, and Pi Durable saves each turn and tool call before the chat shows them. A run continues after a restart, and you can steer, pause or stop it.
- Agents on your machines. A worker on a Mac, Linux or Windows machine can run Codex, Claude Code, Grok or Hermes Agent over ACP, the Agent Client Protocol. From the app, you can watch the desktop of a machine or open its terminal.
- Limits with reasons. Each agent and machine has its own access, and a delegated run never gets more access than the run that started it. The strictest limit wins, and the app shows the reason. With Ask access, the chat asks before an agent acts on a machine.
- Channels, flows and hooks. Mention an Agent or a machine in a channel. Flows send each kind of task to the right one. Schedules run on a calendar, and inbound webhooks start work.
- Library and Lotion. The Library keeps files, text and links, with search by meaning from local models. Lotion is a notes plugin with pages and databases, and agents use it too.
- Brand Studio. Change the name, logo, colours, characters and layouts in five layers. Codex or Claude Code draws new characters. Krem is the default brand.
- One set of operations. 504 operations, each callable from the CLI, the SDK and over HTTP. The app, the CLI and the SDK call the same operations.
- Built under its own rules. A rules package of 102 rules guides the code, and 182 lint checks enforce 53 of them. Gitea CI releases and deploys main. I design larger features as proposals with playable walkthroughs, then build them.
