Skip to content
Playground llms.txt
Docs in progress TKO docs are in progress. Examples, API details, and migration notes are still being revised.

Deploy in Seconds

A TKO app can be as simple as a single HTML file. No bundler, no server runtime, no build step — just upload to any static hosting provider and you’re live.

Save this as index.html:

<!doctype html>
<html>
<body>
<div id="app">
<input data-bind="textInput: name" />
<p>Hello, <strong data-bind="text: name"></strong>.</p>
</div>
<script src="https://cdn.jsdelivr.net/npm/@tko/build.reference/dist/browser.min.js"></script>
<script>
const ko = globalThis.tko
ko.applyBindings({ name: ko.observable('TKO') }, document.getElementById('app'))
</script>
</body>
</html>

Or as an ES module (no IIFE needed):

<script type="module">
import ko from 'https://esm.run/@tko/build.reference'
ko.applyBindings({ name: ko.observable('TKO') }, document.getElementById('app'))
</script>

Upload that single file to any of the platforms below. That’s it — a live, reactive web UI.

Free, deploys from a git push.

  1. Create a repo and add your index.html
  2. Go to Settings → Pages → Source and select your branch
  3. Your site is live at https://username.github.io/repo/

Or use the gh CLI:

Terminal window
gh repo create my-app --public --clone
# add index.html
git add index.html && git commit -m "init" && git push
gh browse --settings # enable Pages under Settings → Pages

Free tier, global CDN, automatic HTTPS.

  1. Push your files to a GitHub or GitLab repo
  2. Connect the repo at dash.cloudflare.comPages → Create
  3. No build command needed — just set the output directory to / (or wherever your HTML lives)

Or deploy directly from the CLI:

Terminal window
npx wrangler pages deploy . --project-name my-app

Good for projects already on GCP.

Terminal window
gcloud storage buckets create gs://my-app.example.com
gcloud storage buckets update gs://my-app.example.com --web-main-page-suffix=index.html
gcloud storage cp index.html gs://my-app.example.com/

Add a load balancer or use Firebase Hosting for automatic HTTPS and CDN.

Free tier, automatic HTTPS, global CDN.

Terminal window
npm install -g firebase-tools
firebase init hosting # select your project, set public dir to "."
firebase deploy

Free tier, drag-and-drop or git-based deploys.

  1. Go to app.netlify.com/drop
  2. Drag your project folder onto the page
  3. Live in seconds

Or via CLI:

Terminal window
npx netlify-cli deploy --dir . --prod

TKO loads from a CDN (esm.run or jsdelivr). Your app is just HTML + the browser’s ES module loader. No server-side rendering, no Node.js, no build artifacts. The entire deploy is one file.

As your app grows you can add a bundler, but you don’t have to. Many production TKO apps are a handful of HTML files and a CSS stylesheet.