diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml
index 89c7b14c47..3ec743768c 100644
--- a/app/views/layouts/application.html.haml
+++ b/app/views/layouts/application.html.haml
@@ -5,6 +5,11 @@
%meta{:name => 'viewport', :content => 'width=device-width, initial-scale=1'}/
%meta{'http-equiv' => 'X-UA-Compatible', :content => 'IE=edge'}/
+ %link{:rel => "apple-touch-icon", :sizes => "180x180", :href => "/assets/apple-touch-icon.png"}/
+ %link{:rel => "manifest", :href => "/assets/manifest.json"}/
+ %meta{:name => "msapplication-config", :content => "/assets/browserconfig.xml"}/
+ %meta{:name => "theme-color", :content => "#ffffff"}/
+
%title
= "#{yield(:page_title)} - " if content_for?(:page_title)
Mastodon
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000000..f059bbc46f
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000000..c1a1913024
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/browserconfig.xml b/public/browserconfig.xml
new file mode 100644
index 0000000000..77318233c5
--- /dev/null
+++ b/public/browserconfig.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+ #2b5797
+
+
+
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100644
index 0000000000..173270f036
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,14 @@
+{
+ "name": "Mastodon",
+ "description": "Mastodon is a free, open-source social network server.",
+ "icons": [
+ {
+ "src": "\/assets\/android-chrome-192x192.png",
+ "sizes": "192x192",
+ "type": "image\/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "display": "standalone",
+ "start_url": "/#/statuses/home"
+}
diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png
new file mode 100644
index 0000000000..57eae8355d
Binary files /dev/null and b/public/mstile-150x150.png differ