   (let [data (read-string str-data)]
     (reset! leaders data)))
 
+(defn on-time-left
+  [total-seconds]
+  (let [m (js/Math.floor (/ total-seconds 60))
+        s (mod total-seconds 60)
+        s-str (if (< s 10) (str "0" s) s)
+        time-str (str m ":" s-str)]
+    (js/console.log m s s-str time-str)
+    (.html ($ ".time-left-eb709") (str "Time Left: " time-str))
+  ))
+
 ;;------------------------------------------------------------------------------
 ;; Page Initialization / Cleanup
 ;;------------------------------------------------------------------------------

  (.emit @socket "leave-dashboard")

  (.removeListener @socket "leader-update" on-leader-update)

  )

  (.emit @socket "join-dashboard")

  (.on @socket "leader-update" on-leader-update)
  (.on @socket "time-left" on-time-left)

  (on-time-left 0)
  )

(defn cleanup
