diff --git a/vizapp/server.R b/vizapp/server.R
new file mode 100644
index 0000000000000000000000000000000000000000..81017c8445db8d640af1798cc8160bdffe2ec789
--- /dev/null
+++ b/vizapp/server.R
@@ -0,0 +1,20 @@
+# This example implements a simple file browser for accessing results.
+
+library(shiny)
+library(shinyFiles)
+
+# Results are available in the directory specified by the outputDir environment
+# variable, red by Sys.getenv
+
+rootdir <- Sys.getenv('outputDir')
+
+
+shinyServer(function(input, output, session) {
+
+    # The backend for a simple file chooser, restricted to the
+    # rootdir we obtained above.
+    # See https://github.com/thomasp85/shinyFiles
+
+    shinyFileChoose(input, 'files', roots=c('workflow'=rootdir), filetypes=c('', 'bed', 'xls','wig'), session=session)
+
+})
diff --git a/vizapp/ui.R b/vizapp/ui.R
new file mode 100644
index 0000000000000000000000000000000000000000..79f4cc99131a5d5dcb3d0e4694650db178ed8c5c
--- /dev/null
+++ b/vizapp/ui.R
@@ -0,0 +1,30 @@
+library(shiny)
+library(shinyFiles)
+
+
+shinyUI(fluidPage(
+
+  verticalLayout(
+
+    # Application title
+    titlePanel("Astrocyte Example"),
+
+    wellPanel(
+
+        helpText("This is a minimal example, demonstrating how
+        a Shiny visualization application can access the output of a workflow.
+        Here we provide a file browser using the shinyFiles package. Real
+        Astrocyte vizapps would provide custom methods to access and visualize
+        output."),
+
+        helpText("The workflow output is in the directory set in the
+        outputDir environment variable. this can be retrieved in R with the
+        command Sys.getenv('outputDir')"),
+
+        # A simple file browser within the workflow output directory
+        # See https://github.com/thomasp85/shinyFiles
+        shinyFilesButton('files', label='Browse workflow output', title='Please select a file', multiple=FALSE)
+
+    )
+  )
+))