diff --git a/personal/q3k/wow/panel/BUILD.bazel b/personal/q3k/wow/panel/BUILD.bazel
index 44162a4..743e3e2 100644
--- a/personal/q3k/wow/panel/BUILD.bazel
+++ b/personal/q3k/wow/panel/BUILD.bazel
@@ -7,6 +7,7 @@
     srcs = [
         "main.go",
         "soap.go",
+        "spaceapi.go",
     ],
     importpath = "code.hackerspace.pl/hscloud/personal/q3k/wow/panel",
     visibility = ["//visibility:private"],
diff --git a/personal/q3k/wow/panel/main.go b/personal/q3k/wow/panel/main.go
index cd1f586..aefbd1a 100644
--- a/personal/q3k/wow/panel/main.go
+++ b/personal/q3k/wow/panel/main.go
@@ -115,6 +115,7 @@
 	http.HandleFunc("/setup", s.viewOauthSetup)
 	http.HandleFunc("/reset", s.viewReset)
 	http.HandleFunc("/logout", s.viewLogout)
+	http.HandleFunc("/spaceapi", s.viewSpaceAPI)
 
 	err = http.ListenAndServe(flagListen, nil)
 	if err != nil {
diff --git a/personal/q3k/wow/panel/spaceapi.go b/personal/q3k/wow/panel/spaceapi.go
new file mode 100644
index 0000000..94923d2
--- /dev/null
+++ b/personal/q3k/wow/panel/spaceapi.go
@@ -0,0 +1,35 @@
+package main
+
+import (
+	"encoding/json"
+	"net/http"
+)
+
+type PeopleNowPresent struct {
+	Names []string `json:"names"`
+	Value int      `json:"value"`
+}
+
+type SpaceAPI struct {
+	Sensors struct {
+		PeopleNowPresent []PeopleNowPresent `json:"people_now_present"`
+	} `json:"sensors"`
+}
+
+func (s *server) viewSpaceAPI(w http.ResponseWriter, r *http.Request) {
+	res := &SpaceAPI{}
+
+	names := []string{}
+	for _, p := range s.online(r.Context()) {
+		names = append(names, p.Character)
+	}
+	res.Sensors.PeopleNowPresent = []PeopleNowPresent{
+		{
+			Names: names,
+			Value: len(names),
+		},
+	}
+
+	w.Header().Set("Content-Type", "application/json")
+	json.NewEncoder(w).Encode(res)
+}
