diff --git a/panel/src/panel/templates/configuration_form.html b/panel/src/panel/templates/configuration_form.html
index ffc78e3d..4795d35d 100644
--- a/panel/src/panel/templates/configuration_form.html
+++ b/panel/src/panel/templates/configuration_form.html
@@ -9,7 +9,8 @@
           hx-trigger="click"
           hx-indicator="#spinner-container"
           hx-disabled-elt="this"
-          hx-swap="none"
+          hx-target="#deployment-result"
+          hx-swap="innerHTML"
           name="deploy">
       Deploy
   </button>
@@ -19,5 +20,8 @@
   <div id="spinner-container" class="htmx-indicator">
     <span class="loader"></span>
   </div>
+
+  <div id="deployment-result">
+  </div>
 </form>
 {% endblock %}
diff --git a/panel/src/panel/templates/partials/deployment_result.html b/panel/src/panel/templates/partials/deployment_result.html
new file mode 100644
index 00000000..0b6a62fc
--- /dev/null
+++ b/panel/src/panel/templates/partials/deployment_result.html
@@ -0,0 +1,13 @@
+{% if deployment_status %}
+  <p>{{ deployment_status }}</p>
+
+  <ul>
+  {% for service, state in services.items %}
+    {% if state %}
+    <li>
+        ✓ {{ service }}
+    </li>
+    {% endif %}
+  {% endfor %}
+  </ul>
+{% endif %}
diff --git a/panel/src/panel/views.py b/panel/src/panel/views.py
index 2a1d4118..76e68570 100644
--- a/panel/src/panel/views.py
+++ b/panel/src/panel/views.py
@@ -9,10 +9,11 @@ from django.contrib.auth.models import User
 from django.views.generic import TemplateView, DetailView
 from django.views.generic.edit import FormView
 
+from django.shortcuts import render
 from panel import models, settings
-from panel import models
 from panel.configuration import forms
 
+
 class Index(TemplateView):
     template_name = 'index.html'
 
@@ -82,6 +83,7 @@ class ConfigurationForm(LoginRequiredMixin, FormView):
         initial.update(self.convert_enums_to_names(config_dict))
         return initial
 
+
 class Save(ConfigurationForm):
     def form_valid(self, form):
         obj = self.get_object()
@@ -90,6 +92,7 @@ class Save(ConfigurationForm):
 
         return super().form_valid(form)
 
+
 class DeploymentStatus(ConfigurationForm):
     def form_valid(self, form):
         obj = self.get_object()
@@ -98,27 +101,38 @@ class DeploymentStatus(ConfigurationForm):
 
         # Check for deploy button
         if "deploy" in self.request.POST.keys():
-            self.deployment(obj)
+            deployment_result, deployment_params = self.deployment(obj)
+            if deployment_result.returncode == 0:
+                deployment_status = "Deployment Succeeded"
+            else:
+                deployment_status = "Deployment Failed"
 
-        return super().form_valid(form)
+        return render(self.request, "partials/deployment_result.html", {
+            "deployment_status": deployment_status,
+            "services": {
+                "peertube": deployment_params['peertube']['enable'],
+                "pixelfed": deployment_params['pixelfed']['enable'],
+                "mastodon": deployment_params['mastodon']['enable']
+                }
+            })
 
     def deployment(self, obj):
         submission = obj.parsed_value.model_dump_json()
         # FIXME: let the user specify these from the form (#190)
         dummy_user = {
             "initialUser": {
-            "displayName": "Testy McTestface",
-            "username": "test",
-            "password": "testtest",
-            "email": "test@test.com",
+                "displayName": "Testy McTestface",
+                "username": "test",
+                "password": "testtest",
+                "email": "test@test.com",
             },
         }
         # serialize back and forth now we still need to manually inject the dummy user
-        deployment = json.dumps(dummy_user | json.loads(submission))
+        deployment_params = json.dumps(dummy_user | json.loads(submission))
         env = {
             "PATH": settings.bin_path,
             # pass in form info to our deployment
-            "DEPLOYMENT": deployment,
+            "DEPLOYMENT": deployment_params,
         }
         cmd = [
             "nix",
@@ -135,4 +149,4 @@ class DeploymentStatus(ConfigurationForm):
             cwd=settings.repo_dir,
             env=env,
         )
-        return deployment_result
\ No newline at end of file
+        return deployment_result, json.loads(deployment_params)