diff --git a/howTo/shiny/example_leaflet_reactive.R b/howTo/shiny/example_leaflet_reactive.R
new file mode 100644
index 0000000000000000000000000000000000000000..2312acb5e335224a4eba35b36565d81e876ab092
--- /dev/null
+++ b/howTo/shiny/example_leaflet_reactive.R
@@ -0,0 +1,50 @@
+library(shiny)
+library(leaflet)
+library(sf)
+
+# NC counties - a shapefile shipped with the sf package
+shape <- sf::st_read(system.file("shape/nc.shp", 
+                                 package ="sf"),
+                     stringsAsFactors = F) 
+
+
+# Define UI 
+ui <- fluidPage(
+  
+  # Application title
+  titlePanel("Go Tar Heels!"),
+  
+  # Top panel with county name
+  verticalLayout(
+    
+    wellPanel(textOutput("cnty")),
+    
+    # the map itself
+    mainPanel(
+      leafletOutput("map")
+    )
+  )
+)
+
+# Define server logic 
+server <- function(input, output) {
+  
+  output$map <- renderLeaflet({
+    leaflet() %>% 
+      addProviderTiles("Stamen.Toner") %>% 
+      addPolygons(data = shape, 
+                  fillColor = "aliceblue", 
+                  color = "grey",
+                  layerId = ~CNTY_ID)
+  })
+  
+  # this is the fun part!!! :)
+  observe({ 
+    event <- input$map_shape_click
+    output$cnty <- renderText(shape$NAME[shape$CNTY_ID == event$id])
+    
+  })
+}
+
+# Run the application 
+shinyApp(ui = ui, server = server)
\ No newline at end of file