diff --git a/assets/css/_bs-colors.scss b/assets/css/_bs-colors.scss
index 2cdd6bd..7679571 100644
--- a/assets/css/_bs-colors.scss
+++ b/assets/css/_bs-colors.scss
@@ -1,9 +1,22 @@
 // Colors
-// $primary: #662c91;
-// $secondary: #ee6c4d;
-// $success: #3f784c;
-// $info: #3f84e5;
-// $warning: #ffec51;
+$primary: #e48663;
+$secondary: #00b0b0;
+$success: #99c24d;
+$info: #a67db8;
+$warning: #f4d35e;
+
+$white: #fff;
+$gray-100: #e8e8e8;
+$gray-200: #cfcfcf;
+$gray-300: #b5b5b5;
+$gray-400: #9c9c9c;
+$gray-500: #828282;
+$gray-600: #696969;
+$gray-700: #4f4f4f;
+$gray-800: #363636;
+$gray-900: #242424;
+$black: #000;
+
 $light: $gray-200;
 $dark: $gray-800;
 
@@ -17,7 +30,8 @@ $custom-colors: (
   "danger": $danger,
   "light": $light,
   "dark": $dark,
-  "gray": $gray-500,
+  "gray": $gray-600,
+  "gray-dark": $gray-800,
 );
 
 // $custom-colors: (
diff --git a/assets/css/_bs-load.scss b/assets/css/_bs-load.scss
index 76db7d3..78984f6 100644
--- a/assets/css/_bs-load.scss
+++ b/assets/css/_bs-load.scss
@@ -27,7 +27,7 @@
 // @import "../node_modules/bootstrap/scss/button-group";
 @import "../node_modules/bootstrap/scss/nav";
 @import "../node_modules/bootstrap/scss/navbar";
-@import "../node_modules/bootstrap/scss/card";
+// @import "../node_modules/bootstrap/scss/card";
 // @import "../node_modules/bootstrap/scss/accordion";
 // @import "../node_modules/bootstrap/scss/breadcrumb";
 // @import "../node_modules/bootstrap/scss/pagination";
diff --git a/assets/css/_fonts.scss b/assets/css/_fonts.scss
index 26fdbdf..ff553bf 100644
--- a/assets/css/_fonts.scss
+++ b/assets/css/_fonts.scss
@@ -16,7 +16,7 @@
 /* Fontsource Fira Mono */
 @import "../node_modules/@fontsource/fira-mono/400.css"; /* normal | normal */
 // @import "../node_modules/@fontsource/fira-mono/500.css"; /* heavier normal? */
-@import "../node_modules/@fontsource/fira-mono/700.css"; /* bold | normal */
+// @import "../node_modules/@fontsource/fira-mono/700.css"; /* bold | normal */
 
 /* Fontsource Fira Code */
 @import "../node_modules/@fontsource/fira-code/300.css"; /* light | normal */
diff --git a/assets/css/_nav-bar-help.scss b/assets/css/_nav-bar-help.scss
new file mode 100644
index 0000000..8343560
--- /dev/null
+++ b/assets/css/_nav-bar-help.scss
@@ -0,0 +1,45 @@
+.navbar-expand-lg {
+  .nav-item {
+    margin-left: 2px;
+    .nav-link {
+      padding: 0 0 0 6px;
+      margin: 8px 0 8px 0;
+      border-left: 6px transparent solid;
+      &.active {
+        border-left: 6px $secondary solid;
+      }
+    }
+    &:hover {
+      .nav-link {
+        color: $primary !important;
+        border-left: 6px $secondary solid;
+      }
+    }
+  }
+}
+
+@include media-breakpoint-up(lg) {
+  .navbar-expand-lg {
+    .nav-item {
+      margin-left: 0;
+      .nav-link {
+        padding: 0 0 6px 0;
+        margin: 0 12px 0 12px;
+        border-left: 0;
+        border-top: 6px transparent solid;
+        border-bottom: 6px transparent solid;
+        &.active {
+          border-left: 0;
+          border-bottom: 6px $secondary solid;
+        }
+      }
+      &:hover {
+        .nav-link {
+          color: $primary !important;
+          border-left: 0;
+          border-bottom: 6px $secondary solid;
+        }
+      }
+    }
+  }
+}
diff --git a/assets/css/app.scss b/assets/css/app.scss
index 05c1f4a..8ef090f 100644
--- a/assets/css/app.scss
+++ b/assets/css/app.scss
@@ -13,6 +13,64 @@
 /* Navbar toggler icon override */
 @import "nav-burger";
 
+/* Navbar custom styling */
+@import "nav-bar-help";
+
+/* main */
+html,
+body {
+  color: $gray-100;
+  background-color: $gray-800;
+  height: 100%;
+}
+.border-gray-900 {
+  border-color: $gray-900 !important;
+}
+.text-gray-300 {
+  color: $gray-300;
+}
+.border-10 {
+  border-width: 10px !important;
+}
+.border-20 {
+  border-width: 20px !important;
+}
+.fw-600 {
+  font-weight: 600;
+}
+
+/* social icons */
+#social-icons .link-light:hover {
+  color: $primary;
+}
+
+/* resume separators */
+.separator {
+  display: flex;
+  align-items: center;
+  text-align: center;
+  color: $gray-300;
+  font-family: $font-family-monospace;
+  font-size: smaller;
+  text-transform: uppercase;
+  font-weight: 600;
+}
+
+.separator::before,
+.separator::after {
+  content: "";
+  flex: 1;
+  border-bottom: 1px solid $secondary;
+}
+
+.separator:not(:empty)::before {
+  margin-right: 0.5em;
+}
+
+.separator:not(:empty)::after {
+  margin-left: 0.33em;
+}
+
 /* extra */
 .was-validated .no-valid-style .form-check-input:valid,
 .form-check-input.is-valid {
diff --git a/assets/js/app.js b/assets/js/app.js
index af556c9..5bbfc63 100644
--- a/assets/js/app.js
+++ b/assets/js/app.js
@@ -7,6 +7,24 @@ import "../css/app.scss";
 // navbar brand icon
 import "../node_modules/@mdi/svg/svg/desktop-classic.svg"; // brand
 // other:///
+import "../node_modules/@mdi/svg/svg/home.svg";
+import "../node_modules/@mdi/svg/svg/account.svg";
+import "../node_modules/@mdi/svg/svg/briefcase-account.svg";
+import "../node_modules/@mdi/svg/svg/zip-disk.svg";
+import "../node_modules/@mdi/svg/svg/typewriter.svg";
+import "../node_modules/@mdi/svg/svg/rss.svg";
+import "../node_modules/@mdi/svg/svg/account-hard-hat.svg";
+// social
+import "../node_modules/@mdi/svg/svg/linkedin.svg";
+import "../node_modules/@mdi/svg/svg/github.svg";
+import "../node_modules/@mdi/svg/svg/key-variant.svg";
+import "../raw/gitea.svg";
+import "../node_modules/@mdi/svg/svg/goodreads.svg";
+import "../node_modules/@mdi/svg/svg/twitter.svg";
+import "../node_modules/@mdi/svg/svg/facebook.svg";
+import "../node_modules/@mdi/svg/svg/instagram.svg";
+import "../node_modules/@mdi/svg/svg/steam.svg";
+import "../node_modules/@mdi/svg/svg/discord.svg";
 
 // webpack automatically bundles all modules in your
 // entry points. Those entry points can be configured
@@ -23,6 +41,7 @@ import topbar from "topbar";
 import { LiveSocket } from "phoenix_live_view";
 
 // // Bootstrap v5 js imports
+// import "bootstrap/js/dist/alert";
 import "bootstrap/js/dist/collapse";
 // import "bootstrap/js/dist/dropdown";
 // Bootstrap helpers
diff --git a/assets/raw/cat-roof.jpg b/assets/raw/cat-roof.jpg
new file mode 100644
index 0000000..f742285
Binary files /dev/null and b/assets/raw/cat-roof.jpg differ
diff --git a/assets/raw/gitea.svg b/assets/raw/gitea.svg
new file mode 100644
index 0000000..0ad0016
--- /dev/null
+++ b/assets/raw/gitea.svg
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1"
+	 id="svg8" inkscape:export-filename="" inkscape:export-xdpi="48.000004" inkscape:export-ydpi="48.000004" inkscape:version="0.92.1 r15371" sodipodi:docname="logo.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512"
+	 style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+	.st1{fill:none;stroke:#000000;stroke-width:2.68;}
+</style>
+<sodipodi:namedview  bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer2" inkscape:cx="418.13805" inkscape:cy="177.57445" inkscape:document-units="mm" inkscape:measure-end="290.267,236.527" inkscape:measure-start="283.373,243.952" inkscape:pagecheckerboard="false" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1137" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="1912" inkscape:window-y="-8" inkscape:zoom="0.70710678" pagecolor="#ffffff" showgrid="false" showguides="false" units="px" width="256px">
+	<sodipodi:guide  id="guide3699" inkscape:locked="false" orientation="0,512" position="0,0"></sodipodi:guide>
+	<sodipodi:guide  id="guide3701" inkscape:locked="false" orientation="-512,0" position="135.46667,0"></sodipodi:guide>
+	<sodipodi:guide  id="guide3703" inkscape:locked="false" orientation="0,-512" position="135.46667,135.46667"></sodipodi:guide>
+	<sodipodi:guide  id="guide3705" inkscape:locked="false" orientation="512,0" position="0,135.46667"></sodipodi:guide>
+</sodipodi:namedview>
+<g id="layer2" inkscape:groupmode="layer" inkscape:label="Layer 2">
+	<path id="rect4599" class="st0" d="M258.2,225.4c5-10.3,17.4-14.6,27.7-9.6"/>
+	<g>
+		<path d="M476.3,129c-77.3,4.1-123.1,6.2-162.4,6.5v87.4l-12.3-6.1l-0.1-81.3c-45.1,0-84.8-2.4-160.1-6.5
+			c-9.4-0.1-22.6-1.9-36.7-1.9C68.6,127,20.3,152.8,23,217.4c4.2,101,96.2,110.4,133,111.2c4,18.9,47.3,84.3,79.4,87.7h140.4
+			C460,410.1,523,130,476.3,129z M58.1,218.9c-3.6-28,9-57.3,56.1-56.1c5.1,51.8,13.4,82,30.3,128.3
+			C101.4,285.4,64.8,271.4,58.1,218.9z M376.4,282.8l-39.3,80.9c-5,10.3-17.4,14.6-27.7,9.6L228.5,334c-10.3-5-14.6-17.4-9.6-27.7
+			l39.3-80.9l27.7-9.6l80.9,39.3C377.1,260.1,381.4,272.5,376.4,282.8z"/>
+	</g>
+	<path id="path4525" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st0" d="M301.5,135.5l0.1,81.3"/>
+</g>
+<g id="layer3" inkscape:groupmode="layer" inkscape:label="Layer 3">
+	<g id="g4539">
+		<circle id="path4606" cx="289.8" cy="257.5" r="13.1"/>
+		<circle id="path4606-3" cx="261.6" cy="316" r="13.1"/>
+		<circle id="path4606-1" cx="308" cy="336.8" r="13.1"/>
+		
+			<rect id="rect4629-8" x="231" y="266.2" transform="matrix(0.4388 -0.8986 0.8986 0.4388 -85.169 406.1544)" width="103" height="10.1"/>
+		<path id="path4514" inkscape:connector-curvature="0" sodipodi:nodetypes="cc" class="st1" d="M289.4,257.4
+			c49,24.2,49.2,15.5,18.5,79"/>
+	</g>
+</g>
+</svg>
diff --git a/assets/static/DF185CEE29A3D443_public_key.asc b/assets/static/DF185CEE29A3D443_public_key.asc
new file mode 100644
index 0000000..9f28bc1
--- /dev/null
+++ b/assets/static/DF185CEE29A3D443_public_key.asc
@@ -0,0 +1,283 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBFuie2UBEADpl4jb39JN+mfuFGbXqGQG1xqPKUpfwXHKNV+s+v9FWoYqlvNv
+5x0pnSLpEYBPzDy8TdU+ksseTn3swOL/6EhTf/Aix2uWZ72h5dH+S7wdFfUCtwRc
+OmdOLIryQnTMP7jqJ5nJ8Cdni7RkRo7jFO1We5usRY3EkotToyDmcKPEZqoReWyp
+J2Kl+ebogu+8vYGZVKJaVs3Y1pxZPS387NHOzTkySwsy7zYdJ+5daIuOLLxetK5m
+2vjGUH8JUYOkMkDwbKzPUnUECxJ8/torNMlq2LsPboqKMXi/2tqMoCSyNasRTTDj
+L/dijdVi9Nc40xkLioZ7PkWsnwYAEmA7qpo0MMMJi5NtKjOadKGBCm2zWNcylGsa
+BGamnyuS4zVkiN5tCDrKjvyWeHiMJEXnkkoPu1uzrPXqDal9bIv7XSj6n3IAsPHt
+DzuQH8gPAIP3cVC06ybz+s5aCtQ07IiO2CYAfDaNX+N6FQv9LnmF25pf1y8yz1jK
+pFlnrR/hShbTPQmEX/hatS/bakCDC9m/1GWB5pO/a7Sb5G6zSdMc7yWBsvPUGrZG
+nYmlOM3A3xXgugA48xRp9dexT42aRudxuaazgGKuQamrtHd+UTn8ifU0R18CCfq1
+zZ8h5Jyg/0/yRZW2w4Alpu9LlsLg65eMuuSuaXzZFl9w8F9F5KJVCqLOuQARAQAB
+tCpBZGFtIFBpb250ZWsgKE5FVyBNQUlOIDIwMTgpIDxhZGFtQDczay51cz6JAk4E
+EwEKADgWIQRUybZ7pCRpqGssmSnfGFzuKaPUQwUCW6J7ZQIbAwULCQgHAgYVCgkI
+CwIEFgIDAQIeAQIXgAAKCRDfGFzuKaPUQxGhEADGsAR4fHMutD0CVb0/GWJvUM+A
+wLOxpPxKPe+g35aU07ejT5iwMVvfl76WnpHTQX48s2HFLnXdznN+1/P9Zty6pt+F
+2YdTz39AIXomh4K2ifEfHfnSEv6DT1n3yQBuT+l6l7vaiqOGopuNIu89eujnL49w
+lrLTiwQ/awkiag1yCYqp+R5dG1twu8xHLIkqyjndZM4wmVmkewZPmjhIyvnAd6Y5
+glFDs7/oVaHKWcTmycXvzOcKhCo227wurcxEaFlS8GwqxoazBdOSRv/yjA7RSe+E
+SGnw4kXTkh3W3EGzedhFV4JRxFRGTJS3El5WP+BQrN12cmId/yx9zGZyBh+rWKT3
+xyjY08FDNJz6IZ+X1AIjfCZ25i7Xt2jfm24ptbZF8KEfutOROwK7Hhfz2cvzd9wZ
+N0gzo7sPkcwPUSNet4+IbU8Ymems4d7nm3IhfiRnl4Dr9dv2sQE1sUokNlUqX8mf
+oxV/fXIaTk8wuQdMqWHl90zvW9dThk/tlq5Cs6gEnKfoKrMae1pNNrXuFGVyIuOE
+EKuX2KkC2ZME0tPb20qrq13CsteHmp+qYu9TV/cRwBhyNwqkCQ6C9WGoXUbd8rmo
+CVgGs88mIECrirTkk7/goOdR6DHxnxn2Ho4QIbp5bnNZd4jJZRHiw8X30aOKjCEb
+E5zAuM2Jin0isAgqcIkBMwQQAQoAHRYhBFC18Wm2pscoX0JTDqFiJKZprTMfBQJb
+onzvAAoJEKFiJKZprTMfgi8H/2vBaZez1eqSHfgNIOukijN5WvNARWUaKP4KhIkT
+86q+3bfRO7LmOGOusgD/vQW8RmI8SmDEcXF5A/fD/jkA+sjnZUzFc2gZiX5RmTQ3
+CEunSvy0I8CBOH45PteEq3C5j3DAaEcl1MwexvNPP1+CHbCtPOSyIaVBP0byOc3P
+dN5rlzyyo1/yL92Zut9wJpcMOveLB453l9H6DukdljAWAt6ORjOplQJ+uS1YW19J
+JR+UyLNXHq2K3raBUCHkHdvo/fdMIPOMLVCvgtgkqKoneqNEISkUfopgoG7yuAE0
+OVgjl1eJbhxB8Pwhiycq/Dudfl14I+99v5Janm2xzwnNQa3R3W/dbQEQAAEBAAAA
+AAAAAAAAAAAA/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAQDAwMDAgQDAwMEBAQF
+BgoGBgUFBgwICQcKDgwPDg4MDQ0PERYTDxAVEQ0NExoTFRcYGRkZDxIbHRsYHRYY
+GRj/2wBDAQQEBAYFBgsGBgsYEA0QGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
+GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBj/wgARCACAAIADAREAAhEBAxEB/8QAHAAA
+AwADAQEBAAAAAAAAAAAABQYHAwQIAgEJ/8QAGQEAAwEBAQAAAAAAAAAAAAAAAgME
+AQAF/9oADAMBAAIQAxAAAADZXB0N7UbfanAwcJ7jPvHYA87TBZKfEvUvOenwN02D
+7uB7xWgXAObX/SmsnsSanEtochzVIiGyXyrsGunpdoF2+BHVrslUDVGhzYyPrw8S
+3n1N51n9NeU7AJ7Y8vcOHt2h0YYL5ZqkGtpVGbOmtk9nAs5TBWekfFobu3x1f0Sg
+aHMCQlq4W7mfO3D2Jrl9OjjNJ48gd6Sq6nyJFhPHwiCDa42MM2R1cwltiiY6PMae
+WXdLEXfMjjPSI4epolwPKYugi1LYTWXsS0GDIiGRGk+8es0slqnS1yQWl60ayszI
+kPwkPtAb2n2FM6jrKhdktKPod2ztD4/xoNc+0LdgQvIsHCyWaQ7j3VPH8ItqDA8y
+avqtkyKl0lFkbqSQIMwMZ+5u7C6bI9uExodJ6dlbEpyEymHrd/mmZ3yBbI5pIVkt
+TW3J3eB46zKRPcQEhgN3UUZFtV25QLvFd+nmE7ogfThyx7UVlVBgd8d08pnpc9ar
+zQRpyC/c4aI2XppIyCd0mxs1pSpPReJnKLVr7BZ10U1dHtJtqyWMcLam9jpyry51
+NRG91AYE9smfUsqc582ehKwgTtN6NEV6FrFSqJeuBjYhzfAoL2IKcjl01sl3M6sz
+0WI0cR2TfeLcFvZHn+1Vym0hFZFbg9QTlR8GyvqESiVeamuSVPuZcjX+eFiKsO3d
+LWqdyGqhCJtfZLTuXJ1lKibM3Tp1U9FkpYw3oZ05iekW9WKamXiUsoSDLqiWdThk
+8Q2Xi6aOUh1SsAayTOrL57ahqJNT/8QAKhAAAgIBBQACAQQCAwEAAAAAAgMBBAUA
+BhESExQhIgcVFiQxMhAjMzT/2gAIAQEAAQwBfjJp5bFLUkFW8Jkrd2Wrsq/DU6n/
+AIgeZ1GcxJFAqtgwrFlFSuTmmPGc3CqxMjTcL0ovJmmusdJ3h7Vbf9SVCowpe1xf
+hJBoMLKLFemytDLQUJs5CtUyzlJlU5TJLTi6ia8hkX0q9VlYPX52zvmYpvwpTB1Z
+ZElMj9has1aYd7dpNcbW5sBUCDdklTFr9RcSDZGuYQt/6srBvCpqGNjdiTuE5Z1u
+7dz/ADkyA3nc2M2fp5e10NJ3HlK7+YcI6DdF4GT9KapG6549g+h2nunHNyti1fd6
+PuVbN2x+42FPTrbeDUeLhJH0feR8rL2rFca6xx2VIcl3rOdXLLb+p0VDVpV7TzyO
+esZE4sjUtuNd3KFPTmwEQ2wUysTrsG46v1Ea1AX6oBUa5oqD3mKOHZlfjhjRJuTq
+YtPUXK7ajEI7wLjlIMrY7iYXfkp+FAF8iHzI+9gH9uyxPB7oth/Wcct1tXc2LvIv
+e5r+RW29Vo/2GFBv3M6ri1Ks0ZR6f27JusGHqRrq1lDavMHSGKyzjUhFr4yXCvGD
+Kanilb8vlLMrp+vhLTp1SrVqoar2nVBhaaMuaJVAt/JbZX7SvmY8Vk7Xw3SuW2rN
+OvCHV2BEV6Y2CmuGVb1WmvOn40FL+Su4An+nm1JAP37Nr4DKbdzNe0MVAOwW5nR8
+gKpIl7C71JEPSHW2LFtkq95o2DtuNagqgPlqujpEsvsSlV60y6Xh8isOqm3Mg2Za
+2ixgls/cRo6xT4H+J36UsvXKRMh3zrNiIYBVqz+lmx3mHOUc2EqFoQTGECib3yDo
+XX2XhpzGV/cZAEYnJ5FkcJV0AcnuhuOC1iPkek1Sc0isZNbCS1ze7hoq4tYjB9qR
+16V1RPrUA9vhUmSwg2XDCmxZvLQGLobZwCIE/JrJz6IXBJtoKK+Rly5h4gLJzCEx
+MFyzVivissjzeCRnObYoYpwPr1WFrIObX/Ksh7j2ltK9uHL82jmK9l1PGUV1KiFq
+U/NqmyZzETor9y/RuOBKwmmcKrKRIk4WZK+yrKyfPOIVSSX7bTSvtYbS26cp+MfU
+M2VpPBqUYnam/XtkYjIMRB2ZUvgAnMWlN+JBESjyltxqsqeRFjM3VvcD6gLztKuV
+vh3FQaZ/T1rL3RFwHpCtRwmBTQqayjJmzAMYMazNuBdMRwM0Cl7nHFifCTmaEKWX
+lqniwQxNgi7WMAFSEFZWzuWdIchMBz2g8kpCZWsdfL6JLy4GKYk1YF96mosW8tnS
++MfeOWR9WkK+rKI6zhrllkroSZTqpE43HCkyE7Oas25jyT14y+Qkf64yJayF0pPi
+Jnmsa1ZOBSKVxjxsBhVsSE/JTTdHHgt5MKweN2xNGuMhrA122K5m3njI4x9DJTXa
+MyIYS6ypyCCLWKxzxTIWFSMhiIcsu8TrJYRygYQQTQry8XiAQRxtva6cJVU24IE/
+IWpFc/lHGYyViUkf1A2bhHzH12vvHtxH3oitYw1FKMRQRGWsPPy/klhQyFqy55Vs
+9FgbVllDFVabeTtYvK4WjQBLsnX9X5rbjf8A1Q5uv5bhUR0VPQV52hbCSS0D1FiF
+Jk9Wc2qZkfrW19uoHrn3piJyVuCLiJnWVtgMcfmWstdLpAFE8WXQASQlrGUW5K9B
+deRjNOpRBZLHIdqclg8n2HxCs0cRUBa1spmKswuLmeVS9fJWzwRj9onc6RFi7krF
+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
+RTODRGTX9jLa4mheVr8lXWT7OJ/0ytL8FCS0Joy5dELZK0XRM7NCgnGTDIxpHwjJ
+fZK0KRSX6ROiqJJgiCcQ50O9HbHTNaIXQpLvRdGONjGTBJ//2YkCTgQTAQoAOBYh
+BFTJtnukJGmoayyZKd8YXO4po9RDBQJbooCLAhsDBQsJCAcCBhUKCQgLAgQWAgMB
+Ah4BAheAAAoJEN8YXO4po9RDeO4P/2ZZHSfw4iCryp//6m79DaRmX5DsaDdT+Ben
+Vk2ARP9OKsLF0yw0b+jLwyXwzZSPT3oNNoW695GitBs2SLwpgG+tKKoOQUA9tGCU
+km1ukSCJMbytMZKdS3ho9EsEQ4WHcKjfrPDbxXbk94jwr9XANaH6UADBZv5C02FI
+TnWPsUmVpVwR9TM9pT4voE7teJgudli7lN3dm03OWAy4clIQyPKtCWUwPz9r4+Pi
+yssw80uCmFAZqDC4Ap0xqGOPp0nDSu8nFYg0dPTLrm6m5+MQWQ5wnBmwG2yWENN5
+5ajs2PsHueXj9w62bG7lH7rvipQSH34tlc2CQhoQFDZpxPueEKwuMotcUhzTM36L
+q1SxSvUyZ2s3+X+RRxNdVDpyhuHDKV75jqbfouXDzvUQlo88d7OHvUFZPHI0uL9a
+qSm3Rp5eri+i9lFrgActvw0zSvjrGwN8hHZ5Rv3EyopMzp3oXC3s3AQ+cAK27b1z
+4fn4a3FfCLSS2ngj0LIogLUZ/RYv3UZqIq3xi7zE5G/PzspByuzZgVRL+LWDfrEw
+T90FZYf9JZZ+WeBfDw14sWSRxqGyw/GvzYTQT5KQ6WXhjAMx78VYO1G+LrTDTT17
+L8DdSXY2WoOlm/vslffTl98vpStSkAPmfLcVmyMGu9th7KhgaprScdKxaa/Hyg2a
+M/yAWtTPtDVBZGFtIFBpb250ZWsgKE5FVyBNQUlOIDIwMTgpIDxkYW1la3Bpb250
+ZWtAZ21haWwuY29tPokCTgQTAQoAOBYhBFTJtnukJGmoayyZKd8YXO4po9RDBQJb
+ooC6AhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEN8YXO4po9RDQgYQALsU
+El9PUdIT0+u5RC5A1iepYGcs0yM0ac1Qp5rRPM2jvfBmqE/0obIF9clx3IY+Rfyv
+adAz/9qzMDWax+qP2hkff3/2Uoy8LWUyyba/XcyOhol4cVbTgRsSeWJIigk6DIgV
+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
+x+RdIZL07hf4loFu
+=dyLD
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/assets/static/images/cat-roof_portrait.jpg b/assets/static/images/cat-roof_portrait.jpg
new file mode 100644
index 0000000..ddc7ce6
Binary files /dev/null and b/assets/static/images/cat-roof_portrait.jpg differ
diff --git a/assets/static/images/construct.gif b/assets/static/images/construct.gif
new file mode 100644
index 0000000..73ac013
Binary files /dev/null and b/assets/static/images/construct.gif differ
diff --git a/assets/static/images/phoenix.png b/assets/static/images/phoenix.png
deleted file mode 100644
index 9c81075..0000000
Binary files a/assets/static/images/phoenix.png and /dev/null differ
diff --git a/lib/home73k_web/controllers/home_controller.ex b/lib/home73k_web/controllers/home_controller.ex
new file mode 100644
index 0000000..fe7e1f4
--- /dev/null
+++ b/lib/home73k_web/controllers/home_controller.ex
@@ -0,0 +1,15 @@
+defmodule Home73kWeb.HomeController do
+  use Home73kWeb, :controller
+
+  def index(conn, _params) do
+    render(conn, "index.html")
+  end
+
+  def resume(conn, _params) do
+    render(conn, "resume.html", page_title: "Résumé")
+  end
+
+  def folio(conn, _params) do
+    render(conn, "folio.html", page_title: "Folio")
+  end
+end
diff --git a/lib/home73k_web/endpoint.ex b/lib/home73k_web/endpoint.ex
index ca6221a..3e9a938 100644
--- a/lib/home73k_web/endpoint.ex
+++ b/lib/home73k_web/endpoint.ex
@@ -24,7 +24,7 @@ defmodule Home73kWeb.Endpoint do
     at: "/",
     from: :home73k,
     gzip: true,
-    only: ~w(css fonts images js favicon.ico robots.txt)
+    only: ~w(css fonts images js favicon.ico robots.txt DF185CEE29A3D443_public_key.asc)
 
   # Code reloading can be explicitly enabled under the
   # :code_reloader configuration of your endpoint.
diff --git a/lib/home73k_web/live/page_live.ex b/lib/home73k_web/live/page_live.ex
index 0da930c..fe36b7a 100644
--- a/lib/home73k_web/live/page_live.ex
+++ b/lib/home73k_web/live/page_live.ex
@@ -3,7 +3,16 @@ defmodule Home73kWeb.PageLive do
 
   @impl true
   def mount(_params, _session, socket) do
-    {:ok, assign(socket, query: "", results: %{}, page_title: "~")}
+    {:ok,
+     assign(socket, query: "", results: %{}, page_title: "~")
+     |> put_flash(:success, "Log in was a success. Good for you.")
+     |> put_flash(:error, "Lorem ipsum dolor sit amet consectetur adipisicing elit.")
+     |> put_flash(
+       :info,
+       "Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatibus dolore sunt quia aperiam sint id reprehenderit? Dolore incidunt alias inventore accusantium nulla optio, ducimus eius aliquam hic, pariatur voluptate distinctio."
+     )
+     |> put_flash(:warning, "Oh no, there's nothing to worry about!")
+     |> put_flash(:primary, "Something in the brand color.")}
   end
 
   @impl true
diff --git a/lib/home73k_web/router.ex b/lib/home73k_web/router.ex
index 2bd8a20..a2bd4cc 100644
--- a/lib/home73k_web/router.ex
+++ b/lib/home73k_web/router.ex
@@ -17,7 +17,10 @@ defmodule Home73kWeb.Router do
   scope "/", Home73kWeb do
     pipe_through :browser
 
-    live "/", PageLive, :index
+    get "/", HomeController, :index
+    get "/resume", HomeController, :resume
+    get "/folio", HomeController, :folio
+    live "/live", PageLive, :index
   end
 
   # Other scopes may use custom stacks.
diff --git a/lib/home73k_web/templates/home/folio.html.eex b/lib/home73k_web/templates/home/folio.html.eex
new file mode 100644
index 0000000..257e5c2
--- /dev/null
+++ b/lib/home73k_web/templates/home/folio.html.eex
@@ -0,0 +1,27 @@
+<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
+
+  <div class="d-flex flex-column align-items-center flex-lg-row align-items-lg-end justify-content-lg-center mt-5">
+
+      <div class="col-12 col-sm-10 col-md-7 col-lg-auto mb-3 mb-lg-0">
+        <%= img_tag Routes.static_path(@conn, "/images/construct.gif"),
+            class: "img-fluid",
+            alt: "Classic 1990s-style simple animation depicting a construction site digger. Text reads 'page under construction'",
+            title: "Put on your hard hat!"
+          %>
+      </div>
+
+
+      <div class="col-12 col-sm-10 col-md-7 col-lg-6 col-xl-5 col-xxl-4 justify-content-start ms-lg-3">
+
+        <h2 class="font-monospace fs-2 fw-600 mb-0">
+          <%= icon_div @conn, "mdi-account-hard-hat", [class: "icon baseline me-2"] %><span>Working on it!</span>
+        </h2>
+
+        <div class="font-monospace fs-5">I've made some things over the years (like this site!), and at some point I'll highlight some here.</div>
+
+      </div>
+
+
+  </div>
+
+</main>
diff --git a/lib/home73k_web/templates/home/index.html.eex b/lib/home73k_web/templates/home/index.html.eex
new file mode 100644
index 0000000..e333cd4
--- /dev/null
+++ b/lib/home73k_web/templates/home/index.html.eex
@@ -0,0 +1,34 @@
+<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
+
+  <div class="d-flex flex-column-reverse flex-lg-row align-items-lg-end mt-5">
+
+    <div class="col-auto mt-3 mt-lg-0">
+      <%= img_tag Routes.static_path(@conn, "/images/cat-roof_portrait.jpg"),
+          class: "img-fluid border border-20 border-gray-900 rounded-2",
+          alt: "My cat Babka, stuck on a roof when she was still just a stray.",
+          title: "My cat Babka, stuck on a roof when she was still just a stray."
+        %>
+    </div>
+
+
+    <div class="col-auto justify-content-start ms-lg-3">
+
+      <h2 class="font-monospace fs-2 fw-600 mb-0">
+        <%= icon_div @conn, "mdi-account", [class: "icon baseline me-2"] %><span>Adam Piontek</span>
+      </h2>
+
+      <div class="font-monospace fs-5">Desktop Systems Engineer. Human.</div>
+
+      <div id="social-icons" class="mt-1">
+        <%= for s <- socials(@conn) do %>
+          <%= link to: s.url, target: "_blank", class: "fs-3 link-light text-decoration-none" do %>
+            <%= icon_div @conn, s.icon, [class: "icon baseline"] %>
+          <% end %>
+        <% end %>
+      </div>
+
+    </div>
+
+  </div>
+
+</main>
diff --git a/lib/home73k_web/templates/home/resume.html.eex b/lib/home73k_web/templates/home/resume.html.eex
new file mode 100644
index 0000000..f512d24
--- /dev/null
+++ b/lib/home73k_web/templates/home/resume.html.eex
@@ -0,0 +1,51 @@
+<main class="container-fluid h-100 d-flex justify-content-center align-items-center">
+
+  <div class="d-flex flex-column mt-5">
+
+    <div class="col-auto justify-content-start">
+
+      <h2 class="font-monospace fs-2 fw-600 mb-0">
+        <%= icon_div @conn, "mdi-account", [class: "icon baseline me-2"] %><span>Adam Piontek</span>
+      </h2>
+
+      <div class="font-monospace fs-5">Desktop Systems Engineer.</div>
+
+      <div id="social-icons" class="mt-1">
+        <%= for s <- socials_prof(@conn) do %>
+          <%= link to: s.url, target: "_blank", class: "fs-3 link-light text-decoration-none" do %>
+            <%= icon_div @conn, s.icon, [class: "icon baseline"] %>
+          <% end %>
+        <% end %>
+      </div>
+
+    </div>
+
+    <div class="col-auto">
+
+      <div class="separator mt-4 mb-2">qualifications</div>
+
+      <ul>
+        <%= for qualif <- resume_qualifs() do %>
+          <%= content_tag :li, qualif %>
+        <% end %>
+      </ul>
+
+      <div class="separator mt-4 mb-2">experience</div>
+
+      <%= for %{employer: employer, positions: positions} <- resume_experience() do %>
+        <div class="fs-5 border-bottom border-gray mt"><%= employer%></div>
+        <div class="mb-3">
+        <%= for position <- positions do %>
+          <div>
+            <span><%= position.title %></span>
+            <span class="text-gray-300">&middot; <%= position.start %> &mdash; <%= position.end %></span>
+          </div>
+        <% end %>
+        </div>
+      <% end %>
+
+    </div>
+
+  </div>
+
+</main>
diff --git a/lib/home73k_web/templates/layout/_navbar.html.eex b/lib/home73k_web/templates/layout/_navbar.html.eex
index edc6496..3ecf682 100644
--- a/lib/home73k_web/templates/layout/_navbar.html.eex
+++ b/lib/home73k_web/templates/layout/_navbar.html.eex
@@ -1,14 +1,14 @@
-<nav class="navbar navbar-expand-lg navbar-light bg-light mb-4">
-  <div class="container">
+<nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark px-1 px-sm-2 px-lg-3 px-xl-4 px-xxl-5 py-3">
+  <div class="container-fluid">
 
-    <h1 class="fs-4 my-0 py-0 lh-base">
-    <%= link to: Routes.page_path(@conn, :index), class: "navbar-brand fs-4" do %>
-      <%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline me-1 fs-3"] %>
-      <span class="fw-light" style="font-family: Righteous;">\\AdamPion73k</span>
-    <% end %>
+    <h1 class="my-0 py-0 lh-base">
+      <%= link to: Routes.home_path(@conn, :index), class: "navbar-brand fs-1 text-secondary" do %>
+        <%= icon_div @conn, "mdi-desktop-classic", [class: "icon baseline"] %>
+        <span class="fw-light" style="font-family: Righteous;">\\73k</span>
+      <% end %>
     </h1>
 
-    <button class="hamburger hamburger--squeeze collapsed navbar-toggler" id="navbarSupportedContentToggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
+    <button class="hamburger hamburger--vortex collapsed navbar-toggler" id="navbarSupportedContentToggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
       <span class="hamburger-box d-flex">
         <span class="hamburger-inner"></span>
       </span>
@@ -17,41 +17,34 @@
     <div class="collapse navbar-collapse" id="navbarSupportedContent">
 
       <%# nav LEFT items %>
-      <ul class="navbar-nav me-auto mb-2 mb-lg-0">
-
-        <%# ACTIVE page link example %>
-        <%# <li class="nav-item">
-          <a class="nav-link active" aria-current="page" href="#">Home</a>
-        </li> %>
-
-        <%# DISABLED page link example %>
-        <li class="nav-item">
-          <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
-        </li>
-
-        <%# <li class="nav-item dropdown">
-          <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownExample" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</a>
-          <ul class="dropdown-menu" aria-labelledby="navbarDropdownExample">
-            <li><a class="dropdown-item" href="#">Action</a></li>
-            <li><a class="dropdown-item" href="#">Another action</a></li>
-            <li><hr class="dropdown-divider"></li>
-            <li><a class="dropdown-item" href="#">Something else here</a></li>
-          </ul>
-        </li> %>
-
-      </ul>
+      <ul class="navbar-nav me-auto mb-2 mb-lg-0"></ul>
 
       <%# nav RIGHT items %>
       <ul class="navbar-nav">
 
         <li class="nav-item">
-          <a class="nav-link active" aria-current="page" href="#">Resume</a>
+          <%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :index), class: "nav-link font-monospace fs-6") do %>
+            <%= icon_div @conn, "mdi-home", [class: "icon baseline"] %><span>\~</span>
+          <% end %>
         </li>
 
-          <%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "btn btn-outline-dark d-none d-lg-block") do %>
-            <%#= icon_div @conn, "bi-door-open", [class: "icon baseline"] %>
-            Log in
+        <li class="nav-item">
+          <%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :resume), class: "nav-link font-monospace fs-6") do %>
+            <%= icon_div @conn, "mdi-briefcase-account", [class: "icon baseline"] %><span>\R&eacute;sum&eacute;</span>
           <% end %>
+        </li>
+
+        <li class="nav-item">
+          <%= link nav_link_opts(@conn, to: Routes.home_path(@conn, :folio), class: "nav-link font-monospace fs-6") do %>
+            <%= icon_div @conn, "mdi-zip-disk", [class: "icon baseline"] %><span>\Portfolio</span>
+          <% end %>
+        </li>
+
+        <li class="nav-item">
+          <%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "nav-link font-monospace fs-6") do %>
+            <%= icon_div @conn, "mdi-typewriter", [class: "icon baseline"] %><span>\Blog</span>
+          <% end %>
+        </li>
 
 
       </ul>
diff --git a/lib/home73k_web/templates/layout/app.html.eex b/lib/home73k_web/templates/layout/app.html.eex
index 7bb9fee..0543398 100644
--- a/lib/home73k_web/templates/layout/app.html.eex
+++ b/lib/home73k_web/templates/layout/app.html.eex
@@ -1,19 +1 @@
-<main role="main" class="container">
-
-  <%# phoenix flash alerts: %>
-  <div class="row justify-content-center">
-    <div class="col-md-12 col-lg-10 col-xxl-8 ">
-      <%= for {kind, class} <- alert_kinds() do %>
-        <%= if flash_content = get_flash(@conn, kind) do %>
-          <div class="alert <%= class %> alert-dismissible fade show" role="alert">
-            <%= flash_content %>
-            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
-          </div>
-        <% end %>
-      <% end %>
-    </div>
-  </div>
-
-  <%= @inner_content %>
-
-</main>
+<%= @inner_content %>
diff --git a/lib/home73k_web/templates/layout/live.html.leex b/lib/home73k_web/templates/layout/live.html.leex
index 6249568..0543398 100644
--- a/lib/home73k_web/templates/layout/live.html.leex
+++ b/lib/home73k_web/templates/layout/live.html.leex
@@ -1,19 +1 @@
-<main role="main" class="container">
-
-  <%# liveview flash alerts: %>
-  <div class="row justify-content-center">
-    <div class="col-md-12 col-lg-10 col-xxl-8 ">
-      <%= for {kind, class} <- alert_kinds() do %>
-        <%= if flash_content = live_flash(@flash, kind) do %>
-          <div class="alert <%= class %> alert-dismissible fade show" role="alert" id="lv-alert-<%= kind %>" phx-hook="AlertRemover" data-key="<%= kind %>">
-            <%= flash_content %>
-            <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
-          </div>
-        <% end %>
-      <% end %>
-    </div>
-  </div>
-
-  <%= @inner_content %>
-
-</main>
+<%= @inner_content %>
diff --git a/lib/home73k_web/templates/layout/navbar/_user_menu.html.eex b/lib/home73k_web/templates/layout/navbar/_user_menu.html.eex
deleted file mode 100644
index f1510cc..0000000
--- a/lib/home73k_web/templates/layout/navbar/_user_menu.html.eex
+++ /dev/null
@@ -1,29 +0,0 @@
-<li class="nav-item dropdown">
-
-  <a href="#" class="nav-link dropdown-toggle" id="navbarDropdownUserMenu" data-bs-toggle="dropdown" aria-expanded="false">
-    <%= icon_div @conn, "bi-person-circle", [class: "icon baseline me-1"] %>
-    Hello
-  </a>
-
-  <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownUserMenu">
-
-    <li><hr class="dropdown-divider"></li>
-
-    <li>
-      <%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "dropdown-item") do %>
-        <%= icon_div @conn, "bi-people", [class: "icon baseline me-1"] %>
-        Users
-      <% end %>
-    </li>
-    <li><hr class="dropdown-divider"></li>
-
-    <li>
-      <%= link nav_link_opts(@conn, to: Routes.page_path(@conn, :index), class: "dropdown-item") do %>
-        <%= icon_div @conn, "bi-sliders", [class: "icon baseline me-1"] %>
-        Settings
-      <% end %>
-    </li>
-
-  </ul>
-
-</li>
diff --git a/lib/home73k_web/templates/layout/root.html.leex b/lib/home73k_web/templates/layout/root.html.leex
index adae9dd..d3fddf5 100644
--- a/lib/home73k_web/templates/layout/root.html.leex
+++ b/lib/home73k_web/templates/layout/root.html.leex
@@ -5,7 +5,7 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
     <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
     <%= csrf_meta_tag() %>
-    <%= live_title_tag assigns[:page_title] || "", prefix: assigns[:page_title] && "73k.us \\ " || "73k.us" %>
+    <%= live_title_tag assigns[:page_title] || "", prefix: assigns[:page_title] && "73k \\ " || "73k" %>
     <meta name="author" content="Adam Piontek"/>
     <link rel="me" href="mailto:adam@73k.us"/>
     <link rel="me" href="sms:+16462341697"/>
@@ -15,9 +15,9 @@
   </head>
   <body>
 
-    <%= render "_navbar.html", assigns %>
+      <%= render "_navbar.html", assigns %>
 
-    <%= @inner_content %>
+      <%= @inner_content %>
 
   </body>
 </html>
diff --git a/lib/home73k_web/views/home_view.ex b/lib/home73k_web/views/home_view.ex
new file mode 100644
index 0000000..9dc855b
--- /dev/null
+++ b/lib/home73k_web/views/home_view.ex
@@ -0,0 +1,77 @@
+defmodule Home73kWeb.HomeView do
+  use Home73kWeb, :view
+
+  def socials(conn) do
+    [
+      %{
+        icon: "mdi-typewriter",
+        url: "https://w.73k.us/",
+        prof: false
+      },
+      %{icon: "mdi-rss", url: "https://w.73k.us/feed/", prof: false},
+      %{
+        icon: "mdi-linkedin",
+        url: "https://www.linkedin.com/in/adampiontek/",
+        prof: true
+      },
+      %{icon: "mdi-github", url: "https://github.com/apiontek", prof: true},
+      %{icon: "gitea", url: "https://73k.us/git/adam", prof: true},
+      %{
+        icon: "mdi-key-variant",
+        url: Routes.static_path(conn, "/DF185CEE29A3D443_public_key.asc"),
+        prof: true
+      },
+      %{
+        icon: "mdi-goodreads",
+        url: "https://www.goodreads.com/user/show/2450014-adam-piontek",
+        prof: false
+      },
+      %{icon: "mdi-twitter", url: "https://twitter.com/adampiontek", prof: false},
+      %{icon: "mdi-facebook", url: "https://facebook.com/damek", prof: false},
+      %{
+        icon: "mdi-instagram",
+        url: "https://www.instagram.com/adampiontek/",
+        prof: false
+      },
+      %{
+        icon: "mdi-steam",
+        url: "https://steamcommunity.com/id/apiontek/",
+        prof: false
+      },
+      %{
+        icon: "mdi-discord",
+        url: "https://discordapp.com/users/328583977629646848",
+        prof: false
+      }
+    ]
+  end
+
+  def socials_prof(conn), do: Enum.filter(socials(conn), fn s -> s.prof end)
+
+  def resume_qualifs,
+    do: [
+      "Programming (Powershell, Bash, Python, Javascript, Elixir)",
+      "Windows deployment & support (SCCM, MDT, esoteric configuration)",
+      "Application infrastructure planning & implementation (end-to-end)",
+      "Quickly grasping inherited & new projects"
+    ]
+
+  def resume_experience do
+    [
+      %{
+        employer: "Cleary Gottlieb Steen & Hamilton",
+        positions: [
+          %{title: "End User Systems Engineer", start: "Jan 2021", end: "Present"},
+          %{title: "End User Systems Analyst", start: "Feb 2019", end: "Dec 2020"},
+          %{title: "Service Desk Analyst", start: "Jun 2014", end: "Jan 2019"}
+        ]
+      },
+      %{
+        employer: "Practising Law Institute",
+        positions: [
+          %{title: "Service Desk Analyst", start: "May 2010", end: "May 2014"}
+        ]
+      }
+    ]
+  end
+end
diff --git a/lib/home73k_web/views/layout_view.ex b/lib/home73k_web/views/layout_view.ex
index 69b48fa..874e77a 100644
--- a/lib/home73k_web/views/layout_view.ex
+++ b/lib/home73k_web/views/layout_view.ex
@@ -7,15 +7,4 @@ defmodule Home73kWeb.LayoutView do
       true -> Keyword.update(opts, :class, "active", fn c -> "#{c} active" end)
     end
   end
-
-  def alert_kinds do
-    [
-      success: "alert-success",
-      info: "alert-info",
-      error: "alert-danger",
-      warning: "alert-warning",
-      primary: "alert-primary",
-      secondary: "alert-secondary"
-    ]
-  end
 end