<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <title>Adam Freisinger</title>
  <subtitle>Explore, Create, Inspire</subtitle>
  <link href="https://adamfreisinger.me/feed.xml" rel="self" />
  <link href="https://adamfreisinger.me/" />
  <updated>2026-03-21T00:00:00Z</updated>
  <id>https://adamfreisinger.me/</id>
  <author>
    <name>Adam Freisinger</name>
    <email>hello@adamfreisinger.me</email>
  </author>
  <entry>
    <title>Building a Home for My Stray Ideas</title>
    <link href="https://adamfreisinger.me/posts/2026-03-21/building-contemplace/" />
    <updated>2026-03-21T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2026-03-21/building-contemplace/</id>
    <content type="html">&lt;p&gt;I notice things. A weird-sounding word in a book I&#39;m reading. An urge to understand how drone flutes work. An odd graffiti that keeps popping up in my neighbourhood. These aren&#39;t plans or tasks. They&#39;re fragments. And the part of my thinking that I really enjoy happens between them, in the sometimes accidental, organic connections that I make as I ponder about them.&lt;/p&gt;
&lt;p&gt;I have been taking notes for as long as I can remember. Yearly bullet journals, Evernote, Obsidian, Bear, Apple Notes, and I even have a &lt;a href=&quot;https://johnnydecimal.com/&quot;&gt;Johnny Decimal&lt;/a&gt; index. For the structured parts of life, these work. But for creative fragments, reflections, stray observations, nothing held. Every system either asked me to organise a lot (my brain ran faster than my organisational patience, so the spark would be gone) or let me dump things in and never surface them again.&lt;/p&gt;
&lt;p&gt;About six weeks ago, three tools I was already using fit together in a way I didn&#39;t plan. &lt;a href=&quot;https://wisprflow.ai/r?ADAM22995&quot;&gt;Wispr Flow&lt;/a&gt; for voice dictation. &lt;a href=&quot;https://docs.anthropic.com/en/docs/claude-code&quot;&gt;Claude Code&lt;/a&gt; for building things through conversation. And an &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt; vault with &lt;a href=&quot;https://smartconnections.app/&quot;&gt;Smart Connections&lt;/a&gt;, a plugin that vector-embeds notes and exposes them to AI tools through &lt;a href=&quot;https://modelcontextprotocol.io/&quot;&gt;MCP&lt;/a&gt;. I could dictate a thought, and Claude would find how it connected to things I&#39;d written weeks ago. Capture and connection happened in the same place for the first time. That felt like something.&lt;/p&gt;
&lt;h2&gt;From my desk to my pocket&lt;/h2&gt;
&lt;p&gt;I started using the combination and building on it at the same time. Voice in, structured fragment out, a link to an older note I&#39;d forgotten about. That loop was exciting. But it only worked at my desk. Obsidian had to be running, Claude Code had to be open, and I had to be physically there, while I kept having ideas away from it.&lt;/p&gt;
&lt;p&gt;So I started building a solution I could reach from anywhere. This was not a weekend hack. It took about two weeks of focused work, dozens of architectural decisions, a lot of iteration and rethinking. But I could use it from day one, even while it was rough, and that kept the momentum going. I call it &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace&quot;&gt;ContemPlace&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;ContemPlace captures idea fragments in my own voice through a Telegram bot. I send a message, sometimes a photo, and the system structures it: title, body, tags, links to related notes. Everything gets vector-embedded for semantic search. My raw words are always preserved alongside the structured version.&lt;/p&gt;
&lt;p&gt;Overnight, an automated gardener runs. It compares every fragment against every other by embedding similarity, creates connections I didn&#39;t explicitly make, and groups notes into thematic clusters using Louvain community detection. The next time I or any AI tool explores the knowledge base, the graph is richer than what I put in. The system speaks MCP, so my notes travel with me across tools. They aren&#39;t trapped in any vendor&#39;s memory.&lt;/p&gt;
&lt;h2&gt;Böhönc&lt;/h2&gt;
&lt;p&gt;Here is what it actually feels like when it works.&lt;/p&gt;
&lt;p&gt;I&#39;m browsing the internet and I spot the word &amp;quot;böhönc.&amp;quot; Hungarian for ancient trees that have overgrown their neighbours. I love that. I take a screenshot, open Telegram, and send the photo with a one-line note to my capture bot:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;very old trees that have overgrown their neighbours have a name in Hungarian: &amp;quot;böhönc&amp;quot;, think like ents of Middle Earth&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A few seconds later, the bot replies.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-9by16&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/telegram-capture-554w.png&quot; data-glightbox=&quot;title: Capture in action&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/telegram-capture-400w.webp 400w, https://adamfreisinger.me/img/telegram-capture-554w.webp 554w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/telegram-capture-400w.png 400w, https://adamfreisinger.me/img/telegram-capture-554w.png 554w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/telegram-capture-554w.png&quot; width=&quot;554&quot; height=&quot;985&quot; alt=&quot;Telegram conversation showing a photo of an ancient tree with a note about the Hungarian word böhönc, and the bot&#39;s structured reply with title, tags, and a link to a related note&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Capture in action&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;The title is a claim extracted from my words: Böhönc: Hungarian word for ancient trees that have overgrown their neighbours. Four tags. And a link. The system embedded my raw text, searched for semantically similar notes, and the capture agent decided a connection existed to a note about a book that uses unusual, evocative words. I didn&#39;t ask for that. My photo is stored. My exact words are preserved. I close Telegram and I don&#39;t think about organisation or administration at all.&lt;/p&gt;
&lt;p&gt;That night at 2am, the automated gardener wakes up. The capture agent had already found one connection at the moment I sent the message, but it only saw the top few candidates and only compared against what existed at that point. The gardener is different. It looks at everything at once, compares every note to every other note, and works in bulk. It creates similarity links between fragments that are close in meaning. Then it does something the capture agent can&#39;t: it runs Louvain community detection on the full similarity graph, grouping notes into thematic neighbourhoods based on how closely they relate across the entire corpus.&lt;/p&gt;
&lt;p&gt;My böhönc fragment ends up clustered with the note about unusual words. I didn&#39;t organise this. I didn&#39;t tag them the same way on purpose. The semantic proximity was enough. And the cluster reveals something I hadn&#39;t consciously noticed: I didn&#39;t just like the tree. I liked the &lt;em&gt;word&lt;/em&gt;. The thread running through these fragments is my attraction to rare, evocative vocabulary. I can see this on my dashboard, a web interface I built for browsing clusters visually.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/cluster-discovery-hero-2400w.png&quot; data-glightbox=&quot;title: The gardener clustered them overnight&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/cluster-discovery-hero-400w.webp 400w, https://adamfreisinger.me/img/cluster-discovery-hero-800w.webp 800w, https://adamfreisinger.me/img/cluster-discovery-hero-1200w.webp 1200w, https://adamfreisinger.me/img/cluster-discovery-hero-1600w.webp 1600w, https://adamfreisinger.me/img/cluster-discovery-hero-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/cluster-discovery-hero-400w.png 400w, https://adamfreisinger.me/img/cluster-discovery-hero-800w.png 800w, https://adamfreisinger.me/img/cluster-discovery-hero-1200w.png 1200w, https://adamfreisinger.me/img/cluster-discovery-hero-1600w.png 1600w, https://adamfreisinger.me/img/cluster-discovery-hero-2400w.png 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/cluster-discovery-hero-2400w.png&quot; width=&quot;2400&quot; height=&quot;1514&quot; alt=&quot;Dashboard cluster view showing the böhönc capture clustered with a note about unusual words in a force-directed graph&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The gardener clustered them overnight&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Days later, I&#39;m in a Claude session. Claude has no memory of me, but it has an MCP connection to my ContemPlace, so it can query my entire knowledge base as if it had already built an extensive memory of me. I&#39;ve just seen a forest I liked. On impulse, I type: &amp;quot;I saw a great looking forest, and that made me think about trees in general. Search my notes for trees, check for anything related, see what comes up!&amp;quot;&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-1by1&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/semantic-exploration-1600w.png&quot; data-glightbox=&quot;title: One prompt, and the agent traverses the knowledge base&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/semantic-exploration-400w.webp 400w, https://adamfreisinger.me/img/semantic-exploration-800w.webp 800w, https://adamfreisinger.me/img/semantic-exploration-1200w.webp 1200w, https://adamfreisinger.me/img/semantic-exploration-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/semantic-exploration-400w.png 400w, https://adamfreisinger.me/img/semantic-exploration-800w.png 800w, https://adamfreisinger.me/img/semantic-exploration-1200w.png 1200w, https://adamfreisinger.me/img/semantic-exploration-1600w.png 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/semantic-exploration-1600w.png&quot; width=&quot;1600&quot; height=&quot;1619&quot; alt=&quot;Claude.ai searching for tree-related notes and returning direct tree connections and unexpected wood and material connections&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;One prompt, and the agent traverses the knowledge base&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;The böhönc capture comes back. But so do notes I&#39;d nearly forgotten: someone making prints from cross-sections of felled trees, an idea about making a drone flute by routing, wooden board games. The agent organises them into &amp;quot;direct tree connections&amp;quot; and &amp;quot;wood/material connections&amp;quot; without being told to. I hadn&#39;t thought of these things together. The instrument idea was from weeks ago, the board games from a different context entirely. But the embedding space puts them in the same neighbourhood, and the agent traverses it in one call.&lt;/p&gt;
&lt;p&gt;I finish my coffee. My morning walk, which was going to be a routine stroll, now has a destination. Yesterday I noticed a huge tree by the river that had split in two. And something clicks. Could I make a print from its cross-section? Could a piece of it become material for an instrument or a board game I will be making soon, maybe even with a hidden nod to a böhönc, as another layer of connections?&lt;/p&gt;
&lt;p&gt;The system didn&#39;t send me there. It didn&#39;t recommend a walk. It reminded me why I&#39;d want to go, by connecting a word I liked to a material I work with to a craft I practice. A fragment I captured days ago, without thinking about it, became a thread that pulled me into the physical world.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/bohonc-tree-walk-2400w.jpeg&quot; data-glightbox=&quot;title: My own böhönc by the river&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/bohonc-tree-walk-400w.webp 400w, https://adamfreisinger.me/img/bohonc-tree-walk-800w.webp 800w, https://adamfreisinger.me/img/bohonc-tree-walk-1200w.webp 1200w, https://adamfreisinger.me/img/bohonc-tree-walk-1600w.webp 1600w, https://adamfreisinger.me/img/bohonc-tree-walk-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/bohonc-tree-walk-400w.jpeg 400w, https://adamfreisinger.me/img/bohonc-tree-walk-800w.jpeg 800w, https://adamfreisinger.me/img/bohonc-tree-walk-1200w.jpeg 1200w, https://adamfreisinger.me/img/bohonc-tree-walk-1600w.jpeg 1600w, https://adamfreisinger.me/img/bohonc-tree-walk-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/bohonc-tree-walk-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;3200&quot; alt=&quot;A massive ancient tree with a split trunk, covered in ivy, with a person standing next to it for scale&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;My own böhönc by the river&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;Why I built it&lt;/h2&gt;
&lt;p&gt;The short answer is that I enjoy building. Building is how I think through problems and how I understand things. I could probably have assembled something close enough from existing products. Maybe Obsidian on a VPS would have worked. A few days ago, Anthropic announced ways to connect a Telegram bot to a remote Claude Code session. If that had existed three weeks earlier, I might not have started.&lt;/p&gt;
&lt;p&gt;But building it gave me things that a ready-made product wouldn&#39;t. I know exactly what happens to my data. I know why the capture agent is forbidden from adding conclusions I didn&#39;t express. I know how reassuring it is that my raw input is always preserved, so I can recompute everything from first principles if I find a better way later.&lt;/p&gt;
&lt;p&gt;A delightful detail from development: the development process could directly use ContemPlace for mining product ideas about itself, a kind of recursive dogfooding I enjoyed on a very meta level.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace&quot;&gt;repo&lt;/a&gt; has been public from day zero, and every &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace/blob/main/docs/decisions.md&quot;&gt;design decision&lt;/a&gt; and the &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace/blob/main/docs/philosophy.md&quot;&gt;core philosophy&lt;/a&gt; are documented extensively.&lt;/p&gt;
&lt;h2&gt;A door left open&lt;/h2&gt;
&lt;p&gt;I&#39;m proud that I built this, and I enjoy using it daily. I don&#39;t know what it will become.&lt;/p&gt;
&lt;p&gt;I&#39;m at the point in this project where my excitement is levelling off and my mind starts noticing new things outside its domain. Fewer new features from here. More real use, more observing how it shapes my thinking over a longer stretch.&lt;/p&gt;
&lt;p&gt;If this made you curious, or if you recognise the itch from the opening paragraphs, the &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace&quot;&gt;repository&lt;/a&gt; is public. You can have your own instance running in about half an hour, for virtually nothing. If it inspires you to build your own version, or to think differently about how you capture your ideas, or if it just sends you down an interesting train of thought, I would enjoy hearing about it.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/github-repo-2400w.png&quot; data-glightbox=&quot;title: The repository, public from day zero&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/github-repo-400w.webp 400w, https://adamfreisinger.me/img/github-repo-800w.webp 800w, https://adamfreisinger.me/img/github-repo-1200w.webp 1200w, https://adamfreisinger.me/img/github-repo-1600w.webp 1600w, https://adamfreisinger.me/img/github-repo-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/github-repo-400w.png 400w, https://adamfreisinger.me/img/github-repo-800w.png 800w, https://adamfreisinger.me/img/github-repo-1200w.png 1200w, https://adamfreisinger.me/img/github-repo-1600w.png 1600w, https://adamfreisinger.me/img/github-repo-2400w.png 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/github-repo-2400w.png&quot; width=&quot;2400&quot; height=&quot;1514&quot; alt=&quot;The ContemPlace GitHub repository showing the project structure, recent commits, and description&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The repository, public from day zero&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Böhönc. An ancient tree that outgrew everything around it. I found the word on a screen, sent it to a bot, and a week later it sent me on a walk. That&#39;s the whole thing.&lt;/p&gt;
&lt;hr&gt;
&lt;h2&gt;ContemPlace — Under the Hood&lt;/h2&gt;
&lt;p&gt;Cloudflare Workers (TypeScript) for compute. Supabase (Postgres with pgvector) for storage. OpenRouter for LLM calls. Cloudflare Pages for the dashboard. Four Workers handle the Telegram webhook, the MCP server, the nightly gardener, and the dashboard API. Everything except the LLM calls runs on free tiers. Running cost with daily use: about two to three dollars a month.&lt;/p&gt;
&lt;p&gt;The MCP server exposes tools for: semantic search, single-note retrieval, related-note traversal, recent captures, cluster listing, capture, remove, and on-demand gardening. Any MCP-compatible tool can connect and query the full knowledge base. The &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace&quot;&gt;repository&lt;/a&gt; has detailed documentation on every layer, from the &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace/blob/main/docs/capture-agent.md&quot;&gt;capture pipeline&lt;/a&gt; to the &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace/blob/main/docs/architecture.md&quot;&gt;gardening algorithms&lt;/a&gt; to the &lt;a href=&quot;https://github.com/freegyes/project-ContemPlace/blob/main/docs/setup.md&quot;&gt;setup guide&lt;/a&gt; for deploying your own instance.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Hungarian Blue Trail Album</title>
    <link href="https://adamfreisinger.me/posts/2026-02-27/hungarian-blue-trail-album/" />
    <updated>2026-02-27T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2026-02-27/hungarian-blue-trail-album/</id>
    <content type="html">&lt;p&gt;I made a custom photo album about the Hungarian Blue Trail, as a gift for friends I walked it with. Handmade gifts always bring me a special kind of excitement: the freedom to explore and play, while still designing for someone else and moving toward a real deadline. The best part is that the giftee can stay on my mind the whole time.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/album-in-hand-2400w.jpeg&quot; data-glightbox=&quot;title: From idea to held object&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/album-in-hand-400w.webp 400w, https://adamfreisinger.me/img/album-in-hand-800w.webp 800w, https://adamfreisinger.me/img/album-in-hand-1200w.webp 1200w, https://adamfreisinger.me/img/album-in-hand-1600w.webp 1600w, https://adamfreisinger.me/img/album-in-hand-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/album-in-hand-400w.jpeg 400w, https://adamfreisinger.me/img/album-in-hand-800w.jpeg 800w, https://adamfreisinger.me/img/album-in-hand-1200w.jpeg 1200w, https://adamfreisinger.me/img/album-in-hand-1600w.jpeg 1600w, https://adamfreisinger.me/img/album-in-hand-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/album-in-hand-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;The album held in hand&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;From idea to held object&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;One day this was a note and a rough sketch in my notebook: a wooden cover, the trail cut into a map. The next day I could hold that idea in my hand. That transition still feels like wonder every time.&lt;/p&gt;
&lt;p&gt;The map came from a script I created. It takes a trail in GPX format and merges it with &lt;a href=&quot;https://github.com/nvkelso/natural-earth-vector&quot;&gt;Natural Earth map data&lt;/a&gt; to produce vector files for fabrication machines. I checked the result by running test plots on my pen plotter and adjusted from there: how to represent water bodies, what to do with orphaned river and border segments, how to cut the trail while leaving landmarks readable. I still enjoy the fast iterative loop of turning data into something visual with code.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;video is-16by9 video-embed&quot;&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/pen-plotter.mp4&quot; class=&quot;video-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/pen-plotter-poster-400w.webp 400w, https://adamfreisinger.me/img/pen-plotter-poster-800w.webp 800w, https://adamfreisinger.me/img/pen-plotter-poster-1200w.webp 1200w, https://adamfreisinger.me/img/pen-plotter-poster-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/pen-plotter-poster-400w.jpeg 400w, https://adamfreisinger.me/img/pen-plotter-poster-800w.jpeg 800w, https://adamfreisinger.me/img/pen-plotter-poster-1200w.jpeg 1200w, https://adamfreisinger.me/img/pen-plotter-poster-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/pen-plotter-poster-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Pen plotter drawing the trail map&quot; class=&quot;video-poster&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
                &lt;span class=&quot;video-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
              &lt;/a&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/pen-plotter.mp4&quot; class=&quot;video-link&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;video class=&quot;video-player&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot; preload=&quot;none&quot; loading=&quot;lazy&quot; poster=&quot;https://adamfreisinger.me/img/pen-plotter-poster-1600w.jpeg&quot;&gt;
                  &lt;source src=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/pen-plotter.mp4&quot; type=&quot;video/mp4&quot;&gt;
                &lt;/video&gt;
              &lt;/a&gt;
            &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Pen plotter in action&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/pen-plotter-result-2400w.jpeg&quot; data-glightbox=&quot;title: The plotted map&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/pen-plotter-result-400w.webp 400w, https://adamfreisinger.me/img/pen-plotter-result-800w.webp 800w, https://adamfreisinger.me/img/pen-plotter-result-1200w.webp 1200w, https://adamfreisinger.me/img/pen-plotter-result-1600w.webp 1600w, https://adamfreisinger.me/img/pen-plotter-result-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/pen-plotter-result-400w.jpeg 400w, https://adamfreisinger.me/img/pen-plotter-result-800w.jpeg 800w, https://adamfreisinger.me/img/pen-plotter-result-1200w.jpeg 1200w, https://adamfreisinger.me/img/pen-plotter-result-1600w.jpeg 1600w, https://adamfreisinger.me/img/pen-plotter-result-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/pen-plotter-result-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;The pen-plotted map of the Hungarian Blue Trail&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The plotted map&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;When the composition felt right, I borrowed a laser from a friend (thank you, &lt;a href=&quot;https://linktr.ee/balassa_wood&quot;&gt;balassa_wood&lt;/a&gt;!) and tried engraving for the first time. After a few videos about lasers and &lt;a href=&quot;https://lightburnsoftware.com/&quot;&gt;LightBurn&lt;/a&gt;, I started running material tests and worked toward the final cover step by step. The amount of shared knowledge available online still surprises me every time. I feel like I&#39;m never alone when trying to learn something.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;video is-16by9 video-embed&quot;&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/laser-engraving.mp4&quot; class=&quot;video-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/laser-engraving-poster-400w.webp 400w, https://adamfreisinger.me/img/laser-engraving-poster-800w.webp 800w, https://adamfreisinger.me/img/laser-engraving-poster-1200w.webp 1200w, https://adamfreisinger.me/img/laser-engraving-poster-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/laser-engraving-poster-400w.jpeg 400w, https://adamfreisinger.me/img/laser-engraving-poster-800w.jpeg 800w, https://adamfreisinger.me/img/laser-engraving-poster-1200w.jpeg 1200w, https://adamfreisinger.me/img/laser-engraving-poster-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/laser-engraving-poster-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Laser engraving the wooden cover&quot; class=&quot;video-poster&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
                &lt;span class=&quot;video-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
              &lt;/a&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/laser-engraving.mp4&quot; class=&quot;video-link&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;video class=&quot;video-player&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot; preload=&quot;none&quot; loading=&quot;lazy&quot; poster=&quot;https://adamfreisinger.me/img/laser-engraving-poster-1600w.jpeg&quot;&gt;
                  &lt;source src=&quot;https://adamfreisinger.me/assets/images/posts/hungarian-blue-trail-photoalbum/laser-engraving.mp4&quot; type=&quot;video/mp4&quot;&gt;
                &lt;/video&gt;
              &lt;/a&gt;
            &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Laser engraving the cover&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/laser-result-2400w.jpeg&quot; data-glightbox=&quot;title: The engraved cover&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/laser-result-400w.webp 400w, https://adamfreisinger.me/img/laser-result-800w.webp 800w, https://adamfreisinger.me/img/laser-result-1200w.webp 1200w, https://adamfreisinger.me/img/laser-result-1600w.webp 1600w, https://adamfreisinger.me/img/laser-result-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/laser-result-400w.jpeg 400w, https://adamfreisinger.me/img/laser-result-800w.jpeg 800w, https://adamfreisinger.me/img/laser-result-1200w.jpeg 1200w, https://adamfreisinger.me/img/laser-result-1600w.jpeg 1600w, https://adamfreisinger.me/img/laser-result-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/laser-result-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;The laser-engraved plywood cover&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The engraved cover&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The binding was already familiar territory, more meditative than exploratory. I folded the pages, stitched the spine with waxed thread, and trimmed the edges. Watching it come together was so satisfying.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/binding-accessories-2400w.jpeg&quot; data-glightbox=&quot;title: The bookbinding setup&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/binding-accessories-400w.webp 400w, https://adamfreisinger.me/img/binding-accessories-800w.webp 800w, https://adamfreisinger.me/img/binding-accessories-1200w.webp 1200w, https://adamfreisinger.me/img/binding-accessories-1600w.webp 1600w, https://adamfreisinger.me/img/binding-accessories-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/binding-accessories-400w.jpeg 400w, https://adamfreisinger.me/img/binding-accessories-800w.jpeg 800w, https://adamfreisinger.me/img/binding-accessories-1200w.jpeg 1200w, https://adamfreisinger.me/img/binding-accessories-1600w.jpeg 1600w, https://adamfreisinger.me/img/binding-accessories-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/binding-accessories-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;Bookbinding tools and materials laid out&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The bookbinding setup&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-half&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/binding-action-2400w.jpeg&quot; data-glightbox=&quot;title: Coptic stitching&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/binding-action-400w.webp 400w, https://adamfreisinger.me/img/binding-action-800w.webp 800w, https://adamfreisinger.me/img/binding-action-1200w.webp 1200w, https://adamfreisinger.me/img/binding-action-1600w.webp 1600w, https://adamfreisinger.me/img/binding-action-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/binding-action-400w.jpeg 400w, https://adamfreisinger.me/img/binding-action-800w.jpeg 800w, https://adamfreisinger.me/img/binding-action-1200w.jpeg 1200w, https://adamfreisinger.me/img/binding-action-1600w.jpeg 1600w, https://adamfreisinger.me/img/binding-action-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/binding-action-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;Binding the album with waxed thread&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Coptic stitching&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Photographing the finished album felt like closing the loop. An idea that started as a sketch, moved through code, machines, and my hands, and became something I could present with a happy heart.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by2&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/album-cover-hero-2400w.jpeg&quot; data-glightbox=&quot;title: The finished album&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/album-cover-hero-400w.webp 400w, https://adamfreisinger.me/img/album-cover-hero-800w.webp 800w, https://adamfreisinger.me/img/album-cover-hero-1200w.webp 1200w, https://adamfreisinger.me/img/album-cover-hero-1600w.webp 1600w, https://adamfreisinger.me/img/album-cover-hero-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/album-cover-hero-400w.jpeg 400w, https://adamfreisinger.me/img/album-cover-hero-800w.jpeg 800w, https://adamfreisinger.me/img/album-cover-hero-1200w.jpeg 1200w, https://adamfreisinger.me/img/album-cover-hero-1600w.jpeg 1600w, https://adamfreisinger.me/img/album-cover-hero-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/album-cover-hero-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1599&quot; alt=&quot;A custom photo album with laser-engraved wooden covers&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The finished album&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;hr&gt;
&lt;h2&gt;If you want to recreate something similar:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The fabrication-ready vector files are available as &lt;a href=&quot;https://buymeacoffee.com/adam.freisinger/e/514815&quot;&gt;digital downloads&lt;/a&gt;. You can contribute by pledging any amount that feels right, the files are linked regardless in the description.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/vector-map-1109w.png&quot; data-glightbox=&quot;title: Preview of the vector layers&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/vector-map-400w.webp 400w, https://adamfreisinger.me/img/vector-map-800w.webp 800w, https://adamfreisinger.me/img/vector-map-1109w.webp 1109w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/vector-map-400w.png 400w, https://adamfreisinger.me/img/vector-map-800w.png 800w, https://adamfreisinger.me/img/vector-map-1109w.png 1109w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/vector-map-1109w.png&quot; width=&quot;1109&quot; height=&quot;832&quot; alt=&quot;Digital export of the Hungarian Blue Trail map&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Preview of the vector layers&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;If you are more into tinkering, the &lt;a href=&quot;https://github.com/freegyes/gpx-tracks-to-physical-medium&quot;&gt;gpx2fab script I created&lt;/a&gt; takes a trail in &lt;code&gt;.gpx&lt;/code&gt; format and merges it with available map data of a specified country. I tested it on a few through-trail and country combinations I know and it holds up, but note that it is not a polished product yet. I can see myself returning to this later, as visualising data and digital fabrication can still make me very excited.&lt;/li&gt;
&lt;li&gt;The covers are 4mm birch plywood, cut and engraved on a 20W diode laser operated using LightBurn. Cut-through was 350 mm/min at 100% power, engrave was 11,000 mm/min at 60%.&lt;/li&gt;
&lt;li&gt;If you want to try your hand at Coptic binding:
&lt;ul&gt;
&lt;li&gt;here is &lt;a href=&quot;https://www.youtube.com/watch?v=fohRMjGBvWY&quot;&gt;a longer walkthrough that is very easy to follow by Christine Guenard&lt;/a&gt;, and&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=P-h3Lq8Zfpo&quot;&gt;a beautiful take on Coptic stitch that is just mesmerising to watch by Ido Agassi&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let me know, if you create something similar, I would really like to see it!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Internet Radios and a Standalone Concept</title>
    <link href="https://adamfreisinger.me/posts/2026-02-05/internet-radio-concept/" />
    <updated>2026-02-05T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2026-02-05/internet-radio-concept/</id>
    <content type="html">&lt;h2&gt;Exploring New Music&lt;/h2&gt;
&lt;p&gt;As the next step in discovering — and re-discovering — my relationship with music, I noticed that from time to time, I want to listen to a fairly wide range of genres with open curiosity. Music with potential.&lt;/p&gt;
&lt;p&gt;Where Spotify, YouTube Music, and most recommendation engines fail me is focus. Or rather: too much of it. If I start a &lt;a href=&quot;https://rivalconsoles.bandcamp.com/&quot;&gt;Rival Consoles&lt;/a&gt; radio, I will mostly get instrumental, low-tempo electronica that gets fairly boring soon. If I try to trick the system by combining my various tastes into a single playlist, the result is usually more annoying than joyful.&lt;/p&gt;
&lt;p&gt;User-curated playlists can be better, but they are hit-and-miss. They also require a lot of crate-digging energy before you strike gold. Sometimes that is fun. Often, it is not.&lt;/p&gt;
&lt;h2&gt;Theme Time Radio Hour&lt;/h2&gt;
&lt;p&gt;A few weeks ago, I rediscovered something that reminded me what I love about music discovery: &lt;strong&gt;Theme Time Radio Hour&lt;/strong&gt;. In this show, Bob Dylan picks a theme and builds an episode around it using songs, short stories, poetry, and jokes. There are about 100 episodes. It is joyful and heartfelt, especially when contrasted with the joyless, heartless Top10 pop rotations of current FM radios I know. It&#39;s not just the music. It is curation with care.&lt;/p&gt;
&lt;p&gt;I highly recommend it. Even more so because there used to be a wonderful website listing all the played music, with generous references and links. Thankfully, it has been rescued from the enshittification of the internet by the &lt;a href=&quot;https://web.archive.org/web/20140424105231/http://www.themetimeradio.com/&quot;&gt;Web Archive&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-1by1&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/theme-time-1520w.png&quot; data-glightbox=&quot;title: Theme Time Radio Hour - Coffee episode&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/theme-time-400w.webp 400w, https://adamfreisinger.me/img/theme-time-800w.webp 800w, https://adamfreisinger.me/img/theme-time-1200w.webp 1200w, https://adamfreisinger.me/img/theme-time-1520w.webp 1520w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/theme-time-400w.png 400w, https://adamfreisinger.me/img/theme-time-800w.png 800w, https://adamfreisinger.me/img/theme-time-1200w.png 1200w, https://adamfreisinger.me/img/theme-time-1520w.png 1520w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/theme-time-1520w.png&quot; width=&quot;1520&quot; height=&quot;1360&quot; alt=&quot;Screenshot of the Theme Time Radio Hour website showing the Coffee episode&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Theme Time Radio Hour - Coffee episode&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;Radio Paradise&lt;/h2&gt;
&lt;p&gt;That ethos stuck with me. And it nudged me back toward internet radio. A thing I used to cherish (even had my own station alongside my DC++ server :D), but have long forgotten.&lt;/p&gt;
&lt;p&gt;One of my current favourites is &lt;a href=&quot;https://radioparadise.com/listen/channels/main-mix&quot;&gt;Radio Paradise – Main Mix&lt;/a&gt;, where Porcupine Tree, GoGo Penguin, Khruangbin, and The Doors can coexist peacefully. That alone makes my day. I wholeheartedly recommend this channel if you enjoy discovering music without genre fences.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/radio-paradise-main-mix-2400w.png&quot; data-glightbox=&quot;title: Radio Paradise Main Mix&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/radio-paradise-main-mix-400w.webp 400w, https://adamfreisinger.me/img/radio-paradise-main-mix-800w.webp 800w, https://adamfreisinger.me/img/radio-paradise-main-mix-1200w.webp 1200w, https://adamfreisinger.me/img/radio-paradise-main-mix-1600w.webp 1600w, https://adamfreisinger.me/img/radio-paradise-main-mix-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/radio-paradise-main-mix-400w.png 400w, https://adamfreisinger.me/img/radio-paradise-main-mix-800w.png 800w, https://adamfreisinger.me/img/radio-paradise-main-mix-1200w.png 1200w, https://adamfreisinger.me/img/radio-paradise-main-mix-1600w.png 1600w, https://adamfreisinger.me/img/radio-paradise-main-mix-2400w.png 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/radio-paradise-main-mix-2400w.png&quot; width=&quot;2400&quot; height=&quot;1380&quot; alt=&quot;Screenshot of the Radio Paradise Main Mix interface&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Radio Paradise Main Mix&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;Eter&lt;/h2&gt;
&lt;p&gt;While Radio Paradise&#39;s interface is far better than most stations&#39; I tried, I still felt a bit of friction. I did not want it living as a pinned browser tab. Since, unlike their many ad-ridden counterparts, they openly &lt;a href=&quot;https://radioparadise.com/listen/stream-links&quot;&gt;publish their stream URLs&lt;/a&gt;, it was, on one hand, surprisingly easy to start listening: just toss it in VLC, and it works. On the other hand, it was confusingly non-trivial to get just what I wanted.&lt;/p&gt;
&lt;p&gt;My requirements turned out to be:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;almost frictionless access to the stream,&lt;/li&gt;
&lt;li&gt;a way to see what is playing right now (album art is a bonus),&lt;/li&gt;
&lt;li&gt;a way to note music that catches my attention with as little effort as possible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I will spare you the list of apps and half-solutions I tried. The best solution I found so far that works equally well on my Mac, iPad, and iPhone is hands down &lt;a href=&quot;https://eter.apparentsoft.com/&quot;&gt;Eter&lt;/a&gt;. Thank you, dear developer, &lt;a href=&quot;https://eter.apparentsoft.com/about/&quot;&gt;Krystian Kozerawski&lt;/a&gt;, especially for having a one-time-purchase option and not forcing another subscription on me.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/eter-in-toolbar-2222w.png&quot; data-glightbox=&quot;title: Eter living quietly in my toolbar&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/eter-in-toolbar-400w.webp 400w, https://adamfreisinger.me/img/eter-in-toolbar-800w.webp 800w, https://adamfreisinger.me/img/eter-in-toolbar-1200w.webp 1200w, https://adamfreisinger.me/img/eter-in-toolbar-1600w.webp 1600w, https://adamfreisinger.me/img/eter-in-toolbar-2222w.webp 2222w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/eter-in-toolbar-400w.png 400w, https://adamfreisinger.me/img/eter-in-toolbar-800w.png 800w, https://adamfreisinger.me/img/eter-in-toolbar-1200w.png 1200w, https://adamfreisinger.me/img/eter-in-toolbar-1600w.png 1600w, https://adamfreisinger.me/img/eter-in-toolbar-2222w.png 2222w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/eter-in-toolbar-2222w.png&quot; width=&quot;2222&quot; height=&quot;1534&quot; alt=&quot;Screenshot of Eter app in the macOS toolbar showing Radio Paradise&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Eter living quietly in my toolbar&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;At the moment, Eter lives quietly in my toolbar. Whenever I am in a &amp;quot;let&#39;s explore some music&amp;quot; mood, I turn it on. The variety is great. And it is surprisingly fun to try guessing the band before checking the info.&lt;/p&gt;
&lt;h2&gt;A Standalone Device&lt;/h2&gt;
&lt;p&gt;This whole internet-radio rabbit hole made me wonder: What if this experience had a physical form?&lt;/p&gt;
&lt;p&gt;A standalone device. In its purest version, it would do exactly one thing. You turn it on, it plays music. It shows what is currently playing. You adjust the volume. Maybe you can keep a small text list of songs that caught your attention. Only physical, single-purpose buttons. No touchscreen. No notifications. No other apps.&lt;/p&gt;
&lt;p&gt;It could also solve a very practical problem: how difficult it is for my ageing mother to navigate the ever-changing internet, while still wanting to listen to better shows than what current FM stations offer.&lt;/p&gt;
&lt;p&gt;I tried finding existing products, but everything I saw was either convoluted (defeating the idea of dedicatedness), or breathtakingly overpriced.&lt;/p&gt;
&lt;p&gt;So I decided to try the DIY route.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/esp-unsoldered-2400w.jpeg&quot; data-glightbox=&quot;title: ESP32 dev board ready for soldering&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/esp-unsoldered-400w.webp 400w, https://adamfreisinger.me/img/esp-unsoldered-800w.webp 800w, https://adamfreisinger.me/img/esp-unsoldered-1200w.webp 1200w, https://adamfreisinger.me/img/esp-unsoldered-1600w.webp 1600w, https://adamfreisinger.me/img/esp-unsoldered-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/esp-unsoldered-400w.jpeg 400w, https://adamfreisinger.me/img/esp-unsoldered-800w.jpeg 800w, https://adamfreisinger.me/img/esp-unsoldered-1200w.jpeg 1200w, https://adamfreisinger.me/img/esp-unsoldered-1600w.jpeg 1600w, https://adamfreisinger.me/img/esp-unsoldered-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/esp-unsoldered-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;An ESP32 development board with unsoldered header pins and a roll of solder&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;ESP32 dev board ready for soldering&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;After some research, I picked an ESP32 development board. Built-in Wi-Fi, no extra OS layer, and a good chance of achieving that &amp;quot;instant-on&amp;quot; radio feeling.&lt;/p&gt;
&lt;p&gt;To test the concept, I used a small OLED display, a mono amplifier, and a tiny speaker. I wired everything up on a breadboard and hacked together a prototype in a few hours.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/breadboard-wiring-2400w.jpeg&quot; data-glightbox=&quot;title: The prototype wired up&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/breadboard-wiring-400w.webp 400w, https://adamfreisinger.me/img/breadboard-wiring-800w.webp 800w, https://adamfreisinger.me/img/breadboard-wiring-1200w.webp 1200w, https://adamfreisinger.me/img/breadboard-wiring-1600w.webp 1600w, https://adamfreisinger.me/img/breadboard-wiring-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/breadboard-wiring-400w.jpeg 400w, https://adamfreisinger.me/img/breadboard-wiring-800w.jpeg 800w, https://adamfreisinger.me/img/breadboard-wiring-1200w.jpeg 1200w, https://adamfreisinger.me/img/breadboard-wiring-1600w.jpeg 1600w, https://adamfreisinger.me/img/breadboard-wiring-2400w.jpeg 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/breadboard-wiring-2400w.jpeg&quot; width=&quot;2400&quot; height=&quot;1800&quot; alt=&quot;ESP32 connected to OLED display, amplifier, and speaker on a breadboard&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;The prototype wired up&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;pre&gt;&lt;code&gt;list of components I used in this build:
- ESP32-S3-WROOM-1-N16R8-M development board
- D096-12864-I2C-GV-WH OLED display (0.96&amp;quot;, 128×64, SSD1306, I2C)
- MAX98357-M I2S Class-D amplifier module
- 3525-SPKR-4R-3W speaker (4Ω, 3W)
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;And then it played Radio Paradise!&lt;/h2&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;video is-1by1 video-embed&quot;&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/internet-radio-concept/bowie-is-playing.mp4&quot; class=&quot;video-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/bowie-is-playing-poster-400w.webp 400w, https://adamfreisinger.me/img/bowie-is-playing-poster-800w.webp 800w, https://adamfreisinger.me/img/bowie-is-playing-poster-1200w.webp 1200w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/bowie-is-playing-poster-400w.jpeg 400w, https://adamfreisinger.me/img/bowie-is-playing-poster-800w.jpeg 800w, https://adamfreisinger.me/img/bowie-is-playing-poster-1200w.jpeg 1200w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/bowie-is-playing-poster-1200w.jpeg&quot; width=&quot;1200&quot; height=&quot;675&quot; alt=&quot;Video of the breadboard prototype playing Heroes by David Bowie&quot; class=&quot;video-poster&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
                &lt;span class=&quot;video-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
              &lt;/a&gt;
              &lt;a href=&quot;https://adamfreisinger.me/assets/images/posts/internet-radio-concept/bowie-is-playing.mp4&quot; class=&quot;video-link&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
                &lt;video class=&quot;video-player&quot; autoplay=&quot;&quot; loop=&quot;&quot; muted=&quot;&quot; playsinline=&quot;&quot; preload=&quot;none&quot; loading=&quot;lazy&quot; poster=&quot;https://adamfreisinger.me/img/bowie-is-playing-poster-1200w.jpeg&quot;&gt;
                  &lt;source src=&quot;https://adamfreisinger.me/assets/images/posts/internet-radio-concept/bowie-is-playing.mp4&quot; type=&quot;video/mp4&quot;&gt;
                &lt;/video&gt;
              &lt;/a&gt;
            &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Bowie is playing (open for sound)&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Does it play flawlessly? No. The first three seconds after startup are a garbled mess until some buffers stabilise (I assume). Is the music enjoyable from that tiny speaker? Not really. It distorts and clips, and it gets worse over time, probably because I am feeding a mono signal into something that expects stereo, without proper attenuation. Does it at least have volume control? Not yet. I already connected a rotary knob, but I accidentally used its GPIO pins for the amplifier. That will need fixing. But! About three seconds after getting power, without any further interaction, it connects to my Wi-Fi, starts streaming Radio Paradise, and displays the artist name and song title.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I had an idea. And now that idea is playing a Bowie song on my breadboard&lt;/strong&gt;. I am happy. And I am proud.&lt;/p&gt;
&lt;h2&gt;Coding with an Agent&lt;/h2&gt;
&lt;p&gt;For this experiment, I also wanted to test current paradigm shifts in coding, so I used &lt;a href=&quot;https://ampcode.com/&quot;&gt;Amp&lt;/a&gt; to create the code. I guided it with text, channelling its vast powers toward something useful for me.&lt;/p&gt;
&lt;p&gt;I have mixed feelings about coding with an agent. On one hand, it is incredibly powerful to &amp;quot;just build&amp;quot; something complex using descriptive language. It gives me what I always loved about coding: going from idea to working system quickly. And it hides many of the parts I never enjoyed, like coaxing libraries to behave or guessing undocumented parameters.&lt;/p&gt;
&lt;p&gt;On the other hand, it definitely weakens the &amp;quot;I made this!&amp;quot; feeling that usually deepens my emotional connection to the things I build. I still recommend trying it yourself. Especially if you allow yourself to let go of control for a while. If you are curious, the code as it stood at the first &amp;quot;wow, the concept works&amp;quot; moment is &lt;a href=&quot;https://github.com/freegyes/esp32-s3-wroom/tree/d549aef6e5d6a54bfce027571fe17bb199482ebd&quot;&gt;available on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/git-commits-2400w.png&quot; data-glightbox=&quot;title: A handful of commits got it working&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/git-commits-400w.webp 400w, https://adamfreisinger.me/img/git-commits-800w.webp 800w, https://adamfreisinger.me/img/git-commits-1200w.webp 1200w, https://adamfreisinger.me/img/git-commits-1600w.webp 1600w, https://adamfreisinger.me/img/git-commits-2400w.webp 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/png&quot; srcset=&quot;https://adamfreisinger.me/img/git-commits-400w.png 400w, https://adamfreisinger.me/img/git-commits-800w.png 800w, https://adamfreisinger.me/img/git-commits-1200w.png 1200w, https://adamfreisinger.me/img/git-commits-1600w.png 1600w, https://adamfreisinger.me/img/git-commits-2400w.png 2400w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/git-commits-2400w.png&quot; width=&quot;2400&quot; height=&quot;1409&quot; alt=&quot;Screenshot of GitHub showing 10 commits on the ESP32 internet radio project&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;A handful of commits got it working&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;Enough for Today&lt;/h2&gt;
&lt;p&gt;Today, the radio sits on my desk exactly like this: unfinished, slightly flawed, and quietly doing its one job. I turned it on when I wanted music in the morning, and I turned it off when I’d had enough. Maybe I’ll do so again tomorrow.&lt;/p&gt;
&lt;p&gt;Maybe that’s the real test. Not whether it becomes a product with a roadmap, but whether it finds a place in my daily life in a way that feels good.&lt;/p&gt;
&lt;p&gt;Today, it definitely did — and that feels like enough.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Instruments That Currently Inspire Me</title>
    <link href="https://adamfreisinger.me/posts/2026-01-29/inspiring-instruments/" />
    <updated>2026-01-29T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2026-01-29/inspiring-instruments/</id>
    <content type="html">&lt;p&gt;I&#39;ve been looking for an instrument I can fall in love with for years now. Not just admire or find fascinating (fortunately, I have several of those), but truly love. An instrument that becomes a meditation device, a companion to noodle on, a way to express my current state intuitively with as little friction as possible.&lt;/p&gt;
&lt;h2&gt;The Journey So Far&lt;/h2&gt;
&lt;p&gt;I learned to play the flute as a kid. Later, I was a bassist in a few small bands. A couple of years ago, I started exploring electronic music-making devices, and the rabbit holes went deep: quirky standalone grooveboxes, live-coded music, live performance samplers. Each new discovery taught me something, but none quite clicked in the way I was searching for.&lt;/p&gt;
&lt;p&gt;What I miss is the &amp;quot;simplicity&amp;quot; of getting to know the ins and outs of a limited instrument. One that needs no patch initialization. One that isn’t an infinite canvas, but offers an opinionated framework, a space where I can get better and better at one thing through practice.&lt;/p&gt;
&lt;p&gt;I like more than one music-making device of mine. I admire them, they fascinate me, each in their own way. But I really miss that one special instrument that I love.&lt;/p&gt;
&lt;h2&gt;What I&#39;m Drawn To&lt;/h2&gt;
&lt;p&gt;I&#39;m inspired by the world of organic-electronic standalone instruments. Devices that combine organic or tactile elements (wooden enclosures, acoustic components, natural materials) with unconventional interaction methods (magnetic fields, touch surfaces, physical gestures).&lt;/p&gt;
&lt;p&gt;I know how deeply aesthetics affect me, and how all the small sensory things add up. Touching mostly wooden and metallic surfaces calms me. Touching plastic repels and drains me. These aren&#39;t trivial details, they shape the entire experience of playing for me.&lt;/p&gt;
&lt;h2&gt;The Dream Instrument&lt;/h2&gt;
&lt;p&gt;For a while now, I’ve been thinking about creating such an instrument myself.&lt;/p&gt;
&lt;p&gt;Maybe it won&#39;t sound astonishing at first. Maybe I won&#39;t succeed on the first try. But this idea inspires me and keeps pulling me back, again and again.&lt;/p&gt;
&lt;p&gt;I want to create something that feels genuinely organic — a standalone hybrid of acoustic and electronic, beautiful enough to create awe simply by being seen. Something that invites playful experimentation through touch and gesture rather than screens and menus, and that needs no formal musical knowledge to coax hauntingly beautiful sounds from. Ideally, it wouldn&#39;t even need a cable or a line out to sing.&lt;/p&gt;
&lt;h2&gt;Building Toward It&lt;/h2&gt;
&lt;p&gt;As a kid, I built a lot of weird percussion instruments. Then, as I developed some woodworking skills over the past years, I built a proper cajón. A few months back, I learned soldering and built the ingenious &lt;a href=&quot;https://www.synthux.academy/simple-synth/touch2&quot;&gt;Touch 2 kit by SynthUX&lt;/a&gt;. Now I&#39;m working on my C++ skills to program the Daisy Seed, connecting various sensors to it, and designing custom PCBs.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/inspiring-instruments-04-1024w.jpeg&quot; data-glightbox=&quot;title: Current state of my Daisy Seed experiments&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-04-400w.webp 400w, https://adamfreisinger.me/img/inspiring-instruments-04-800w.webp 800w, https://adamfreisinger.me/img/inspiring-instruments-04-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-04-400w.jpeg 400w, https://adamfreisinger.me/img/inspiring-instruments-04-800w.jpeg 800w, https://adamfreisinger.me/img/inspiring-instruments-04-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/inspiring-instruments-04-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;A Daisy Seed microcontroller with touch sensors and wiring on a workbench&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Current state of my Daisy Seed experiments&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;I hope that, one day, these paths will merge into something beautiful. Something that can be played. Something I can play.&lt;/p&gt;
&lt;h2&gt;Current Strongest Inspirations&lt;/h2&gt;
&lt;p&gt;I&#39;ve been keeping an eye on the music-making world for a while, learning about instruments and creations, and my list of fascinating gear is near-infinite at this point. But these three speak to me more loudly than anything else right now.&lt;/p&gt;
&lt;h3&gt;Mulatar by Lockruf-music / Rubi Mo&lt;/h3&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/inspiring-instruments-01-1024w.jpeg&quot; data-glightbox=&quot;title: Image courtesy of Rubi Mo / Lockruf-music&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-01-400w.webp 400w, https://adamfreisinger.me/img/inspiring-instruments-01-800w.webp 800w, https://adamfreisinger.me/img/inspiring-instruments-01-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-01-400w.jpeg 400w, https://adamfreisinger.me/img/inspiring-instruments-01-800w.jpeg 800w, https://adamfreisinger.me/img/inspiring-instruments-01-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/inspiring-instruments-01-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;707&quot; alt=&quot;Mulatar by Lockruf-music, a modular string and percussion instrument&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Image courtesy of Rubi Mo / Lockruf-music&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;A &amp;quot;modular&amp;quot; string and percussion instrument. You can decide whether you prefer a sitar-like or slide-guitar-like string setup, and pick the types of percussion heads. What fascinates me most is the clever dual output: you can pull the volume knobs in or out, routing the audio signal to one of the outputs, so you can change the effect chains for the pickups and internal mics.&lt;/p&gt;
&lt;p&gt;The previous, triangular version was built by bending wood. The current bamboo version (as far as I understand) uses a single piece of bamboo as the body. I can imagine myself trying a much simpler experiment based on this idea.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.rubimo.net/bamboo-mulatar&quot;&gt;rubimo.net&lt;/a&gt;&lt;/p&gt;
&lt;figure class=&quot;image is-16by9 block youtube-embed&quot;&gt;
  &lt;a href=&quot;https://www.youtube.com/watch?v=lvx2qxOPzHk&quot; class=&quot;youtube-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
    &lt;img src=&quot;https://img.youtube.com/vi/lvx2qxOPzHk/maxresdefault.jpg&quot; alt=&quot;Mulatar by Lockruf-music / Rubi Mo&quot; loading=&quot;lazy&quot; style=&quot;width:100%;height:100%;object-fit:cover;&quot;&gt;
    &lt;span class=&quot;youtube-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
  &lt;/a&gt;
  &lt;iframe class=&quot;has-ratio youtube-iframe&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/lvx2qxOPzHk&quot; title=&quot;Mulatar by Lockruf-music / Rubi Mo&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot;&gt;&lt;/iframe&gt;
&lt;/figure&gt;
&lt;h3&gt;TERRA by Soma Laboratories&lt;/h3&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/inspiring-instruments-02-1024w.jpeg&quot; data-glightbox=&quot;title: Image courtesy of Soma Laboratories&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-02-400w.webp 400w, https://adamfreisinger.me/img/inspiring-instruments-02-800w.webp 800w, https://adamfreisinger.me/img/inspiring-instruments-02-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-02-400w.jpeg 400w, https://adamfreisinger.me/img/inspiring-instruments-02-800w.jpeg 800w, https://adamfreisinger.me/img/inspiring-instruments-02-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/inspiring-instruments-02-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;TERRA by Soma Laboratories&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Image courtesy of Soma Laboratories&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;A gorgeous instrument with touch interaction, a limited set of sounds, and movement-based modulation. The layout of the notes, the transposing keys, and the modulation macros is unconventional, yet somehow makes total sense. The &amp;quot;menu&amp;quot; is a triangle of LEDs that reminds me of learning a new language. I can feel the pull of the TERRA every time I look at it.&lt;/p&gt;
&lt;p&gt;My current Daisy Seed-based project uses an MPR121 touch sensor, and I previously dabbled in &lt;a href=&quot;https://adamfreisinger.me/posts/2025-02-23/microbit-and-plugdata/&quot;&gt;gyroscope-driven sound design&lt;/a&gt;. Out of the three, this feels the closest to something I could imagine building a “lite” version of soon.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://somasynths.com/terra/&quot;&gt;somasynths.com&lt;/a&gt;&lt;/p&gt;
&lt;figure class=&quot;image is-16by9 block youtube-embed&quot;&gt;
  &lt;a href=&quot;https://www.youtube.com/watch?v=C_Zyx_kmVC4&quot; class=&quot;youtube-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
    &lt;img src=&quot;https://img.youtube.com/vi/C_Zyx_kmVC4/maxresdefault.jpg&quot; alt=&quot;TERRA by Soma Laboratories&quot; loading=&quot;lazy&quot; style=&quot;width:100%;height:100%;object-fit:cover;&quot;&gt;
    &lt;span class=&quot;youtube-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
  &lt;/a&gt;
  &lt;iframe class=&quot;has-ratio youtube-iframe&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/C_Zyx_kmVC4&quot; title=&quot;TERRA by Soma Laboratories&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot;&gt;&lt;/iframe&gt;
&lt;/figure&gt;
&lt;h3&gt;Aurelia by Terraphones&lt;/h3&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/inspiring-instruments-03-1024w.jpeg&quot; data-glightbox=&quot;title: Image courtesy of Terraphones&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-03-400w.webp 400w, https://adamfreisinger.me/img/inspiring-instruments-03-800w.webp 800w, https://adamfreisinger.me/img/inspiring-instruments-03-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/inspiring-instruments-03-400w.jpeg 400w, https://adamfreisinger.me/img/inspiring-instruments-03-800w.jpeg 800w, https://adamfreisinger.me/img/inspiring-instruments-03-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/inspiring-instruments-03-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Aurelia by Terraphones, a wooden ocarina-shaped electronic instrument&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Image courtesy of Terraphones&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Shaped like a giant ocarina, made of wood, using silent mechanical Cherry keys (why hadn’t I thought of using mechanical keys for my instrument before?), with a built-in power source and speaker. I&#39;m curious how my experience playing the flute (and the EWI Solo) could be translated into playing the Aurelia. I would very much like to spend time with it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.terraphones.com/aurelia/&quot;&gt;terraphones.com&lt;/a&gt;&lt;/p&gt;
&lt;figure class=&quot;image is-16by9 block youtube-embed&quot;&gt;
  &lt;a href=&quot;https://www.youtube.com/watch?v=kklq2BiTTT8&quot; class=&quot;youtube-fallback&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;
    &lt;img src=&quot;https://img.youtube.com/vi/kklq2BiTTT8/maxresdefault.jpg&quot; alt=&quot;Aurelia by Terraphones&quot; loading=&quot;lazy&quot; style=&quot;width:100%;height:100%;object-fit:cover;&quot;&gt;
    &lt;span class=&quot;youtube-play-btn&quot; aria-hidden=&quot;true&quot;&gt;&lt;/span&gt;
  &lt;/a&gt;
  &lt;iframe class=&quot;has-ratio youtube-iframe&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube.com/embed/kklq2BiTTT8&quot; title=&quot;Aurelia by Terraphones&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot; loading=&quot;lazy&quot;&gt;&lt;/iframe&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;p&gt;These three instruments embody what I&#39;m searching for: the marriage of organic materials and thoughtful electronics, the priority of touch and gesture over menus and presets, the confidence to be a specific thing rather than anything you want. They&#39;re not trying to be infinite. They&#39;re trying to be unapologetically themselves. And they succeed beautifully.&lt;/p&gt;
&lt;p&gt;I hope that one day I&#39;ll build something that belongs in this family.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Photo of the Year</title>
    <link href="https://adamfreisinger.me/posts/2026-01-02/photo-of-the-year/" />
    <updated>2026-01-02T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2026-01-02/photo-of-the-year/</id>
    <content type="html">&lt;p&gt;A few years ago, I had one of my photographs printed in a larger format, on proper fine art paper, and hung it on the wall of my living room. I treated it as if it were part of a small, private gallery: carefully placed, given space, allowed to exist as more than just an image on a screen.&lt;/p&gt;
&lt;p&gt;That was also the year I decided not to buy a Christmas tree. Instead, I made one from sticks and rope. It could be assembled, disassembled, and reused year after year, without cutting down another tree for a few days of decoration.&lt;/p&gt;
&lt;p&gt;When I was looking for a good place to hang one of the 2D ornaments, the hanger of the photo turned out to be the best spot. So I took the picture off the wall, fully intending to put it back once the holidays were over.&lt;/p&gt;
&lt;p&gt;But the holidays ended, the year turned, and something unexpected happened.&lt;/p&gt;
&lt;p&gt;With the new year came a kind of quiet excitement. Instead of rushing to put the same photograph back, I found myself thinking about what it would be like to live with a different image for the year ahead. One that felt right for now. One that could set a tone, rather than just fill a space. And just like that, a small ritual was born.&lt;/p&gt;
&lt;p&gt;Since then, every year, when the Christmas ornaments are packed away, I look through my own photographs. I wait for one to speak to me. When it does, I have it printed, and it becomes one of the focal points of my living room—and, indirectly, of my daily life.&lt;/p&gt;
&lt;p&gt;The spot matters. The image is visible not only when passing through the room, but also from the dining table and from my bed. I start my days with it. I end my days with it. For a whole year, we look at each other countless times.&lt;/p&gt;
&lt;p&gt;In a way, this is my own, very personal “photo of the year” award. One I give quietly, without juries or votes or announcements. And in return, the photograph gets to shape my days. Sometimes subtly, sometimes more directly, simply by being there.&lt;/p&gt;
&lt;p&gt;This year, I chose a submerging bird to accompany me.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/photo-of-the-year-thumbnail-1024w.jpeg&quot; data-glightbox=&quot;title: Photo of the Year 2026&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/photo-of-the-year-thumbnail-400w.webp 400w, https://adamfreisinger.me/img/photo-of-the-year-thumbnail-800w.webp 800w, https://adamfreisinger.me/img/photo-of-the-year-thumbnail-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/photo-of-the-year-thumbnail-400w.jpeg 400w, https://adamfreisinger.me/img/photo-of-the-year-thumbnail-800w.jpeg 800w, https://adamfreisinger.me/img/photo-of-the-year-thumbnail-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/photo-of-the-year-thumbnail-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;683&quot; alt=&quot;A bird submerging into water&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Photo of the Year 2026&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;Notes on the object itself&lt;/h2&gt;
&lt;p&gt;The print is made as a giclée on 100% cotton, acid-free, gently textured Hahnemühle Photo Rag Baryta paper. It’s mounted on aluminium dibond, without any framing. A hanger and spacers are glued to the back, so the shadow cast by the print itself becomes an ever-changing frame, depending on the light and the time of day. When choosing the print&#39;s size, I usually aim for a resolution of around 240 PPI.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Re-building My Music Library</title>
    <link href="https://adamfreisinger.me/posts/2025-12-02/rebuilding-music-library/" />
    <updated>2025-12-02T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2025-12-02/rebuilding-music-library/</id>
    <content type="html">&lt;p&gt;For a long time, music was something I didn’t just listen to. I lived &lt;em&gt;with&lt;/em&gt; it.&lt;/p&gt;
&lt;p&gt;I knew the exact moment when a scratch on one of our LPs would line up with the music. I could hear it approaching like a tiny, familiar glitch in the timeline. I made mixtapes on cassette, waiting with absurd patience for a song to come on the radio so I could catch it without the host talking over the intro. I knew precisely when to flip the tape in my walkman so I could replay my favourite song without rewinding and draining the batteries. Later, with my discman, I could predict whether a bump on the bus would be within the tolerance of the prebuffered stream or if it would choke. I had a growing CD collection, then a growing mp3 collection. I scrobbled everything compulsively to last.fm. On long car rides I’d get goosebumps from the tracks that were playing.&lt;/p&gt;
&lt;p&gt;Somewhere along the way, that relationship got diluted.&lt;/p&gt;
&lt;h2&gt;Streaming and the quiet erosion of attention&lt;/h2&gt;
&lt;p&gt;I’m not anti-technology. I love good tools. But the shift to streaming did something subtle to my connection with music.
With “everything” available at all times, it became very easy to listen to “something”. I stopped tending to a library and started just consuming a feed. Music moved from being a carefully chosen companion to becoming background radiation. Playlists appeared out of nowhere. Algorithms tried to guess what I wanted. The friction almost completely disappeared.
In theory, that should be great. In practice, it made my relationship to music feel less personal. I rarely listened to an album from start to finish. I didn’t know which track was number 3 anymore, or where the emotional high point of an album lived. I wasn’t building anything; I was just tapping “next”.
And I missed that older version of myself: the one who would happily spend an entire evening fine-tuning a mixtape for someone, or sit on a bed with a stack of CDs, deciding which seven could come on a trip.&lt;/p&gt;
&lt;h2&gt;What I want back&lt;/h2&gt;
&lt;p&gt;I’d like to reintroduce a slower kind of discovery.&lt;/p&gt;
&lt;p&gt;I want to stumble onto new music that feels like a golden nugget. Something that makes me move or smile or go quiet for a bit. Something I want to listen to on repeat for days or weeks, then forget, then rediscover later and get hit by the whole package again: the sound plus the memories plus the person I was when I first heard it.
I don’t need a perfectly complete or objectively good music collection. I want a &lt;em&gt;personal&lt;/em&gt; one again. A library that looks like a strange, accurate map of my life at different points in time.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/rebuilding-music-01-1024w.jpeg&quot; data-glightbox=&quot;title: A glimpse to my current collection&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/rebuilding-music-01-400w.webp 400w, https://adamfreisinger.me/img/rebuilding-music-01-800w.webp 800w, https://adamfreisinger.me/img/rebuilding-music-01-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/rebuilding-music-01-400w.jpeg 400w, https://adamfreisinger.me/img/rebuilding-music-01-800w.jpeg 800w, https://adamfreisinger.me/img/rebuilding-music-01-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/rebuilding-music-01-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;A shuffled album cover art gallery&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;A glimpse to my current collection&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;h2&gt;LPs, rituals and limits&lt;/h2&gt;
&lt;p&gt;A few years ago, I tried to fix this by going back to vinyl.
LPs did help in some ways. Putting a record on is automatically a ritual: choosing it, taking it out of the sleeve, placing the needle, committing to listening to a whole side. I still enjoy this, and I’d like to keep that as a special thing.
But LPs are expensive, take up physical space, and for me they are tied to being at home and having time and energy for the ritual. That combination makes it less accessible than I&#39;d like to.
Also, discovery through LPs alone is too limited for me. I’m not going to casually buy five random LPs just to see if one of them sticks.
So LPs stayed in the “beautiful, occasional ritual” category, not the “everyday music companion” one. Whenever I attend a live concert, I try to get my hands on an LP to have a memory capsule of the experience.&lt;/p&gt;
&lt;h1&gt;Bandcamp and ripping the old shelves&lt;/h1&gt;
&lt;p&gt;My next iteration was Bandcamp plus local downloads.
&lt;a href=&quot;https://bandcamp.com/&quot;&gt;Bandcamp&lt;/a&gt; is a good compromise: it supports artists directly, I can actually own the music, and I can download high-quality files. Discovery is manual and scattered, but at least I’m picking things with intention. I’m paying attention to album art, labels, tags, and recommendations from people whose taste I find similar.
Lately I’ve started going backwards in time: I’m ripping my old CDs.
Not all of them. Just a few selected pieces at a time – the albums that were once important enough to buy and keep, even when money and shelf space were both limited. I’m using iTunes (or Music.app, or whatever the name is this year) and ripping them to lossless, which turns out to be pleasantly straightforward.
There’s something nice about the slowness of this process. Taking a CD out of its case after years, noticing the tiny scratches and fingerprints, remembering the weird local shop where I bought it. Dropping it into the drive. Hearing it spin. Watching the track titles appear, or not appear, and then having to fix them (for tagging I use &lt;a href=&quot;https://picard.musicbrainz.org/&quot;&gt;MusicBrainz Picard&lt;/a&gt;, which is somewhat less fiddly than it sounds,and my current choice for music playback at home is &lt;a href=&quot;https://swinsian.com/&quot;&gt;Swinsian&lt;/a&gt;).&lt;/p&gt;
&lt;h1&gt;A tiny player with real buttons&lt;/h1&gt;
&lt;p&gt;The other key piece was getting a dedicated music player again.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/rebuilding-music-02-768w.jpeg&quot; data-glightbox=&quot;title: Karnivool comes to Budapest in 2026 🥳&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/rebuilding-music-02-400w.webp 400w, https://adamfreisinger.me/img/rebuilding-music-02-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/rebuilding-music-02-400w.jpeg 400w, https://adamfreisinger.me/img/rebuilding-music-02-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/rebuilding-music-02-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;A digital music player on the go&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Karnivool comes to Budapest in 2026 🥳&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;I bought a Snowsky Echo Mini and bumped its storage with a 256 GB microSD card. Fifteen years after my last iPod shuffle retired, I have a small object in my hand that is &lt;em&gt;just&lt;/em&gt; for playing music. No notifications, no messages, no browsers. Just files and buttons.
I can press play in my pocket. I can skip. I can pause. I don’t have to unlock anything or look at a glowing rectangle. It feels oddly freeing and very nostalgic at the same time.
I copy over the albums, the few carefully chosen things. It’s not “everything”. It’s my current small universe.&lt;/p&gt;
&lt;h1&gt;Yes, it takes more effort&lt;/h1&gt;
&lt;p&gt;Is this more work than opening Spotify and tapping on a personalised playlist? Absolutely.
Ripping CDs, organising folders, tagging files with Picard one by one, hunting down missing covers. All of that takes time. Finding new music that actually catches my attention takes multiple tries. But that album that did catch my attention, now means something again.
Because I touched it. I decided to include it. I know which folder it lives in, which track feels like the core, and where I first listened to it. The friction makes me care again.
Do I feel more connected to the music I listen to now? Hell yes!&lt;/p&gt;
&lt;p&gt;This isn’t a manifesto against streaming. I’ll probably still use it for certain things: quick checks, background playlists, sharing links. But next to that, I want to slowly re-grow a small, dense, personal music library that I handle with my own hands.
Something I can carry in my pocket, not because it contains all the music in the world, but because it contains just enough of the right music for &lt;em&gt;me&lt;/em&gt;, right now.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Ginkgo Notebook</title>
    <link href="https://adamfreisinger.me/posts/2025-10-20/ginkgo-notebook/" />
    <updated>2025-10-20T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2025-10-20/ginkgo-notebook/</id>
    <content type="html">&lt;p&gt;This year was heavy with woodworking, and lately, lighter crafts started calling me again.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/ginkgo-notebook-01-768w.jpeg&quot; data-glightbox=&quot;title: Carving can be so satisfying&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-01-400w.webp 400w, https://adamfreisinger.me/img/ginkgo-notebook-01-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-01-400w.jpeg 400w, https://adamfreisinger.me/img/ginkgo-notebook-01-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/ginkgo-notebook-01-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;A carved lino block&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Carving can be so satisfying&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;I carved a ginkgo leaf from lino—it turned out surprisingly decent for a first try. Then I bound a small A6 notebook: cardboard covers, Rives textured paper, simple pamphlet binding with waxed thread.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/ginkgo-notebook-hero-1600w.jpeg&quot; data-glightbox=&quot;title: Fresh from the workbench&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-hero-400w.webp 400w, https://adamfreisinger.me/img/ginkgo-notebook-hero-800w.webp 800w, https://adamfreisinger.me/img/ginkgo-notebook-hero-1200w.webp 1200w, https://adamfreisinger.me/img/ginkgo-notebook-hero-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-hero-400w.jpeg 400w, https://adamfreisinger.me/img/ginkgo-notebook-hero-800w.jpeg 800w, https://adamfreisinger.me/img/ginkgo-notebook-hero-1200w.jpeg 1200w, https://adamfreisinger.me/img/ginkgo-notebook-hero-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/ginkgo-notebook-hero-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Notebook and paper printed with lino block&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Fresh from the workbench&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Without a paper guillotine, I trimmed the edges by hand and rounded each corner one by one. I stamped the ginkgo on the cover with black paint, and apart from a single rogue fingerprint, it came out just as I’d hoped.&lt;/p&gt;
&lt;p&gt;It’s simple, fits in my hand perfectly, and makes me excited to see what I’ll fill it with.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/ginkgo-notebook-02-683w.jpeg&quot; data-glightbox=&quot;title: Ginkgo Notebook&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-02-400w.webp 400w, https://adamfreisinger.me/img/ginkgo-notebook-02-683w.webp 683w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/ginkgo-notebook-02-400w.jpeg 400w, https://adamfreisinger.me/img/ginkgo-notebook-02-683w.jpeg 683w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/ginkgo-notebook-02-683w.jpeg&quot; width=&quot;683&quot; height=&quot;1024&quot; alt=&quot;A6 notebook with a lino-printed ginkgo leaf cover, and some chestnuts in the front&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Ginkgo Notebook&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;</content>
  </entry>
  <entry>
    <title>A Logic Game from Leftover Wood</title>
    <link href="https://adamfreisinger.me/posts/2025-09-20/logic-game-from-leftover-wood/" />
    <updated>2025-09-20T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2025-09-20/logic-game-from-leftover-wood/</id>
    <content type="html">&lt;p&gt;A few days ago I came across a logic game I had never seen before. I’m always curious about games, and this one struck me as both simple and ingenious. The rules: each piece has four dimensions (height, shape, colour, hollowness), and the goal is to get four in a row sharing any single dimension. The twist is that you don’t place your own piece, rather you choose one for your opponent (since then, I&#39;ve learnt that the name of the game is &lt;a href=&quot;https://en.wikipedia.org/wiki/Quarto_%28board_game%29&quot;&gt;Quarto!&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Out of curiosity, I asked a friend to introduce me to resin printing, and recreating this game from my Shapr3D plans was a perfect first project. I quickly realised I still dislike the feel of plastic, so I decided to build a wooden version instead.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-1024w.jpeg&quot; data-glightbox=&quot;title: Resin printed prototype&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-400w.webp 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-800w.webp 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-400w.jpeg 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-800w.jpeg 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-01-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Resin printed prototype&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Resin printed prototype&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;This project gave me several firsts. I had never created a rod before, and now I managed one using a roundover bit, pushing a slat against a simple router fence, shaping some leftover aniegre. For the game board, I found a piece of cherry that was just the perfect size, and carved it by hand with a V-bit. Later, I improvised a small container from birch offcuts, on which the game board could double as a lid. That was my first time using a guide bushing with the router instead of a templating bit with a bearing. Next time, I’ll probably take out most of the material with a forstner bit first.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-1024w.jpeg&quot; data-glightbox=&quot;title: Satisfying shaping of a rod&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-400w.webp 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-800w.webp 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-400w.jpeg 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-800w.jpeg 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-02-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Making a rod from a rectangular slat with a roundover bit&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Satisfying shaping of a rod&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-1024w.jpeg&quot; data-glightbox=&quot;title: Starting to take shape&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-400w.webp 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-800w.webp 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-400w.jpeg 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-800w.jpeg 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-03-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Some game pieces on the game board before sanding and finishing&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Starting to take shape&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I considered various hinge mechanisms for the lid, but magnets have always fascinated me. I embedded small neodymium magnets, carefully aligning all four pairs, so that the lid can snap onto the base from any direction. It works beautifully, though I’ll remember not to try fitting the magnets next time before sanding and finishing again. Once inside, they refused to come out by any non-destructive way.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-1024w.jpeg&quot; data-glightbox=&quot;title: My professional &quot; zen&quot;=&quot;&quot; press,=&quot;&quot; holding=&quot;&quot; the=&quot;&quot; magnets=&quot;&quot; in=&quot;&quot; place=&quot;&quot; until=&quot;&quot; PU=&quot;&quot; glue=&quot;&quot; cures&quot;=&quot;&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-400w.webp 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-800w.webp 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-400w.jpeg 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-800w.jpeg 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-04-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Various things upon smaller things acting as a press&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;My professional &quot;zen&quot; press, holding the magnets in place until the PU glue cures&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Now that the piece is finished, I find it lovely to look at and satisfying to interact with. It turned out polished in some ways, while still carrying the imperfections that make it unmistakably handmade. I enjoy the interplay of three different woods and the two pigments, the contrast of rounded and rectangular features, and the satisfying snap of the magnets. It makes me smile every time I pick it up.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1600w.jpeg&quot; data-glightbox=&quot;title: I love the interplay of patterns, shapes and colours&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-400w.webp 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-800w.webp 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1200w.webp 1200w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-400w.jpeg 400w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-800w.jpeg 800w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1200w.jpeg 1200w, https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/logic-game-from-leftover-wood-hero-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Logic game Quarto! made of wood&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;I love the interplay of patterns, shapes and colours&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;</content>
  </entry>
  <entry>
    <title>Piano Keys in Oak: A Coat Rack That Refused to Be Ordinary</title>
    <link href="https://adamfreisinger.me/posts/2025-09-03/live-edge-coat-rack/" />
    <updated>2025-09-03T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2025-09-03/live-edge-coat-rack/</id>
    <content type="html">&lt;p&gt;What began as “just a coat rack” for a new fitness room quickly turned into something far more personal. The set included a modern oak shoe rack and a dining-style oak tabletop, but this piece became the wildcard: equal parts design experiment and personal challenge.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-08-1024w.jpeg&quot; data-glightbox=&quot;title: I loved making this one&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-08-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-08-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-08-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-08-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-08-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-08-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-08-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;The assembled oak coat rack with hooks folded out&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;I loved making this one&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;At the lumberyard, I stumbled upon an oak slab with a striking live edge. It wasn’t part of the original plan, but the moment I saw it, I knew I had to keep that raw, organic contour. It meant extra work and custom solutions, but it also promised a chance to make something truly mine.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-01-1024w.jpeg&quot; data-glightbox=&quot;title: A live edge that demands attention&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-01-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-01-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-01-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-01-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-01-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-01-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-01-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;An oak slab with a live edge&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;A live edge that demands attention&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;The hinge system was its own adventure. Before committing to oak, I started with real &lt;em&gt;CAD&lt;/em&gt; but later I turned to another flavour of CAD that stands for &lt;em&gt;Cardboard Aided Design&lt;/em&gt;. Prototyping the folding motion with cardboard, then refining it in plywood, gave me the confidence to move on to solid wood.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-05-768w.jpeg&quot; data-glightbox=&quot;title: Another type of CAD - Cardboard Aided Design 😅&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-05-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-05-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-05-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-05-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-05-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;A cardboard prototype of the coat rack mechanism&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Another type of CAD - Cardboard Aided Design 😅&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-07-768w.jpeg&quot; data-glightbox=&quot;title: It works!&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-07-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-07-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-07-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-07-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-07-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;The piano mechanism working smoothly&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;It works!&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Only after the plywood template felt right did I commit to oak. The mechanism itself is simple in principle but demanding in execution: each hook folds out like the keys of a piano, disappearing flush when not in use.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-multiline is-mobile&quot;&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-02-1024w.jpeg&quot; data-glightbox=&quot;title: Ordnung muss sein! :D&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-02-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-02-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-02-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-02-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-02-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-02-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-02-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;The small pieces laid out in order&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Ordnung muss sein! :D&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-04-1024w.jpeg&quot; data-glightbox=&quot;title: CAD version 1.0&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-04-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-04-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-04-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-04-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-04-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-04-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-04-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;A CAD drawing of the coat rack mechanism copied to plywood&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;CAD version 1.0&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
  &lt;div class=&quot;column is-4&quot;&gt;&lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-06-1024w.jpeg&quot; data-glightbox=&quot;title: Looking good so far&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-06-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-06-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-06-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-06-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-06-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-06-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-06-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;The piano mechanism taking shape&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Looking good so far&lt;/figcaption&gt;
              &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Getting there meant meticulous, almost meditative cycles of assembly, reassembly, sanding, finishing, and testing again. Every adjustment was a respectful discussion with the material: avoiding cracks, respecting the grain, and finding harmony between precision and the organic irregularity.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-03-1024w.jpeg&quot; data-glightbox=&quot;title: Starting to take shape&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-03-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-03-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-03-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-03-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-03-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-03-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-03-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;First rough assembly of the oak pieces&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Starting to take shape&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;By the time I lifted the finished piece above my head for the hero photo, I realised it had become more than a commission. It was a synthesis of many things I care about: careful craft, playful engineering, and, above all, the meeting of function and aesthetics.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-hero-1600w.jpeg&quot; data-glightbox=&quot;title: I really am proud of this one&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-hero-400w.webp 400w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-800w.webp 800w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-1200w.webp 1200w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-hero-400w.jpeg 400w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-800w.jpeg 800w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-1200w.jpeg 1200w, https://adamfreisinger.me/img/live-edge-coat-rack-hero-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/live-edge-coat-rack-hero-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Live edge oak coat rack held high above head&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;I really am proud of this one&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Now it hangs as a statement piece and a quiet reminder: even in everyday objects, beauty and utility can coexist—sometimes all it takes is patience, persistence, and a live edge you refuse to cut away.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Crafting My Own Fregoli: A Ceiling-Mounted Drying Rack from Wood</title>
    <link href="https://adamfreisinger.me/posts/2025-03-09/wooden-fregoli/" />
    <updated>2025-03-09T00:00:00Z</updated>
    <id>https://adamfreisinger.me/posts/2025-03-09/wooden-fregoli/</id>
    <content type="html">&lt;p&gt;My drying rack was always practical—but oh, how it irritated me. Its plastic wheels never cooperated, and every threshold became a battle of rattling metal and collapsing legs. One day, as I struggled with it yet again, I thought, &amp;quot;There has to be something better that takes up less floor space.&amp;quot;&lt;/p&gt;
&lt;p&gt;Enter the &amp;quot;fregoli&amp;quot;—a traditional Hungarian ceiling-mounted drying rack from my childhood. But commercial options disappointed me—either ugly plastic contraptions or overly complicated motorised units priced like sports cars. And the memories also weren’t great: nylon cords frayed and tangled, the constant threat of falling, and a user experience so frustratingly poor it felt like punishment every time. Surprisingly, this very memory sparked my inspiration. Could I create something practical, beautiful, and enjoyable to use?&lt;/p&gt;
&lt;p&gt;Although the initial CAD sketches looked promising, transferring the plans onto the actual wood felt strangely off. Trusting my instincts, I kept the geometric logic but adjusted the spacing parameters on the fly. I&#39;m discovering more and more how important it is for me to plan thoughtfully, yet still leave room for improvisation and intuitive choices.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-01-1024w.jpeg&quot; data-glightbox=&quot;title: I enjoyed geometry classes as a teenager 🤷‍♂️&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-01-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-01-800w.webp 800w, https://adamfreisinger.me/img/wooden-fregoli-01-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-01-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-01-800w.jpeg 800w, https://adamfreisinger.me/img/wooden-fregoli-01-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-01-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Close-up of drawing tools&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;I enjoyed geometry classes as a teenager 🤷‍♂️&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;With many curves, arches, and rounded corners, I initially cut the first piece freehand using a jigsaw and sanded it meticulously until it felt just right. I then used this piece as a template for the rest, routing them precisely with a templating bit. Realising how effortlessly I could reuse the leftover freehand-cut edges for subsequent pieces was incredibly satisfying—a tangible indicator that my jigsawing and routing skills have genuinely leveled up through steady practice. This step felt particularly important, marking a clear increase in my confidence thanks to continuous learning and practice.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-02-768w.jpeg&quot; data-glightbox=&quot;title: Template in action&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-02-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-02-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-02-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-02-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-02-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;Photo of cut out pieces&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Template in action&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;At the lumberyard, I stumbled upon heat-treated oak dowels: a deep, rich colour, and a comforting scent intriguingly reminiscent of something I could not place my finger on yet. Paired with the leftover birch plywood, I envisioned the striking contrast between the dark rods and the plywood’s layered edges.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-03-768w.jpeg&quot; data-glightbox=&quot;title: Beautiful contrasts&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-03-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-03-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-03-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-03-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-03-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;Close-up of birch ply and heat-treated oak&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Beautiful contrasts&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Sanding the rods was something I dreaded initially, but building a simple jig around an inverted orbital sander turned a tedious task into a surprisingly efficient one. Hours into the process, I realised why the smell seemed so oddly familiar: heat-treated oak first smells like something freshly baked, then immediately like some very luxurious whiskey. That sensory discovery alone made the tedious sanding feel worthwhile.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-4by3&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-thumbnail-1024w.jpeg&quot; data-glightbox=&quot;title: Oiling is always satisfying&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-thumbnail-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-thumbnail-800w.webp 800w, https://adamfreisinger.me/img/wooden-fregoli-thumbnail-1024w.webp 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-thumbnail-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-thumbnail-800w.jpeg 800w, https://adamfreisinger.me/img/wooden-fregoli-thumbnail-1024w.jpeg 1024w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-thumbnail-1024w.jpeg&quot; width=&quot;1024&quot; height=&quot;768&quot; alt=&quot;Close-up of wooden drying rack details&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Oiling is always satisfying&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;My favourite design detail: a sliding centrepiece. I wanted stability without sacrificing the flexibility to dry larger towels or sheets. By slightly widening the centre holes, I achieved a snug yet adjustable fit for the oak rods.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-04-768w.jpeg&quot; data-glightbox=&quot;title: Trying to avoid some sanding&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-04-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-04-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-04-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-04-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-04-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;Masking tape on the inner surfaces&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Trying to avoid some sanding&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;As always, there were unexpected challenges. Double-sided tape wasn’t strong enough to hold the pieces together for template routing, forcing me to improvise with screws that doubled as very handy centre markers. And when one oak rod snapped due to a hidden knot, the spare piece I instinctively bought saved the day—even presenting me with an opportunity to test whether PVA glue will bond to heat-treated oak.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-05-768w.jpeg&quot; data-glightbox=&quot;title: All glued up&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-05-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-05-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-05-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-05-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-05-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;Assembled drying rack&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;All glued up&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Mounting the rack was a saga in itself. After hours drilling into the stubborn ceiling, dodging iron rebars, and getting mortar in my ears, the pulley system finally held securely. It was exhausting, and something I&#39;m not really looking forward to doing again.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-07-768w.jpeg&quot; data-glightbox=&quot;title: There, I fixed it.&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-07-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-07-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-07-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-07-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-07-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;The bike lift plate is fixed to the ceiling&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;There, I fixed it.&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Looking at the completed fregoli and feeling the texture of the wood fills me with quiet satisfaction. Sure, there are a few details I&#39;d approach differently next time, but right now, I&#39;m resisting the urge to immediately chase perfection. I&#39;m enjoying the imperfect beauty of what I’ve created, content in knowing that it already brings me joy.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-3by4&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-06-768w.jpeg&quot; data-glightbox=&quot;title: Testing mounting options&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-06-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-06-768w.webp 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-06-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-06-768w.jpeg 768w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-06-768w.jpeg&quot; width=&quot;768&quot; height=&quot;1024&quot; alt=&quot;Assembbled drying rack with hooks and cord&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;Testing mounting options&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Lifting the rack for the first time was not the moment satisfaction hit me, but the next day, when I stepped into the room and saw how it transformed the whole atmosphere. The contrasting woods, the arching crosspieces, and the black lift strings create an intriguing shape resembling the ribcage of some graceful sea creature, casting intricate, ever-changing shadows across the room. The hardoils need a few weeks of curing to completely seal the woods from moisture, and now I find myself looking forward to laundry days, simply for the joy of interacting with something I&#39;ve made with care.&lt;/p&gt;
&lt;div class=&quot;columns is-centered is-mobile&quot;&gt;
              &lt;div class=&quot;column is-four-fifths&quot;&gt;
                &lt;div&gt;
                &lt;figure class=&quot;image is-16by9&quot;&gt;
            &lt;a href=&quot;https://adamfreisinger.me/img/wooden-fregoli-hero-1600w.jpeg&quot; data-glightbox=&quot;title: In a nutshell – it&#39;s mounted!&quot;&gt;
              &lt;picture&gt;&lt;source type=&quot;image/webp&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-hero-400w.webp 400w, https://adamfreisinger.me/img/wooden-fregoli-hero-800w.webp 800w, https://adamfreisinger.me/img/wooden-fregoli-hero-1200w.webp 1200w, https://adamfreisinger.me/img/wooden-fregoli-hero-1600w.webp 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;source type=&quot;image/jpeg&quot; srcset=&quot;https://adamfreisinger.me/img/wooden-fregoli-hero-400w.jpeg 400w, https://adamfreisinger.me/img/wooden-fregoli-hero-800w.jpeg 800w, https://adamfreisinger.me/img/wooden-fregoli-hero-1200w.jpeg 1200w, https://adamfreisinger.me/img/wooden-fregoli-hero-1600w.jpeg 1600w&quot; sizes=&quot;(min-width: 1024px) 50vw, 100vw&quot;&gt;&lt;img src=&quot;https://adamfreisinger.me/img/wooden-fregoli-hero-1600w.jpeg&quot; width=&quot;1600&quot; height=&quot;900&quot; alt=&quot;Ceiling-mounted wooden drying rack in use&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot;&gt;&lt;/picture&gt;
            &lt;/a&gt;
          &lt;/figure&gt;
                &lt;figcaption class=&quot;has-text-centered is-italic is-size-6&quot;&gt;In a nutshell – it&#39;s mounted!&lt;/figcaption&gt;
              &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;
&lt;p&gt;Creating this drying rack was particularly meaningful because it marked my first entirely original design—not a remix, nor inspired by something I&#39;d seen elsewhere. Having the freedom to draw directly onto the wood, cut freehand, and make intuitive changes on the fly was liberating. It feels like a personal milestone: a confirmation that I can create something with confidence, from concept to finished object, that will live up to my (sometimes unrelenting) standards.&lt;/p&gt;
&lt;p&gt;Some friends asked if I’d consider making more to sell. But part of me knows the joy lies in the creation itself—the planning, the woodworking, the problem-solving—not in mass production. Sure, I might enjoy creating another one, perhaps refining the process, working more efficiently. But by the third repetition, I suspect I&#39;d already be redesigning it for CNC manufacturing and finding ways to simplify construction for outsourcing. Honestly, I&#39;d rather just share the design files openly online, making it accessible for others to replicate and improve freely. Maybe this makes me a terrible businessman—but I’m very much at peace with that idea. Perhaps that’s a good lesson learned: the things I love most lose their charm when mass-produced.&lt;/p&gt;
&lt;p&gt;So here it hangs—useful, elegant, mine. A reminder that surrounding myself intentionally with beautiful things that reflect back the qualities I want to nurture in myself is a worthy aspiration.&lt;/p&gt;
</content>
  </entry>
</feed>