diff --git a/manifest.dhall b/manifest.dhall
index f594b2b0a47ddf0bb52d9018dd9aedbe8c4661e6..60be5b604838aceb1048e45be6e4c7c812a50458 100644
--- a/manifest.dhall
+++ b/manifest.dhall
@@ -454,6 +454,11 @@ in  [ callHackage "Cabal" "3.8.1.0"
     , callHackage "vector-algorithms" "0.9.0.1"
     , callHackage "vinyl" "0.14.3"
     , callHackage "vty" "5.37"
+    , callCabal2nix
+        "wai-middleware-heartbeat"
+        "https://github.com/flora-pm/wai-middleware-heartbeat"
+        (Some "bd7dbbe83d25c00fcd2cf5c77736af904910c596")
+        (None Text)
     , callHackage "wai-middleware-static" "0.9.2"
     , callHackage "warp" "3.3.22"
     , callHackage "warp-tls" "3.3.3"
diff --git a/overlay.nix b/overlay.nix
index ad2fce00fbe9d2bd3bf1422cc44e24a3370ac558..61c657467b5b4c892b65d3f0e0ff608cbe70e897 100644
--- a/overlay.nix
+++ b/overlay.nix
@@ -565,6 +565,8 @@ final: prev: with pkgs.haskell.lib; {
 
     vty = prev.callPackage (./pkgs/vty.nix) { };
 
+    wai-middleware-heartbeat = prev.callPackage (./pkgs/wai-middleware-heartbeat.nix) { };
+
     wai-middleware-static = prev.callPackage (./pkgs/wai-middleware-static.nix) { };
 
     warp = prev.callPackage (./pkgs/warp.nix) { };
diff --git a/pkgs/wai-middleware-heartbeat.nix b/pkgs/wai-middleware-heartbeat.nix
new file mode 100644
index 0000000000000000000000000000000000000000..30e3d857254cfbb3737549f73ebe83a11d9d3c8c
--- /dev/null
+++ b/pkgs/wai-middleware-heartbeat.nix
@@ -0,0 +1,18 @@
+{ mkDerivation, base, fetchgit, http-types, lib, wai }:
+mkDerivation {
+  pname = "wai-middleware-heartbeat";
+  version = "0.0.1.0";
+  src = fetchgit {
+    url = "https://github.com/flora-pm/wai-middleware-heartbeat";
+    sha256 = "1s2flv2jhfnd4vdfg6rmvq7s852w1pypasdg0l6ih6raaqyqzybn";
+    rev = "bd7dbbe83d25c00fcd2cf5c77736af904910c596";
+    fetchSubmodules = true;
+  };
+  libraryHaskellDepends = [ base http-types wai ];
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  hyperlinkSource = false;
+  description = "Heartbeat middleware for the WAI ecosystem";
+  license = lib.licenses.mit;
+}
\ No newline at end of file