Skip to content

Custom apps

Vibe-coded AI products: authored by an agent, served in a sealed sandbox, monetized from day one.

Updated View as Markdown

Apps are murl’s deepest bet: anyone can ship a custom AI product (full UI, own interaction model, own brand) without owning infrastructure, model accounts, billing, or auth. The creator describes the product; the platform supplies everything else.

Authoring

Apps are built conversationally with the authoring agent. It researches the brief, picks models from the registry using researched guidance cards, writes the worker code and UI, validates the bundle, and publishes. The creator iterates in plain language; the output is a real, reviewable code bundle they own.

The runtime contract

An app is a single-module ESM worker: export default { fetch }. It is served under /apps/{id}/ on murl’s own domain, inside a sandbox with:

  • No network egress: outbound fetch throws.
  • No bindings except env.MURL: the SDK is the app’s entire world for models, chains, storage, uploads, and jobs.
  • Resource caps per request, pinned compatibility per bundle.

This inversion is what makes untrusted creator code safe to run and safe to pay: every ability an app has is a method the platform implemented, metered, and audited.

UI for free

Apps load a platform-served UI runtime: web components for the app shell, generation history rail, prompt box, priced action buttons, and state handling, plus dual-theme design tokens. A vibe-coded app looks native on murl by default and can re-brand via a token pair. The platform also records every successful model run into the app’s generations feed host-side, so apps ship history with zero code.

Money semantics

Every spending path goes through one chokepoint: quote, budget guard, wallet hold, provider call, attributed usage log, settle. That gives every app, automatically:

  • Posted prices on actions before the user commits (estimateCost).
  • Budget breakers: per-call and per-day caps protect runners from runaway apps.
  • Approval gates in multi-step chains: expensive steps pause and re-quote from resolved inputs before money moves.
  • Creator attribution: every spend row carries the app’s publication id; payouts aggregate from these rows with no app code involved.

Preview

Creators test in a walletless preview where price quotes are real but all spending calls stop at the hold step, so the full UI is testable at $0 before anything goes live.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close