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
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.
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.
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.
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.
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.
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.
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"]
- 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.
- 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.
- The training portals run on one or more clusters, each with its own capacity, branding and Sessions created ahead of time.
- 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.
The front end
Educates gives you the API, not your field team's app. The catalog Presenters browse, how they sign in, and which Demo goes with which customer live in a front end you build on the REST API.
Sign-in through your identity provider
The training portal knows its own accounts and anonymous users, nothing else. Single sign-on comes from your front end, which calls the REST API with its own credentials and passes its own user IDs.
What the docs say: Sign-in through your identity provider (external site)
An Apache 2.0 front end with OAuth sign-in, on the lookup service, to start from (external site)
CRM links and reporting
Educates does not connect to Salesforce or HubSpot, and nothing stores its webhook events for you. Tying a Demo to an opportunity, and reporting on who showed what to whom, is yours to build.
Branding per portal, under your domain
Title, logo, theme and hostname belong to a training portal; lookup service tenants have no branding of their own, so a branded experience per customer means a portal per customer. A portal's hostname must share a parent domain with the cluster's ingress domain.
What the docs say: Branding per portal, under your domain (external site)
KubeVirt for virtual machines
Educates does not install KubeVirt. A Demo with a virtual machine needs KubeVirt running in the cluster first.
What the docs say: KubeVirt for virtual machines (external site)
HTTPS for embedding
A site that shows Sessions in an iframe must use HTTPS, and to work in every popular browser it may need to share a parent domain with the portal, so the two can share cookies.
Proof
Read how it is done
- On this pageThe reference architecture
- Blog postTerraform deployment quickstart
- DocsThe lookup service (external site)
- DocsPortal integration, for a custom front end (external site)
- ExampleGraham Dumpleton's labs, with GitHub sign-in and time windows (external site)
- ExampleA Next.js front end with OAuth sign-in, on the lookup service (external site)
Deploy it from the Hub
The Hub is a catalog of workshops you deploy on your own Educates, each with one command.
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.