diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b15f11e73bbec345a297d73ccce892f2616e9745..7afed937dac8bf6c00950dab29a2b5fa2fdd6998 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -24,3 +24,37 @@ docker-build:
     - if: $CI_COMMIT_BRANCH
       exists:
         - Dockerfile
+
+pages-build:node:
+  image: node:lts-alpine
+  stage: build
+  script:
+    - mkdir public/js
+    - mkdir public/css
+    - yarn install
+    - yarn compile
+  artifacts:
+    paths:
+      - public/
+
+pages-build:php:
+  image: composer:2
+  stage: build
+  script:
+    - cd public/API
+    - composer install
+  artifacts:
+    paths:
+      - public/
+
+pages:
+  image: busybox
+  stage: deploy
+  script:
+    - echo "Nothing to do"
+  dependencies:
+    - pages-build:node
+    - pages-build:php
+  artifacts:
+    paths:
+      - public
diff --git a/js/externalLinkHandler.js b/js/externalLinkHandler.js
index 8390b0c63da27d22219cc8af0192701cb674f4a7..36a774572b28ea5af08106f301d37dd56282dcfb 100644
--- a/js/externalLinkHandler.js
+++ b/js/externalLinkHandler.js
@@ -2,7 +2,6 @@ document.onreadystatechange = function () {
      document.querySelectorAll("a").forEach((element) => {
          let href = element.href;
          if(href.indexOf(location.hostname) === -1){
-             console.log(href);
              element.target = "_blank";
          }
      });
diff --git a/js/loader.js b/js/loader.js
deleted file mode 100644
index abe830b83aa6d72df114ce163bb9ea16ec14ea63..0000000000000000000000000000000000000000
--- a/js/loader.js
+++ /dev/null
@@ -1,19 +0,0 @@
-let div = document.createElement("div");
-div.className = "loader";
-div.innerHTML = `<div class="loader-dots">
-  <div class="dots"></div>
-  <div class="dots"></div>
-  <div class="dots"></div>
-  <div class="dots"></div>
-  <div class="dots"></div>
-</div>`;
-
-document.body.classList.add("stop-scrolling");
-document.body.appendChild(div);
-
-document.addEventListener('readystatechange', event => {
-    if (event.target.readyState === "complete") {
-        document.querySelector(".loader").style.display = "none";
-        document.body.classList.remove("stop-scrolling");
-    }
-});
\ No newline at end of file
diff --git a/js/script.js b/js/script.js
index e7b85a3a421fe5c7eeb8a620e162d7b0e9434132..41c2a82eba0cadd75e8717a7d7b6ea3bca2fdd8b 100644
--- a/js/script.js
+++ b/js/script.js
@@ -1,4 +1,3 @@
-require("./loader");
 require("./browserCheck");
 
 require("./error");
diff --git a/package.json b/package.json
index 4c9b2ff236c62bb35374e588d69bdf72a15f71b3..e744d50a61bdeea9a9365a39d71919ade2a8802b 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
     "compile": "concurrently \"yarn css\" \"yarn js\"",
     "css": "sass scss/:public/css --style=compressed --no-source-map",
     "js": "webpack --config ./webpack.conf.js",
-    "watch": "concurrently \"sass --watch --style compressed scss/:public/css\" \"cd public && php -S locaLhost:1234\" \"webpack --config ./webpack.conf.js --mode development --watch\""
+    "watch": "concurrently \"sass --watch --style compressed scss/:public/css\" \"cd public && php -S localhost:1234\" \"webpack --config ./webpack.conf.js --mode development --watch\""
   },
   "devDependencies": {
     "concurrently": "^6.0.0",
diff --git a/public/index.html b/public/index.html
index 5ccc25d4e9831dd68cef8716f454cbfbb7e15cf2..f66f61acc88de26e4549abbdae38bd91e74ff0b1 100644
--- a/public/index.html
+++ b/public/index.html
@@ -30,6 +30,10 @@
             <a href="https://www.abuseipdb.com/user/45130" target="_blank"><img class="abuseIpImg no-corner"
                                                                                 data-noPreview="true"
                                                                                 src="https://www.abuseipdb.com/contributor/45130.svg"></a>
+            <a href="https://status.jonasled.de">
+                <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jonasled/status/master/api/website/uptime.json">
+                <img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/jonasled/status/master/api/website/response-time.json">
+            </a>
         </div>
         <br>
         <br>
diff --git a/scss/_loader.scss b/scss/_loader.scss
deleted file mode 100644
index 95538f13982b6e6ac737aee1e8069c5b5ed4d615..0000000000000000000000000000000000000000
--- a/scss/_loader.scss
+++ /dev/null
@@ -1,66 +0,0 @@
-.loader {
-  width: 100%;
-  height: 100%;
-  position: absolute;
-  top: 0;
-  left: 0;
-  transition: visibility 0s, opacity 0.5s linear;
-  background-color: $back-color;
-
-  .loader-dots {
-    position: absolute;
-    top: 50%;
-    left: 50%;
-
-    .dots {
-      position: absolute;
-      padding: 10px;
-      border-radius: 50%;
-      background: $accent-color;
-      -webkit-animation: loader 1s ease-in-out 0s infinite;
-      animation: loader 1s ease-in-out 0s infinite;
-
-      &:nth-child(1) {
-        -webkit-animation-delay: 0s;
-        animation-delay: 0s;
-      }
-
-      &:nth-child(2) {
-        -webkit-animation-delay: 0.15s;
-        animation-delay: 0.15s;
-      }
-
-      &:nth-child(3) {
-        -webkit-animation-delay: 0.30s;
-        animation-delay: 0.30s;
-      }
-
-      &:nth-child(4) {
-        -webkit-animation-delay: 0.45s;
-        animation-delay: 0.45s;
-      }
-    }
-
-  }
-}
-
-@keyframes loader {
-  0% {
-    -webkit-transform: translateX(-100px);
-    transform: translateX(-100px);
-    opacity: 0;
-  }
-  50% {
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: translateX(100px);
-    transform: translateX(100px);
-    opacity: 0;
-  }
-}
-
-.stop-scrolling {
-  height: 100%;
-  overflow: hidden;
-}
\ No newline at end of file
diff --git a/scss/style.scss b/scss/style.scss
index 93e66f266375eb2b27c43b570ad507456be316c6..8b8fe920c200b01595918dff4f913d5f2dd189dd 100644
--- a/scss/style.scss
+++ b/scss/style.scss
@@ -1,6 +1,5 @@
 @import "var";
 @import "colorMixer";
-@import "loader";
 @import "general";
 @import "menue";
 @import "normalize";