diff --git a/deploy.sh b/deploy.sh
new file mode 100755
index 0000000..ee4fcaa
--- /dev/null
+++ b/deploy.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+pnpm build
+rsync -Pavz -e "ssh -i ~/.ssh/id_ed25519" ./dist/ 70.34.244.173:/var/www/kamoshi.org --delete
+echo "Done"
diff --git a/src/components/cards/Contact.astro b/src/components/cards/Contact.astro
new file mode 100644
index 0000000..4aeddab
--- /dev/null
+++ b/src/components/cards/Contact.astro
@@ -0,0 +1,17 @@
+---
+const email = "maciej@kamoshi.org";
+const discord = "kamov#2485";
+---
+
diff --git a/src/components/cards/Notice.astro b/src/components/cards/Notice.astro
new file mode 100644
index 0000000..af3f6e8
--- /dev/null
+++ b/src/components/cards/Notice.astro
@@ -0,0 +1,14 @@
+---
+const notice = {
+ header: "Website ported to Astro 2!",
+ content: [
+ "Third time's a charm, so hopefully this time it will last longer. So far Astro looks really cool. There's still a lot of work to do, to make this version reach the same level of usability as before."
+ ]
+};
+---
+
+
+ {notice.content.map(item => (
+ {item}
+ ))}
+
diff --git a/src/components/cards/Photo.astro b/src/components/cards/Photo.astro
new file mode 100644
index 0000000..ae86a96
--- /dev/null
+++ b/src/components/cards/Photo.astro
@@ -0,0 +1,10 @@
+---
+const image = "/static/iotm/20221016-170316_1.jpg";
+const alt = "A building covered by multicolor Ivy.";
+---
+
diff --git a/src/components/search/Search.svelte b/src/components/search/Search.svelte
index c11caf6..df23025 100644
--- a/src/components/search/Search.svelte
+++ b/src/components/search/Search.svelte
@@ -1,4 +1,5 @@