diff --git a/Gopkg.lock b/Gopkg.lock
index f478101..977c48a 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -346,6 +346,14 @@
   revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
   version = "v2.2.1"
 
+[[projects]]
+  branch = "master"
+  digest = "1:9132eacc44d9bd1e03145ea2e9d4888800da7773d6edebb401f8cd34c9fb8380"
+  name = "vbom.ml/util"
+  packages = ["sortorder"]
+  pruneopts = "UT"
+  revision = "efcd4e0f97874370259c7d93e12aad57911dea81"
+
 [solve-meta]
   analyzer-name = "dep"
   analyzer-version = 1
@@ -360,6 +368,7 @@
     "github.com/q3k/statusz",
     "golang.org/x/net/context",
     "google.golang.org/grpc",
+    "vbom.ml/util/sortorder",
   ]
   solver-name = "gps-cdcl"
   solver-version = 1
diff --git a/service.go b/service.go
index 05964fa..ccfd0bc 100644
--- a/service.go
+++ b/service.go
@@ -4,12 +4,14 @@
 	"context"
 	"fmt"
 	"net/http"
+	"sort"
 	"strings"
 
 	"code.hackerspace.pl/q3k/topo/graph"
 	"github.com/gobuffalo/packr"
 	"github.com/golang/glog"
 	"github.com/q3k/statusz"
+	"vbom.ml/util/sortorder"
 )
 
 type ServiceConfig struct {
@@ -42,7 +44,7 @@
         var dot = this.responseText;
         viz.renderSVGElement(dot)
         .then(function(element) {
-          document.body.appendChild(element);
+          document.getElementById("graph").appendChild(element);
         });
       }
     };
@@ -50,6 +52,7 @@
     xmlhttp.send();
 
   </script>
+  <div id="graph" style="text-align: center;"></div>
 `
 
 func (s *Service) Run() {
@@ -62,6 +65,8 @@
 
 	http.HandleFunc("/debug/graphviz", func(w http.ResponseWriter, r *http.Request) {
 		fmt.Fprintf(w, "graph G {\n")
+		fmt.Fprintf(w, "  ranksep = 2\n")
+		fmt.Fprintf(w, "  splines = polyline\n")
 		fmt.Fprintf(w, "  rankdir = LR\n")
 		for _, machine := range s.gr.Machines {
 			portNames := []string{}
@@ -74,7 +79,14 @@
 		}
 		for _, sw := range s.gr.Switches {
 			portNames := []string{}
+			portsOrdered := []*graph.SwitchPort{}
 			for _, port := range sw.Ports {
+				portsOrdered = append(portsOrdered, port)
+			}
+			sort.Slice(portsOrdered, func(i, j int) bool {
+				return sortorder.NaturalLess(portsOrdered[i].Name, portsOrdered[j].Name)
+			})
+			for _, port := range portsOrdered {
 				name := fmt.Sprintf("<%s> %s", port.Name, port.Name)
 				portNames = append(portNames, name)
 			}
@@ -86,7 +98,7 @@
 				if port.OtherEnd == nil {
 					continue
 				}
-				fmt.Fprintf(w, "  %s:%q -- %s:%q\n", machine.Name, port.Name, port.OtherEnd.Switch.Name, port.OtherEnd.Name)
+				fmt.Fprintf(w, "  %s:%q:e -- %s:%q:w\n", machine.Name, port.Name, port.OtherEnd.Switch.Name, port.OtherEnd.Name)
 			}
 		}
 		fmt.Fprintf(w, "}\n")
