Build your own Demo Platform

Any Presenter launches a ready, isolated Demo for any customer in one click

For the Sponsor funding Demos for a field team, with a technical section for the Builder who builds the platform.

Educates is the core of a Demo Platform, not the whole of it. It creates each Session ahead of time, isolates it, sends it to a cluster with room and deletes it when it is done. Inside your company, the training portal's own catalog can be enough; a public-facing Demo Platform adds its own front end and integrations on top.

The problem

  1. The shared demo is broken again

    Everyone uses the same demo environment, so it is only as good as the last person left it. Ten minutes before a call, someone's leftover changes break the step you need.

  2. Preparation goes into rebuilding

    Presenters spend the hour before a call resetting the demo instead of preparing for the customer, and how to reset it lives in one person's head.

  3. Every Presenter shows a different Demo

    Each Presenter keeps their own copy, on their own laptop or cloud account, so what a customer sees depends on who shows it and when they last updated it.

How Educates fits

  • One click, one fresh Session

    Your front end asks for a Session with one REST call and sends the Presenter to the URL that comes back. Sessions created ahead of time mean the Demo is already running, and expiry deletes it when its time is up.

    Portal REST API⁠Ready Sessions⁠

  • Many clusters behind one API

    The lookup service puts one REST API in front of training portals on one or more clusters, and sends each request to the portal with the most room. Tenants decide which clusters and portals each client reaches, and you add capacity by adding a cluster.

    Lookup service⁠

  • Each Demo set up for its customer

    Pass parameters with each request, such as the customer's name or credentials for another system, and the Session is set up with them. Show the Session inside your own HTTPS site, give each portal its own title, logo and theme, and pass a webhook with each request to follow that Demo as it runs.

    Portal REST API⁠Embedding⁠Portal branding⁠Workshop analytics⁠

  • Real environments, up to cluster admin

    A Demo can have its own Kubernetes namespace with quotas and RBAC, its own virtual cluster with cluster admin, or a virtual machine, so it can install operators and run the product the way a customer would.

    Isolated Sessions⁠

For the Builder

How it works

The reference architecture has four parts: your front end, the lookup service, training portals on one or more clusters, and the Session each Presenter gets.

flowchart LR
  presenter(["Presenter"]) -->|picks a Demo| frontend["Your front end<br/>catalog, sign-in, customers"]
  frontend -->|requests a Session| lookup["Lookup service"]
  lookup -->|portal with the most room| portalA["Training portal<br/>on cluster A"]
  lookup -.-> portalB["Training portal<br/>on cluster B"]
  portalA --> session["Session<br/>created ahead of time"]
  session -.->|activation URL| presenter
  session -.->|events| webhook["Your webhook"]
  1. Your front end lists the Demos a Presenter may run, signs them in your way, and knows which customer each Demo is for. It authenticates to the lookup service as a client with access to a tenant.
  2. The lookup service takes each request, with the workshop, the Presenter's user ID, any parameters for the customer and a webhook URL, and sends it to the training portal with the most room among the tenant's clusters and portals.
  3. The training portals run on one or more clusters, each with its own capacity, branding and Sessions created ahead of time.
  4. The Session comes back as an activation URL, which the Presenter's browser must open within 60 seconds, in a new tab or in an iframe of your front end. Asking again with the same user ID returns the Session the Presenter already has.

The lookup service docs cover clusters, tenants, clients and the request for a Session, and Portal integration covers new tabs, iframes and sending the Presenter back when a Session ends.

What you bring

Educates is the core, not the whole job. This is what it leaves to you, so you can plan for it before you commit.

Try it yourself, or talk to us

Get started runs Educates on your laptop with a first workshop in a few commands. Get help is where you ask the community, and where you can hire the people who build Educates.