diff --git a/.example.env b/.example.env
new file mode 100644
index 0000000..f8f50fa
--- /dev/null
+++ b/.example.env
@@ -0,0 +1,3 @@
+WEBMENTION_API_KEY=
+WEBMENTION_URL=
+WEBMENTION_PINGBACK=#optional
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..fb4e13d
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2022 Chris Williams
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/public/497d5ecc8db072662fc9ddc7687235e1e8cfcd9e7253fae5a1d1e249d1d11ee7.txt b/public/497d5ecc8db072662fc9ddc7687235e1e8cfcd9e7253fae5a1d1e249d1d11ee7.txt
new file mode 100644
index 0000000..b3330cf
--- /dev/null
+++ b/public/497d5ecc8db072662fc9ddc7687235e1e8cfcd9e7253fae5a1d1e249d1d11ee7.txt
@@ -0,0 +1 @@
+497d5ecc8db072662fc9ddc7687235e1e8cfcd9e7253fae5a1d1e249d1d11ee7
\ No newline at end of file
diff --git a/public/avatar.png b/public/avatar.png
new file mode 100644
index 0000000..a1c2ac6
Binary files /dev/null and b/public/avatar.png differ
diff --git a/public/icon.svg b/public/icon.svg
new file mode 100644
index 0000000..b15b58e
--- /dev/null
+++ b/public/icon.svg
@@ -0,0 +1,936 @@
+
+
diff --git a/public/social-card.png b/public/social-card.png
new file mode 100644
index 0000000..e8b7b7c
Binary files /dev/null and b/public/social-card.png differ
diff --git a/src/env.d.ts b/src/env.d.ts
new file mode 100644
index 0000000..e1ef1df
--- /dev/null
+++ b/src/env.d.ts
@@ -0,0 +1,5 @@
+declare module "@pagefind/default-ui" {
+ declare class PagefindUI {
+ constructor(arg: unknown);
+ }
+}
diff --git a/src/layouts/Base.astro b/src/layouts/Base.astro
new file mode 100644
index 0000000..426b5bc
--- /dev/null
+++ b/src/layouts/Base.astro
@@ -0,0 +1,63 @@
+---
+import Analytics from "@vercel/analytics/astro";
+import BaseHead from "@/components/BaseHead.astro";
+import Footer from "@/components/layout/Footer.astro";
+import Header from "@/components/layout/Header.astro";
+import SkipLink from "@/components/SkipLink.astro";
+import ThemeProvider from "@/components/ThemeProvider.astro";
+import { siteConfig } from "@/site.config";
+import type { SiteMeta } from "@/types";
+
+interface Props {
+ meta: SiteMeta;
+}
+
+const {
+ meta: { articleDate, description = siteConfig.description, keywords, ogImage, schema, title },
+} = Astro.props;
+---
+
+
+