--- /dev/null
+@startuml
+
+title Onscreenapp Startup Sequence
+
+entity Systemd
+entity HomeScreen_Service
+entity Onscreenapp
+entity WindowManager as WM
+
+== System StartUp ==
+
+Systemd->Onscreenapp: start
+
+group WindowManger Initilize
+Onscreenapp->WM: init(port, token)
+Onscreenapp->WM: requestSurface("on_screen.app")
+rnote over WM
+WM process
+end rnote
+Onscreenapp<--WM: return SurfaceID
+Onscreenapp->WM: subscribe Event_SyncDraw
+Onscreenapp->WM: subscribe Event_Visible
+Onscreenapp->WM: subscribe Event_Invisible
+end
+
+group HomeScreen_Service Initilize
+Onscreenapp->HomeScreen_Service: init(port, token)
+Onscreenapp->HomeScreen_Service: subscribe showWindow Event
+Onscreenapp->HomeScreen_Service: subscribe hideWindow Event
+Onscreenapp->Onscreenapp: qmlLoad()
+end
+
+@enduml
\ No newline at end of file