diff --git a/src/hub.js b/src/hub.js
index 8bd8e2a29f9dbe957b0c20cd2798c160fbe7ede0..827bab773a706b1235b4c8133053dfaa1cfcfb61 100644
--- a/src/hub.js
+++ b/src/hub.js
@@ -324,11 +324,12 @@ const onReady = async () => {
         });
         const audio = document.getElementById("bot-recording");
         mediaStream.addTrack(audio.captureStream().getAudioTracks()[0]);
-        // wait for runner script to interact with the page so that we can play audio.
+        // Wait for runner script to interact with the page so that we can play audio.
         await new Promise(resolve => {
           window.interacted = resolve;
         });
         audio.play();
+
       }
 
       if (mediaStream) {
@@ -389,6 +390,12 @@ const onReady = async () => {
       // Wait a tick plus some margin so that the environments actually render.
       setTimeout(() => scene.renderer.animate(null), 100);
     }
+    else {
+      const noop = () => {};
+      // Replace renderer with a noop renderer to reduce bot resource usage.
+      scene.renderer = { animate: noop, render: noop };
+      document.body.style.display = "none";
+    }
   });
   environmentRoot.appendChild(initialEnvironmentEl);