diff --git a/components/Meta.tsx b/components/Meta.tsx
index 47c1eb0..b569859 100644
--- a/components/Meta.tsx
+++ b/components/Meta.tsx
@@ -22,6 +22,7 @@ const Meta = (props: MetaProps) => {
{props.keywords && }
{props.author && }
{props.ogUrl && }
+
);
};
diff --git a/public/icons/144x144.png b/public/icons/144x144.png
new file mode 100644
index 0000000..281228c
Binary files /dev/null and b/public/icons/144x144.png differ
diff --git a/public/icons/256x256.png b/public/icons/256x256.png
new file mode 100644
index 0000000..ec80335
Binary files /dev/null and b/public/icons/256x256.png differ
diff --git a/public/icons/48x48.png b/public/icons/48x48.png
new file mode 100644
index 0000000..94b4950
Binary files /dev/null and b/public/icons/48x48.png differ
diff --git a/public/icons/512x512.png b/public/icons/512x512.png
new file mode 100644
index 0000000..5cbb6d6
Binary files /dev/null and b/public/icons/512x512.png differ
diff --git a/public/icons/96x96.png b/public/icons/96x96.png
new file mode 100644
index 0000000..339d099
Binary files /dev/null and b/public/icons/96x96.png differ
diff --git a/public/icons/icon.svg b/public/icons/icon.svg
new file mode 100644
index 0000000..62d6c20
--- /dev/null
+++ b/public/icons/icon.svg
@@ -0,0 +1,173 @@
+
diff --git a/public/manifest.json b/public/manifest.json
new file mode 100644
index 0000000..d03f2fe
--- /dev/null
+++ b/public/manifest.json
@@ -0,0 +1,50 @@
+{
+ "name": "Jam.dev Utilities",
+ "short_name": "DevUtilities",
+ "background_color": "#FFFFFF",
+ "categories": ["developer tools", "development", "utilities", "productivity"],
+ "description": "Jam exists to make developers lives easier. Here are fast, free, open source, ad-free tools.",
+ "display": "standalone",
+ "id": "/utilities",
+ "lang": "en",
+ "start_url": "/utilities",
+ "theme_color": "#ffffff",
+ "icons": [
+ {
+ "src": "icons/icon.svg",
+ "type": "image/svg+xml",
+ "sizes": "512x512",
+ "purpose": "any maskable"
+ },
+ {
+ "src": "icons/512x512.png",
+ "type": "image/png",
+ "sizes": "512x512",
+ "purpose": "any maskable"
+ },
+ {
+ "src": "icons/256x256.png",
+ "type": "image/png",
+ "sizes": "256x256",
+ "purpose": "any maskable"
+ },
+ {
+ "src": "icons/144x144.png",
+ "type": "image/png",
+ "sizes": "144x144",
+ "purpose": "any maskable"
+ },
+ {
+ "src": "icons/96x96.png",
+ "type": "image/png",
+ "sizes": "96x96",
+ "purpose": "any maskable"
+ },
+ {
+ "src": "icons/48x48.png",
+ "type": "image/png",
+ "sizes": "48x48",
+ "purpose": "any maskable"
+ }
+ ]
+}