diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fc5a4d0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+_site
+.sass-cache
+.jekyll-cache
+.jekyll-metadata
+vendor
+*.sketch
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..3b5134d
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,5 @@
+source "https://rubygems.org"
+
+gem "jekyll", "~> 4.2.2"
+
+gem "webrick", "~> 1.8"
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..fe082dc
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,69 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.8.7)
+ public_suffix (>= 2.0.2, < 7.0)
+ colorator (1.1.0)
+ concurrent-ruby (1.3.5)
+ em-websocket (0.5.3)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0)
+ eventmachine (1.2.7-x86-mingw32)
+ ffi (1.17.2-x86-mingw32)
+ forwardable-extended (2.6.0)
+ http_parser.rb (0.8.0)
+ i18n (1.14.7)
+ concurrent-ruby (~> 1.0)
+ jekyll (4.2.2)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ em-websocket (~> 0.5)
+ i18n (~> 1.0)
+ jekyll-sass-converter (~> 2.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 2.3)
+ kramdown-parser-gfm (~> 1.0)
+ liquid (~> 4.0)
+ mercenary (~> 0.4.0)
+ pathutil (~> 0.9)
+ rouge (~> 3.0)
+ safe_yaml (~> 1.0)
+ terminal-table (~> 2.0)
+ jekyll-sass-converter (2.2.0)
+ sassc (> 2.0.1, < 3.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ kramdown (2.5.1)
+ rexml (>= 3.3.9)
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.4)
+ listen (3.9.0)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
+ mercenary (0.4.0)
+ pathutil (0.16.2)
+ forwardable-extended (~> 2.6)
+ public_suffix (6.0.2)
+ rb-fsevent (0.11.2)
+ rb-inotify (0.11.1)
+ ffi (~> 1.0)
+ rexml (3.4.1)
+ rouge (3.30.0)
+ safe_yaml (1.0.5)
+ sassc (2.4.0)
+ ffi (~> 1.9)
+ terminal-table (2.0.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ unicode-display_width (1.8.0)
+ webrick (1.9.1)
+
+PLATFORMS
+ x86-mingw32
+
+DEPENDENCIES
+ jekyll (~> 4.2.2)
+ webrick (~> 1.8)
+
+BUNDLED WITH
+ 2.3.26
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..118a1d7
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,14 @@
+title: Tilde Shroom Growth
+url: https://tilde.32bit.cafe/~rodrick/
+git_repo_url: https://git.32bit.cafe/RodFire8181/tilde
+language: en-us
+
+## ## ## ##
+include : ["_pages", "_events"]
+collections :
+ pages :
+ output: true
+ permalink: /:path.html
+ events :
+ output: true
+ permalink: /events/:path.html
diff --git a/_events/new_year_2026.md b/_events/new_year_2026.md
new file mode 100644
index 0000000..d308143
--- /dev/null
+++ b/_events/new_year_2026.md
@@ -0,0 +1,9 @@
+---
+layout: base
+title: New Year, New You?
+subtitle: Burst From Your Cocoon!
+style: ny-26
+started: false
+---
+
+to be announced
diff --git a/_layouts/base.html b/_layouts/base.html
new file mode 100644
index 0000000..2f6d745
--- /dev/null
+++ b/_layouts/base.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+ {{ page.title }}
+
+
+ {{ content }}
+
+
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..cf6a96c
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,12 @@
+---
+layout: base
+---
+
+
+
+
+ {{ content }}
+
+
diff --git a/_layouts/event.html b/_layouts/event.html
new file mode 100644
index 0000000..2a53d05
--- /dev/null
+++ b/_layouts/event.html
@@ -0,0 +1,15 @@
+---
+layout: base
+---
+
+
+
+ {{ page.title }}
+ {{ page.subtitle }}
+
+
+
+
+ {{ content }}
+
+
diff --git a/_pages/index.md b/_pages/index.md
new file mode 100644
index 0000000..41fede8
--- /dev/null
+++ b/_pages/index.md
@@ -0,0 +1,24 @@
+---
+layout: default
+title: ~rodrick
+style: default
+extra: saved-theme="dark"
+---
+
+Hewwo! I'm [Rodrick](https://shroom.ink)!
+I'm an artist, game dev, and web dev.
+
+I'm *also* a 32-Bit Cafe [event planner](https://32bit.cafe/community/).
+
+Events:
+{% assign not_ready = 0 %}
+{% for event in site.events %}
+{% if event.started %}
+- [{{ event.title }}]({{ event.url }})
+{% else %}
+{% assign not_ready = not_ready | plus: 1 %}
+{% endif %}
+{% endfor %}
+{% unless not_ready == 0 %}
+- {{ not_ready }} being planned.
+{% endunless %}
diff --git a/favicon.ico b/favicon.ico
new file mode 100644
index 0000000..4a3ed91
Binary files /dev/null and b/favicon.ico differ
diff --git a/src/css/default.css b/src/css/default.css
new file mode 100644
index 0000000..6a8bf05
--- /dev/null
+++ b/src/css/default.css
@@ -0,0 +1,34 @@
+
+@media only screen and (max-width: 800px) {
+ .default .page {
+ width: 90%;
+ }
+}
+
+.default {
+ color: var(--color);
+ font-family: var(--font);
+ background: var(--bg-image) var(--bg-color);
+ background-attachment: fixed;
+ background-size: 70%;
+ background-repeat: repeat;
+ font-size: var(--font-size);
+
+ .page {
+ background: var(--back);
+ width: 70%;
+ margin: 1em auto;
+ padding: 1em;
+ }
+
+ header h1 {
+ margin: 0;
+ padding: 0;
+ }
+
+ a {
+ color: var(--accent);
+ font-family: var(--font-alt2);
+ &:hover { color: var(--font); }
+ }
+}
diff --git a/src/css/main.css b/src/css/main.css
new file mode 100644
index 0000000..9951a1c
--- /dev/null
+++ b/src/css/main.css
@@ -0,0 +1,17 @@
+
+/* Default */
+@import "root.css";
+@import "default.css";
+
+body, html {
+ margin: 0;
+ padding: 0;
+}
+
+h1 { color: var(--head-1); }
+h2 { color: var(--head-2); }
+h3 { color: var(--head-3); }
+h4 { color: var(--head-4); }
+h5 { color: var(--head-5); }
+h6 { color: var(--head-6); }
+h1, h2, h3, h4, h5, h6 { font-family: var(--font-alt); }
diff --git a/src/css/root.css b/src/css/root.css
new file mode 100644
index 0000000..9e8792d
--- /dev/null
+++ b/src/css/root.css
@@ -0,0 +1,62 @@
+/*
+
+ Let's define some variables!
+
+*/
+
+@font-face {
+ font-family: 'Averia Libre';
+ src: local('Averia Libre'),
+ url("../fonts/AveriaLibre-Regular.ttf") format("truetype");
+}
+
+@font-face {
+ font-family: 'Zara';
+ src: local('Zara'),
+ url("../fonts/Zara-Regular.woff") format("woff");
+}
+
+@font-face {
+ font-family: 'Crédible';
+ src: local('Crédible'),
+ url("../fonts/Crédible-Regular.woff") format("woff");
+}
+
+:root {
+ /* Unchanging */
+ --font : 'Averia Libre', sans-serif; /* Verdana, sans-serif */
+ --font-alt : 'Crédible', serif, cursive;
+ --font-alt2 : 'Zara', serif;
+ --bg-image : url("../img/bg_2.webp");
+ --font-size : calc(1rem + (1vw / 5));
+
+ /* -- Colors -- */
+ --bg-color : #2f1b2b; /* #2f1b2b */
+ --color : #1f161d;
+ --back : #E1EAE9; /* #CCEDCD */
+ --accent : #132B06;
+
+ /* Headings */
+ --head-1 : #003959;
+ --head-2 : #004754;
+ --head-3 : #004C4E;
+ --head-4 : #005237;
+ --head-5 : #004E47;
+ --head-6 : #0E4E00;
+}
+
+[saved-theme="dark"] {
+ /* -- Colors -- */
+ --bg-color : var(--head-2);
+ --color : #D2DFCA;
+ --back : #0A0809; /* #1f161d #1E0C08 */
+ --accent : #DBFFC5;
+
+ /* Headings */
+ --head-1 : #B6E1F7;
+ --head-2 : #ADB6DA;
+ --head-3 : #85B4C2;
+ --head-4 : #7CC2C0;
+ --head-5 : #7DD29F;
+ --head-6 : #85E3A2;
+}
diff --git a/src/fonts/AveriaLibre-Regular.ttf b/src/fonts/AveriaLibre-Regular.ttf
new file mode 100644
index 0000000..00675a7
Binary files /dev/null and b/src/fonts/AveriaLibre-Regular.ttf differ
diff --git a/src/fonts/Crédible-Regular.woff b/src/fonts/Crédible-Regular.woff
new file mode 100644
index 0000000..584e66e
Binary files /dev/null and b/src/fonts/Crédible-Regular.woff differ
diff --git a/src/fonts/Zara-Regular.woff b/src/fonts/Zara-Regular.woff
new file mode 100644
index 0000000..3fbd293
Binary files /dev/null and b/src/fonts/Zara-Regular.woff differ
diff --git a/src/img/bg_2.webp b/src/img/bg_2.webp
new file mode 100644
index 0000000..eda5f39
Binary files /dev/null and b/src/img/bg_2.webp differ