diff --git a/app/Main.hs b/app/Main.hs
new file mode 100644
--- /dev/null
+++ b/app/Main.hs
@@ -0,0 +1,18 @@
+import Notify
+import Protolude
+import System.IO (getChar)
+
+main :: IO ()
+main = do
+  putText "Hello"
+  _state <-
+    watch
+      Config
+      {pathToWatch = "./", relevantExtensions = [".hs"], debounceInSecs = 0}
+      callback
+      putText
+  _ <- getChar
+  pure ()
+
+callback :: IO ()
+callback = putText "Callback"
diff --git a/hs-rs-notify.cabal b/hs-rs-notify.cabal
--- a/hs-rs-notify.cabal
+++ b/hs-rs-notify.cabal
@@ -1,5 +1,5 @@
 name:                hs-rs-notify
-version:             0.1.0.13
+version:             0.1.0.14
 synopsis:            Experimental! Wraps this awesome rust library so you can use it in haskell. https://docs.rs/crate/notify
 -- description:
 homepage:            https://github.com/NoRedInk/hs-rs-notify#readme
@@ -26,7 +26,18 @@
                      , process == 1.4.3.0
   default-language:    Haskell2010
   default-extensions:  OverloadedStrings, NoImplicitPrelude, NamedFieldPuns
+  extra-libraries:     notifier, pthread
   include-dirs:        notifier/target/release
+
+executable notify
+  hs-source-dirs:      app
+  main-is:             Main.hs
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
+  build-depends:       base
+                     , hs-rs-notify
+                     , protolude >= 0.1.6 && < 0.2
+  default-language:    Haskell2010
+  default-extensions:  OverloadedStrings, NoImplicitPrelude
 
 test-suite hs-rs-notify-test
   type:                exitcode-stdio-1.0
