diff --git a/server/assets/android-chrome-192x192.png b/server/assets/android-chrome-192x192.png
new file mode 100644
index 00000000..ff7a4ebb
Binary files /dev/null and b/server/assets/android-chrome-192x192.png differ
diff --git a/server/assets/android-chrome-512x512.png b/server/assets/android-chrome-512x512.png
new file mode 100644
index 00000000..f340805a
Binary files /dev/null and b/server/assets/android-chrome-512x512.png differ
diff --git a/server/assets/apple-touch-icon.png b/server/assets/apple-touch-icon.png
new file mode 100644
index 00000000..814f25e5
Binary files /dev/null and b/server/assets/apple-touch-icon.png differ
diff --git a/server/assets/browserconfig.xml b/server/assets/browserconfig.xml
new file mode 100644
index 00000000..f80e21aa
--- /dev/null
+++ b/server/assets/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #0e2337
+
+
+
diff --git a/server/assets/favicon-16x16.png b/server/assets/favicon-16x16.png
new file mode 100644
index 00000000..8c5148a4
Binary files /dev/null and b/server/assets/favicon-16x16.png differ
diff --git a/server/assets/favicon-32x32.png b/server/assets/favicon-32x32.png
new file mode 100644
index 00000000..4f629c30
Binary files /dev/null and b/server/assets/favicon-32x32.png differ
diff --git a/server/assets/favicon.ico b/server/assets/favicon.ico
new file mode 100644
index 00000000..53a077a7
Binary files /dev/null and b/server/assets/favicon.ico differ
diff --git a/server/assets/manifest.json b/server/assets/manifest.json
new file mode 100644
index 00000000..4fbe1818
--- /dev/null
+++ b/server/assets/manifest.json
@@ -0,0 +1,18 @@
+{
+ "name": "",
+ "icons": [
+ {
+ "src": "/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "/android-chrome-512x512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
\ No newline at end of file
diff --git a/server/assets/mstile-144x144.png b/server/assets/mstile-144x144.png
new file mode 100644
index 00000000..fe7a7c2a
Binary files /dev/null and b/server/assets/mstile-144x144.png differ
diff --git a/server/assets/mstile-150x150.png b/server/assets/mstile-150x150.png
new file mode 100644
index 00000000..fec5de2c
Binary files /dev/null and b/server/assets/mstile-150x150.png differ
diff --git a/server/assets/mstile-310x150.png b/server/assets/mstile-310x150.png
new file mode 100644
index 00000000..79c406cb
Binary files /dev/null and b/server/assets/mstile-310x150.png differ
diff --git a/server/assets/mstile-310x310.png b/server/assets/mstile-310x310.png
new file mode 100644
index 00000000..373bc406
Binary files /dev/null and b/server/assets/mstile-310x310.png differ
diff --git a/server/assets/mstile-70x70.png b/server/assets/mstile-70x70.png
new file mode 100644
index 00000000..069493a0
Binary files /dev/null and b/server/assets/mstile-70x70.png differ
diff --git a/server/assets/safari-pinned-tab.svg b/server/assets/safari-pinned-tab.svg
new file mode 100644
index 00000000..ff6365f4
--- /dev/null
+++ b/server/assets/safari-pinned-tab.svg
@@ -0,0 +1,20 @@
+
+
diff --git a/server/views/layout.pug b/server/views/layout.pug
index 5b214301..a8f0e9fe 100644
--- a/server/views/layout.pug
+++ b/server/views/layout.pug
@@ -2,6 +2,12 @@ doctype html
html
head
title= title
+ link(rel="apple-touch-icon", sizes="180x180", href="./apple-touch-icon.png")
+ link(rel="icon", type="image/png", sizes="32x32", href="./favicon-32x32.png")
+ link(rel="icon", type="image/png", sizes="16x16", href="./favicon-16x16.png")
+ link(rel="manifest", href="./manifest.json")
+ link(rel="mask-icon", href="./safari-pinned-tab.svg", color="#0e2337")
+ meta(name="theme-color", content="#ffffff")
link(rel='stylesheet' href='./style.css')
script.
window.floodConfig = {baseURI: '!{baseURI}', maxHistoryStates: !{maxHistoryStates}, pollInterval: !{pollInterval}};