1. screenshot of theme settings and color picker
    The color glow is such a vibe

I'm implementing custom theme settings! This is something I had the idea for late one night last week. You define the settings you want in your theme's theme.json like this:

{
  ...
  "settings": {
    "fields": {
      "accent_color": {
        "type": "color",
        "label": "Accent color",
        "default": "#cc3f2e"
      },
      "background_color": {
        "type": "color",
        "label": "Background color",
        "default": "#f8f4ef"
      },
      "max_width": {
        "type": "string",
        "label": "Layout max width",
        "default": "72rem",
        "help": "Used for the main content column."
      }
    },
    "groups": [
      {
        "label": "Colors",
        "fields": ["accent_color", "background_color"]
      },
      {
        "label": "Layout",
        "fields": ["max_width"]
      }
    ]
  }
}

The result is the UI you see above! Then they can be used your theme like this:

<style>
    :root {
        --accent: {{ theme.settings.accent_color|default:"#cc3f2e" }};
        --bg: {{ theme.settings.background_color|default:"#f8f4ef" }};
    }
</style>

This seems like a small feature but it gives users and theme devs a ton of flexibility! I'm exicted to someday see how people use it.

  1. all the pieces laid out
    I swear if you have a strategy for laying out the pieces it goes easier!
  2. the back of the BILLY
    I should have drawn something back here lol
  3. upright BILLY
    An upright BILLY
  4. the living room
    I’m so happy with how it came together 😍

Azure and I bought this bookshelf wayyyyy back in December, but couldn't put it up until the Yule tree went away. We did that last weekend but finally had the energy to assemble the BILLY tonight.

It went together much easier than I expected, even for IKEA furniture. And I love how it came together!

I made a no‑build CMS for Neocities

I’ve been wanting a dead‑simple way to publish small personal sites on Neocities without build tools, databases, or plugins. Today I’m sharing Neo‑CMS — a tiny flat‑file CMS that renders Markdown right in the browser. The whole idea is: just files. Drop Markdown into /content, list those files in content/index.json, and add a little YAML front matter for titles, menus, and slugs. That’s it. No build step. No dependencies. No CLI. If you can edit a text file and upload it to Neocities, you ca...

Read more

Building a Home Server

I’ve been having a lot of fun the past few days building out my home server. It’s been a fun adventure revisiting old territory, and I wanted to take some time to write about the setup I’ve settled on for now. The core idea behind this setup is simple: the foundation should be well documented. That way, if I want or need to tear it all down, build a new server, and spin everything back up, I can do it with minimal effort. This setup definitely still has some rough edges, but what I have is so...

Read more
  1. Pepe Gaka
    Closer Up look at the cellist
  2. Pepe Gaka
    Most of the mural!

Today Azure and I went wandering around downtown St. George. We stumbled across this street art by Pepe Gaka and I had to take a picture to look up later.

Someday I'm going to finally build my app to map and tag street art!

Hike

Hike 2/40: Azure Hunting

Elevation profile

Gain -- Loss --

Distance
--
Moving time
--
Stopped time
--
Total time
--
Avg moving speed
--
Max speed
--
Elevation gain
--
Elevation loss
--

Today Azure had to get 10 miles (she ended up doing a tad over 11). Since I had to work I couldn't join for the whole thing but I was able to meet her on trail for her last bit!

  1. screenshot of new photo slider
    New Photo Slider Controls!
  2. screenshot of link preview
    Bonus: Link Previews!

I'm making this a photo post because the photo slider got an upgrade.

Previously it was purely HTML/CSS which is fine. However, I decided to progresively enhance it with some simple JS to add some controls to make scrolling more smooth.

As a bonus I also added Open Graph data to every page. Now when you share links to my blog the link previews work!

Hike

Hike 1/40: 2026

Elevation profile

Gain -- Loss --

Distance
--
Moving time
--
Stopped time
--
Total time
--
Avg moving speed
--
Max speed
--
Elevation gain
--
Elevation loss
--

It's been a rainy new-years day but Azure and I didn't let that stop us from getting outside!

It was gorgeous in the desert today. The colors are magical when it's been raining.

Looking Forward to 2026

I’m sitting here writing this on the couch of the in-law suite at my girlfriend’s parents’ house in St. George, Utah. Now that is a sentence I never would have guessed I’d be writing last year. Honestly, it’s not even a sentence I think I could have guessed I’d be writing back in April. But here I am. That feels like as good a place as any to pause, look forward, and write down a few goals for 2026. I’m a firm believer that growth without goals is mostly accidental, and I’d like to be a litt...

Read more