Skip to content

Developers

Build apps that run where people already are.

An OwnWeb app is a JavaScript app with a manifest that declares its permissions, its UI and any Python or FFmpeg workloads. It installs into the browser and runs on the person’s device.

Submission opens with accounts

Manifest

One manifest, no surprises.

Everything the browser enforces is declared up front: permissions, workloads and the UI entry. The person sees the same list before installing.

{
  "id": "maker.csv-analyzer",
  "kind": "code",
  "name": "CSV Analyzer",
  "version": "1.0.0",
  "apiVersion": 1,
  "main": "main.js",
  "permissions": ["app.data", "files.read", "files.write", "background.run"],
  "workloads": [
    { "id": "analyze", "kind": "python", "entry": "workloads/analyze.py", "python": "3", "required": true }
  ],
  "ui": { "entry": "ui/index.html" }
}

Taken from the CSV Analyzer developer sample. Apps are authored in JavaScript; a TypeScript build step is not provided by the platform.

Capabilities

What an app can do.

  • JavaScript app core

    main.js runs inside the browser’s app host with the permissions the manifest declares. Versioned API: apiVersion 1.

  • Declared workloads

    Python 3 scripts and FFmpeg or ffprobe tool runs as background workloads, declared in the manifest and provisioned with the app.

  • App UI

    An HTML entry rendered in an app tab, built with the OwnWeb app UI kit so it inherits the person’s theme and light or dark mode.

  • Storage and files

    Private app storage (app.data) and access to files only through the person’s picker (files.read, files.write).

  • Background work

    Long jobs continue after the person changes tab (background.run) and can notify when done (notify).

  • Agent tools

    An app can expose tools to the AI agent so a task can hand it work and read the result back.

  • Scheduled work

    Run a job at a set time or on a repeat, such as a reminder or a nightly import.

  • Hosted pages

    Publish a page from your app to a public link: a form, a booking page or a one-page site.

  • Mail and account connections

    Send and read mail, or reach a calendar, through accounts the person connects. The browser holds the sign-in; your app never sees the password.

  • AI, if the person allows it

    Ask the person’s chosen model a question through the AI port, or use a small model that runs on the device.

  • Sync without a server

    Store records through the platform’s storage API. When accounts open, they sync, encrypted, without you building or hosting anything.

  • App-to-app access

    Read another app’s data only when the person grants it.

UI kit

Looks native to the browser.

The app UI kit supplies the controls, tokens and theming so an app looks at home in every OwnWeb theme, light and dark, without shipping its own styling system.

App UI kit1.0.0

Buttons, fields, sheets, tables and toasts that follow all eight themes. Released to developers when submission opens.

Publishing

Readable source in, signed app out.

Submit readable source, publicly or privately to reviewers. Reviewers read it, the reviewed source is built and signed, and the signed app is what people install.

Public or private source
Keep your source public, or submit it privately to authorised reviewers. Price does not decide which; free and paid apps may use either.
Obfuscation allowed
You may obfuscate the shipped build. It protects against casual copying; it is not secrecy from the owner of the machine.
Selling
Free, one-time, monthly or yearly pricing, from US$1. You keep 80% before tax, and payment fees come out of our share.
Paid monthly
Sales are settled once a month to your bank account through Stripe Connect, with a statement of every sale and refund.
Free can grow
Add paid features to a free app later without a reinstall. What you offered for free stays free.
Offers and bundles
Run discount codes, a US$1 first month, or sell several apps together as a bundle.
Reports
See installs, sales and refunds for your own apps. Buyer identities are not shared.
Desktop first
Apps run in the desktop browser today. Phone support follows, and an app declares which devices it supports.
Your source stays yours
Reviewers see private source only to review it. Only the built, signed app is distributed.

Publisher accounts, app submission and seller onboarding are not open yet. Nothing is published until reviewers approve its source.