Skip to content
Josef Richter

Organic UI

Small, working applets that grow through conversation. Built by Claude, with interfaces for the web and a native iPhone app.

Generative applets · Design & engineering · Working prototype

A loan calculator evolves across nine requests. The web and iPhone run separate instances of the same applet. Generation waits are shortened.

From a request to something you can use

Start with a calculator. Ask for an extra monthly payment, a chart, or a yearly breakdown. Each request produces a new version of the applet, with working logic and controls.

The current version keeps working while the next one is generated. Compatible values carry forward, and revision history lets you return to an earlier version.

Shared logic, native presentation

An applet contains JavaScript logic and two templates. The browser gets an HTML layout; the phone gets a component tree rendered in SwiftUI, with charts in a web view. Both layouts bind to the same applet logic.

This leaves room for the interface to fit each platform. A wide comparison on the web can become a vertical sequence of controls and results on a phone.

Generating is only the first step

Generated logic runs in a sandbox. Templates are checked against allowed components and design tokens, and the applet is exercised before it replaces the current version. Validation feedback goes back to the agent for repair.

The prototype explores how far a useful interface can evolve through conversation while preserving its state, history and connection to a design system.