diff --git a/shell.nix b/shell.nix
index 08d1495110f787384d9273753a13cc58e3f879de..d67b7181bee5f156a67b10eb3f833d742acc8ca5 100644
--- a/shell.nix
+++ b/shell.nix
@@ -51,6 +51,14 @@ let
     purs compile "src/**/*.purs" \
       ${builtins.toString (builtins.map storePath (builtins.attrValues purs-packages))}
   '';
+
+  build = pkgs.writeShellScriptBin "build" ''
+    #!/usr/bin/env bash
+    echo "Compiling"
+    build-purs-from-store
+    echo "Bundling"
+    yarn pulp browserify --skip-compile -t dist/bundle.js --src-path output
+  '';
 in
 pkgs.mkShell {
   buildInputs = [
@@ -60,6 +68,7 @@ pkgs.mkShell {
     install-purs-packages
     build-purs
     build-purs-from-store
+    build
     pkgs.yarn
   ];
 }