diff --git a/services/mgmt/profile/profiled/main.go b/services/mgmt/profile/profiled/main.go
new file mode 100644
index 0000000..0162f5f
--- /dev/null
+++ b/services/mgmt/profile/profiled/main.go
@@ -0,0 +1,48 @@
+package main
+
+import (
+	"flag"
+
+	"veyron/lib/signals"
+	"veyron/services/mgmt/profile/impl"
+
+	"veyron2/rt"
+	"veyron2/vlog"
+)
+
+func main() {
+	var storeName string
+	flag.StringVar(&storeName, "store", "", "veyron name of the profile manager store")
+	flag.Parse()
+	if storeName == "" {
+		vlog.Fatalf("Specify a store using --store=<name>")
+	}
+	runtime := rt.Init()
+	defer runtime.Shutdown()
+	server, err := runtime.NewServer()
+	if err != nil {
+		vlog.Fatalf("NewServer() failed: %v", err)
+	}
+	defer server.Stop()
+	dispatcher, err := impl.NewDispatcher(storeName)
+	if err != nil {
+		vlog.Fatalf("NewDispatcher() failed: %v", err)
+	}
+	suffix := ""
+	if err := server.Register(suffix, dispatcher); err != nil {
+		vlog.Fatalf("Register(%v, %v) failed: %v", suffix, dispatcher, err)
+	}
+	protocol, hostname := "tcp", "localhost:0"
+	endpoint, err := server.Listen(protocol, hostname)
+	if err != nil {
+		vlog.Fatalf("Listen(%v, %v) failed: %v", protocol, hostname, err)
+	}
+	name := ""
+	if err := server.Publish(name); err != nil {
+		vlog.Fatalf("Publish(%v) failed: %v", name, err)
+	}
+	vlog.VI(0).Infof("Profile manager published at %v/%v", endpoint, name)
+
+	// Wait until shutdown.
+	<-signals.ShutdownOnSignals()
+}
