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.
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.
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.