<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/">
  <author>
    <name>Mario Lurig</name>
    <uri>https://trmnl.com</uri>
  </author>
  <author>
    <name>Ryan Kulp</name>
    <uri>https://trmnl.com</uri>
  </author>
  <category term="trmnl"
    label="TRMNL"/>
  <generator uri="https://trmnl.com"
    version="0.0.0">TRMNL</generator>
  <icon>https://trmnl.com/favicon.ico</icon>
  <id>https://trmnl.com/blog</id>
  <link href="https://trmnl.com/blog"
    rel="alternate"
    type="text/html"
    title="TRMNL: Blog (web)"/>
  <link href="https://trmnl.com/feeds/blog.xml"
    rel="self"
    type="application/atom+xml"
    title="TRMNL: Blog (feed)"/>
  <logo>https://trmnl.com/images/brand/icons/icon--brand.png</logo>
  <rights>Copyright 2026</rights>
  <subtitle>The latest site news and information.</subtitle>
  <title>TRMNL: Blog</title>
  <updated>2026-06-16T00:00:00+00:00</updated>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/286869&quot;&gt;Home Assistant Entity Cards&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Jef-NL (Discord: &lt;code&gt;TheBoomNL&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/286869&quot;&gt;Home Assistant Entity Cards&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;Usually when I am working or watching something, one of my PC screens has my home assistant dashboard open. I made 1 custom view with statistics like: current ETF values, Temperature in different rooms, Time at work, Over hours for the week and so on. It is data that is really nice to see and to do something with if for instance my work hours are too much for the week, but it doesn&#39;t change soo much and it doesn&#39;t have to take up one of my PC screens. So I really wanted it to be something to just have on the wall.&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Not really, I wanted to make it look and feel the same as the home assistant entity cards. And browsing through the TRMNL Framework page I came across a fun way to play with the grids.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;It needed to look clean. Main focus was the values it shows, so that was the thing put most visible, the icon and layout option are more there to make it look nice.&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;I made the initial logic and display in the shared part of the markup editor, but this did not work for all screen layouts. I had to ask for some help and tips in discord, but after playing with it I figured out the order of loading the shared and the views, and with some help from the DOM on how to make sure the order was correct.&lt;/p&gt;&lt;h3&gt;Did you learn anything you want to apply to future recipes?&lt;/h3&gt;&lt;p&gt;I learned about the construction order of the shared code compared to the views. With this, running a function that is defined on a view is not possible without wrapping the shared code in:&lt;/p&gt;&lt;p&gt;&lt;code&gt;document.addEventListener(&quot;DOMContentLoaded&quot;, () =&amp;gt; {}&lt;/code&gt;&lt;/p&gt;&lt;p&gt;This is something I will probably use more often to reduce duplicate code and allow for defining view specific functions.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;I am pretty new to this as well, don&#39;t even have a physical TRMNL yet. But my tip would be, even in this time of AI, read the documentation 😅 Liquid is something not just TRMNL specific and it&#39;s quite strong, would have used it more if I had read more about it before building this.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;I came across the &lt;a href=&quot;https://trmnl.com/recipes/187524&quot;&gt;HVV Transit&lt;/a&gt; recipe. This is such a useful one to have. My first thought was to build something like this as this would be a must have for rainy mornings when I want to get to the office and want to know what busses and trains show up when.&lt;/p&gt;&lt;h3&gt;What could have made building the recipe easier and faster?&lt;/h3&gt;&lt;p&gt;Combine the framework, liquid and general help documentation in a single browsable webpage. I now had to have 3 different pages open to find what I was looking for. And I kept forgetting that it was called the &lt;a href=&quot;https://trmnl.com/framework/docs/v3&quot;&gt;framework&lt;/a&gt;, so I had to Google &quot;TRMNL developer docs&quot;, that did not give a link to the docs directly but to the main page, from there to developer, docs and in there somewhere there was the link to the Framework help page 🤣. I wasn&#39;t so efficient in &lt;a href=&quot;https://trmnl.com/blog/plugin-recipe-publishing-tips&quot;&gt;building this recipe&lt;/a&gt; but it was fun.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-home-assistant-cards</id>
    <link href="https://trmnl.com/blog/featured-plugin-home-assistant-cards"/>
    <published>2026-06-16T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Home Assistant Entity Cards</title>
    <updated>2026-06-16T00:00:00+00:00</updated>
    <dc:date>2026-06-16T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;We &lt;a href=&quot;https://usetrmnl.com/blog/introducing-trmnl-x&quot;&gt;introduced X&lt;/a&gt; on July 30, 2025. We began assembly + fulfillment on March 18, 2026. As of mid June, both warehouses are fully in stock and shipping all device colors + add-on combinations.&lt;/p&gt;&lt;p&gt;To see your live spot in the order queue, go here:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;https://trmnl.com/order-tracker&lt;/a&gt; (&lt;i&gt;&lt;em&gt;each warehouse ships ~50% of orders, so divide your # by 2&lt;/em&gt;&lt;/i&gt;)&lt;/p&gt;&lt;p&gt;For detailed updates over time, see below.&lt;/p&gt;&lt;h3&gt;When will I receive my TRMNL X?&lt;/h3&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Live in USA, Canada, India, Mexico, or Australia?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our USA warehouse. Due to lost freight this warehouse has experienced intermittent inventory outages, see ”May” section for details, resolved in June.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Live in Europe, Asia, Africa, South America, etc?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our Berlin warehouse. Due to Customs issues and supplier theft, this warehouse experienced intermittent inventory outages and did not receive magnets until May 21. As of June 5 the Berlin warehouse has been shipping all colors and combinations.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Estimating queue &amp;lt;&amp;gt; delivery timeline&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Each warehouse is shipping ~50% of X orders, so if your spot in the queue is 4,000, it&#39;s actually spot 2,000 from your respective origin. As of early June we’re shipping 200+ devices per business day.&lt;/p&gt;&lt;p&gt;Example scenario: you&#39;re in the USA and your spot is 4000 =&amp;gt; 2000. Your order will ship in around 10 business days.&lt;/p&gt;&lt;h3&gt;Tech Specs&lt;/h3&gt;&lt;p&gt;Highlights below, or see everything &lt;a href=&quot;https://trmnl.com/products/x/spec-sheet&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;10.3&quot; 1872x1404 EPD resolution with 16 shades of gray&lt;/li&gt;&lt;li&gt;Dust and basic waterproofing with a hacker-friendly enclosure&lt;/li&gt;&lt;li&gt;ESP32-S3 with 16MB of flash and 8MB of PSRAM as a core processor with fallback 2.4GHz WiFi&lt;/li&gt;&lt;li&gt;5GHz WiFi support via ESP32-C5 as a modem (external antenna)&lt;/li&gt;&lt;li&gt;Support up to 2x 6000mAh 3.8V LiPo batteries with automatic detection&lt;/li&gt;&lt;li&gt;Battery gas gauge from TI for battery SOC/SOH/capacity tracking&lt;/li&gt;&lt;li&gt;Bosch accelerometer for portrait/landscape orientation&lt;/li&gt;&lt;li&gt;Gesture touch-bar based on Azotech IC&lt;/li&gt;&lt;li&gt;Magnetic pogo pin-based mount for charging and accessories (Coming 2026)&lt;/li&gt;&lt;li&gt;OTG support with 5V 2A output&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Dimensions&lt;/h3&gt;&lt;p&gt;These values may change as we scale production. last updated December 15, 2025.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY2MzIxMjU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--afd8df5339ded2d0dbc6f0a9c022b8a90db3d452&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY2MzIxMjUsInB1ciI6ImJsb2JfaWQifX0=--4fe9bcea7ce6f5b07810b792a3e4769bd9b3ec05/TRMNL-X-dimensions-2025-12-15.jpg&quot; filename=&quot;TRMNL-X-dimensions-2025-12-15.jpg&quot; filesize=&quot;40897&quot; width=&quot;1278&quot; height=&quot;832&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;X enclosure dimensions (mm)&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY2MzIxMjUsInB1ciI6ImJsb2JfaWQifX0=--4fe9bcea7ce6f5b07810b792a3e4769bd9b3ec05/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/TRMNL-X-dimensions-2025-12-15.jpg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          X enclosure dimensions (mm)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Weight (device only, no attachments)&lt;/p&gt;&lt;p&gt;1 battery - 362 grams&lt;br&gt;2 batteries - 448 grams&lt;/p&gt;&lt;h3&gt;&lt;b&gt;&lt;strong&gt;August 2025&lt;/strong&gt;&lt;/b&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Multiple boards and controllers support touch gestures, battery charging, and 5ghz WiFi&lt;/li&gt;&lt;li&gt;The circular area interfaces with a waterproof &quot;puck&quot; shaped charging connector, and several test points on the motherboard&#39;s bottom will let us build a QA jig for our warehouse&lt;/li&gt;&lt;li&gt;Prior to release we&#39;ll prototypes to your favorite creators for first-look reviews&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;September 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY0Njk4MDc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--e65fee844581cfc51ea6b1464022c1afb0ca026c&quot; content-type=&quot;image/png&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0Njk4MDcsInB1ciI6ImJsb2JfaWQifX0=--3848d7bc1ccc9b3f6dbae3f418cdc08223198ba7/trmnl-x-board-preview.png&quot; filename=&quot;trmnl-x-board-preview.png&quot; filesize=&quot;187997&quot; width=&quot;2636&quot; height=&quot;2066&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;PCB preview&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0Njk4MDcsInB1ciI6ImJsb2JfaWQifX0=--3848d7bc1ccc9b3f6dbae3f418cdc08223198ba7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-x-board-preview.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          PCB preview
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;ol&gt;&lt;li&gt;We ordered 50x more prototypes with stronger magnets so devices can attach directly to a surface (e.g. refrigerator) without&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl/mounts&quot;&gt;mounts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Dual band WiFi will be powered by the ESP32-C5 and we&#39;ve benchmarked faster speeds + better range with custom modem firmware&lt;/li&gt;&lt;li&gt;Orders with the Battery Upgrade (or Clarity Kit) will now enjoy 10,000mAh versus the announced 7,000mAh variant&lt;/li&gt;&lt;li&gt;Our &quot;charging puck&quot; (name TBD) now has a universal connector for kickstands and other peripheral accessories that will debut in 2026&lt;/li&gt;&lt;li&gt;The same firmware that runs all OG + BYOD devices has&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl/trmnl-firmware/tree/trmnl_x_alpha&quot;&gt;been extended&lt;/a&gt;&amp;nbsp;and is already running my own X prototype, &lt;a href=&quot;https://x.com/useTRMNL/status/1979637211412017281&quot;&gt;preview here&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;October 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY0ODQyMzM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--a5a50e0b90ef76e5acdf6beea3f046c57655527b&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0ODQyMzMsInB1ciI6ImJsb2JfaWQifX0=--11ea7b6379735e1dea6bf5387f6192ba4adb2b2b/TRMNL-X-robin-williams-test.jpeg&quot; filename=&quot;TRMNL-X-robin-williams-test.jpeg&quot; filesize=&quot;265844&quot; width=&quot;960&quot; height=&quot;1280&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Grayscale testing with a GOAT&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY0ODQyMzMsInB1ciI6ImJsb2JfaWQifX0=--11ea7b6379735e1dea6bf5387f6192ba4adb2b2b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-robin-williams-test.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Grayscale testing with a GOAT
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;ol&gt;&lt;li&gt;The first batch of screens arrived at our USA warehouse, more en route to our &lt;a href=&quot;https://usetrmnl.com/blog/slashing-postage-rates-again&quot;&gt;Berlin warehouse&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Gesture bar + charging pucks are in small batch production&lt;/li&gt;&lt;li&gt;Received and approved packaging samples. Model X packaging will be more premium and protective than OG packaging.&lt;/li&gt;&lt;li&gt;Consolidating WiFi antennas (2.4 + 5gh) to a single component&lt;/li&gt;&lt;li&gt;Added 3 angle options (degrees) to the kickstand&lt;/li&gt;&lt;li&gt;[Work in progress] battery options may grow another 20% to 6000/12000mAh variants pending more testing&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;November 2025&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTg1ODA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d8a89686dba4f4b04bc16dcb136c95eab525f0bd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTg1ODAsInB1ciI6ImJsb2JfaWQifX0=--c1477124c066c9bfa66b9ccd6f09cb176c30b9d9/TRMNL-X-assembly.jpeg&quot; filename=&quot;TRMNL-X-assembly.jpeg&quot; filesize=&quot;296326&quot; width=&quot;1280&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Full assembly (3D printed parts, not final)&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTg1ODAsInB1ciI6ImJsb2JfaWQifX0=--c1477124c066c9bfa66b9ccd6f09cb176c30b9d9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-assembly.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Full assembly (3D printed parts, not final)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTc0OTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--824732486c8578547d16075875d06a33df483cc4&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTYsInB1ciI6ImJsb2JfaWQifX0=--74089f2a8c4c8b2d415181e16336639c0fca35f4/TRMNL-X-prototype-back.jpeg&quot; filename=&quot;TRMNL-X-prototype-back.jpeg&quot; filesize=&quot;173771&quot; width=&quot;1280&quot; height=&quot;674&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Fully functional prototype (3D printed case, non-branded silicone pads)&quot;&gt;  &lt;/action-text-attachment&gt;&lt;/p&gt;&lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTYsInB1ciI6ImJsb2JfaWQifX0=--74089f2a8c4c8b2d415181e16336639c0fca35f4/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-prototype-back.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Fully functional prototype (3D printed case, non-branded silicone pads)
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY1MTc0OTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--3cf5cb7b951505b570349e23af70950eec7fd0cd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://usetrmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTcsInB1ciI6ImJsb2JfaWQifX0=--aaf5c4631331eaf1ee4fbc0f8b97cab4cdc71593/TRMNL-X-prototype-front.jpeg&quot; filename=&quot;TRMNL-X-prototype-front.jpeg&quot; filesize=&quot;238857&quot; width=&quot;1280&quot; height=&quot;960&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Prototype running latest (public) firmware release&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTcsInB1ciI6ImJsb2JfaWQifX0=--aaf5c4631331eaf1ee4fbc0f8b97cab4cdc71593/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-X-prototype-front.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Prototype running latest (public) firmware release
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Added extra reset buttons to S3 and C5 MCUs for hacker friendliness, board design is final&lt;/li&gt;&lt;li&gt;Batteries are in production and we can confirm the improved 6k / 12kmAh sizing (announced size: 5k / 7k)&amp;nbsp;&lt;/li&gt;&lt;li&gt;Enclosure injection molds are in production, purchase order placed for thousands of cases in different colors&lt;/li&gt;&lt;li&gt;Magnet deliveries from Chinese factories have been delayed due to recent&amp;nbsp;&lt;a href=&quot;https://www.cnbc.com/2025/11/10/china-suspends-some-critical-mineral-export-curbs-to-the-us-as-trade-truce-takes-hold.html&quot;&gt;Critical Mineral Export Bans&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;December 2025&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Battery production complete, shipping to our warehouses next week&lt;/li&gt;&lt;li&gt;EC licenses underway at testing facilities&lt;/li&gt;&lt;li&gt;Packaging in mass production&lt;/li&gt;&lt;li&gt;Magnets in mass production&lt;/li&gt;&lt;li&gt;[New] OTG functionality - power other devices from your TRMNL&#39;s charging puck&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;January 2026&lt;/h3&gt;&lt;p&gt;From my desk to yours, a &lt;a href=&quot;https://www.youtube.com/watch?v=LNcoAZJP3hk&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY3NTYyNDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--ff980753fe59bd5c1d900042c94b672cb7df22bd&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/trmnl-x-fulfillment-update-jan-2026.jpg&quot; filename=&quot;trmnl-x-fulfillment-update-jan-2026.jpg&quot; filesize=&quot;102241&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/trmnl-x-fulfillment-update-jan-2026.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;February 2026&lt;/h3&gt;&lt;p&gt;From our warehouse to your desk, a &lt;a href=&quot;https://www.youtube.com/watch?v=hiUiWCy93kg&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY4MDMzNzA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--552e5837128e6639a6a9fcb2642fef5ad103b626&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/model-x-fulfillment-update-2.jpeg&quot; filename=&quot;model-x-fulfillment-update-2.jpeg&quot; filesize=&quot;227933&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/model-x-fulfillment-update-2.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;March 2026&lt;/h3&gt;&lt;p&gt;From my desk to yours, a &lt;a href=&quot;https://www.youtube.com/watch?v=TVSFlB5-ldk&quot;&gt;video update&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTY5MDQ5NjM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--871782b71aa9639d525d2c027127dc00c01ca445&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY5MDQ5NjMsInB1ciI6ImJsb2JfaWQifX0=--e75e94298c78b2288a20d9f90d48226ddd589d1f/trmnl-x-now-shipping-video-update.jpg&quot; filename=&quot;trmnl-x-now-shipping-video-update.jpg&quot; filesize=&quot;184157&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTY5MDQ5NjMsInB1ciI6ImJsb2JfaWQifX0=--e75e94298c78b2288a20d9f90d48226ddd589d1f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/trmnl-x-now-shipping-video-update.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;If you prefer not to watch the video, in summary we&#39;re shipping single-battery devices only from our USA warehouse because our magnet supplier ripped us off and sent thousands of weak magnets, following multiple sample shipments with the correct (strong) magnets.&lt;/p&gt;&lt;p&gt;As of Wednesday, March 18:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Berlin warehouse has all 3 types of PCBs&lt;/li&gt;&lt;li&gt;Berlin warehouse should receive device enclosures in 1-2 weeks&lt;/li&gt;&lt;li&gt;USA warehouse has everything and has begun assembly + fulfillment&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;To check your place in the queue go here:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;https://trmnl.com/order-tracker&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If you already have a TRMNL, install the Order Tracker plugin to stay up to date:&lt;br&gt;&lt;a href=&quot;https://trmnl.com/recipes/260817&quot;&gt;https://trmnl.com/recipes/260817&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;How can I estimate the time it will take to receive mine?&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Devices will be shipped in the order they were purchased and we intend to scale to 100s of fulfillments per day, as we have done for past releases and back-in-stock periods.&lt;/p&gt;&lt;p&gt;Our 2x warehouses have trained 15+ individuals to flash, assemble, and ship devices. We do not outsource to 3rd party logistics companies. You can learn more about our end to end philosophy and technology &lt;a href=&quot;https://trmnl.com/blog/in-house-fulfillment&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/logistics-tech&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;April 2026&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTcwMzQ3NzA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--67bc3d1334c8268ecdb70e1f782f074bf1d264b6&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMzQ3NzAsInB1ciI6ImJsb2JfaWQifX0=--4cfe457627cf9aeecbf3fd623d1ecbe4ccb149ab/trmnl-x-magnet-performance.jpeg&quot; filename=&quot;trmnl-x-magnet-performance.jpeg&quot; filesize=&quot;122001&quot; width=&quot;1280&quot; height=&quot;720&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMzQ3NzAsInB1ciI6ImJsb2JfaWQifX0=--4cfe457627cf9aeecbf3fd623d1ecbe4ccb149ab/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-x-magnet-performance.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;See a live demonstration of strong, N52 grade magnets on various refrigerator surfaces in &lt;a href=&quot;https://youtu.be/_0_XQ63_Hf0&quot;&gt;this video update&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;On April 26, &lt;a href=&quot;https://www.reddit.com/r/trmnl/s/niT6hBdSUT&quot;&gt;N52 magnets arrived&lt;/a&gt; at our USA warehouse and assembly/fulfillment pace will increase dramatically beginning Monday, April 27.&lt;/p&gt;&lt;p&gt;On April 27, white + gray cases arrived at our Berlin warehouse and they are building half-assemblies (docks, kickstands) as they await N52 magnets.&lt;/p&gt;&lt;h3&gt;May 2026&lt;/h3&gt;&lt;p&gt;Between May 2-6th the USA warehouse was out of stock of charging docks for several colors due to a supplier mistake. To mitigate we assembled devices of all colors, but only fulfilled in-stock (charging dock) orders, some of which may sequentially be &lt;a href=&quot;https://trmnl.com/order-tracker&quot;&gt;behind yours&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;May 7 - black and sage charging docks arrived, allowing us to mostly ship in sequential order. This ensures the highest throughput overall, as punishing later orders with in-stock colors does not increase the speed of out-of-stock colors arriving&lt;b&gt;&lt;strong&gt;.&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;May 19 - USA warehouse is still awaiting white + gray docks and cannot ship those colors, despite having the other parts. They were lost in transit and a new batch is on the way.&lt;/p&gt;&lt;p&gt;May 21 - Berlin, Germany warehouse received a batch of N52 magnets. They are now shipping black, sage, clear.&lt;/p&gt;&lt;p&gt;May 27 - Berlin, Germany warehouse received white u-mounts and is now able to ship white devices.&lt;/p&gt;&lt;p&gt;May 29 - USA warehouse received missing white charging docks and is finally shipping white devices.&lt;/p&gt;&lt;p&gt;May 31 - USA warehouse ran out of Clear enclosures and sage wall mounts. Black running very low. New shipment (full refresh) expected within a week.&lt;/p&gt;&lt;h3&gt;June 2026&lt;/h3&gt;&lt;p&gt;June 1 - USA warehouse received missing gray charging docks (sent/lost by UPS on April 7).&lt;/p&gt;&lt;p&gt;June 4 - Berlin, Germany warehouse received gray enclosures.&lt;/p&gt;&lt;p&gt;June 5 - Berlin, Germany warehouse received wood enclosures. Berlin is now able to ship all colors.&lt;/p&gt;&lt;p&gt;June 9 - USA warehouse only has inventory to ship white and gray X devices. More of every color arrive Thursday, June 11.&lt;/p&gt;&lt;p&gt;June 11 - USA warehouse received more inventory of every color and is fully in stock, shipping all X combinations.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/model-x-progress</id>
    <link href="https://trmnl.com/blog/model-x-progress"/>
    <published>2026-06-12T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Model X Progress Report</title>
    <updated>2026-06-12T00:00:00+00:00</updated>
    <dc:date>2026-06-12T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;Our BWRY partial color e-ink dashboard (Black, White, Red, Yellow) is a newcomer in our lineup, and in &lt;a href=&quot;https://shop.trmnl.com/products/trmnl-bwry&quot;&gt;our shop&lt;/a&gt; we already demonstrate how well it handles skin tones for photos of people and pets. This carries over to a variety of other plugins that &lt;i&gt;&lt;em&gt;pop&lt;/em&gt;&lt;/i&gt; with a splash of color because they are already image heavy.&lt;/p&gt;&lt;p&gt;Since the screen refresh is longer and requires more flashes per color, the best plugins for your BWRY display are ones that need less frequent &lt;a href=&quot;https://help.trmnl.com/en/articles/10113695-how-refresh-rates-work&quot;&gt;refresh rates&lt;/a&gt; or are out of constant line-of-sight. Luckily, the built-in hook-hold makes it easy to place this unit on the wall with just a nail, or use the kickstand to decorate a shelf. So we&#39;ve compiled a sample of plugins that use the strength of this device to deliver &lt;i&gt;&lt;em&gt;more information&lt;/em&gt;&lt;/i&gt; because of the use of color. &lt;/p&gt;&lt;h2&gt;Imagery Plugins&lt;/h2&gt;&lt;h3&gt;Spotify Dashboard&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ2ODE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--abe5ce6130a1b0ad44d17cb55f0d5e1db5e50a7a&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ2ODEsInB1ciI6ImJsb2JfaWQifX0=--147d857a23eae0363c08f22384b537c3774d66c0/framed-bwry-spotify.png&quot; filename=&quot;framed-bwry-spotify.png&quot; filesize=&quot;356881&quot; width=&quot;872&quot; height=&quot;590&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ2ODEsInB1ciI6ImJsb2JfaWQifX0=--147d857a23eae0363c08f22384b537c3774d66c0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-spotify.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;The &lt;a href=&quot;https://trmnl.com/recipes/247528&quot;&gt;Spotify Dashboard&lt;/a&gt;  brings to the forefront the art that musical artists integrate into their brand. If you are venturing out to listen to new music, the plugin gives you a better sense of what and who these artists are that have caught your lyrical attention. &lt;/p&gt;&lt;h3&gt;RetroWall&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ3MTk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--f65d2acd10f9b4d34fae3498d7670f5e94e3848d&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ3MTksInB1ciI6ImJsb2JfaWQifX0=--40c4ab2d0703f897d12c63e49dd1e2e99fada6fe/framed-bwry-retrowall.png&quot; filename=&quot;framed-bwry-retrowall.png&quot; filesize=&quot;779118&quot; width=&quot;881&quot; height=&quot;601&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ3MTksInB1ciI6ImJsb2JfaWQifX0=--40c4ab2d0703f897d12c63e49dd1e2e99fada6fe/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-retrowall.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Video games have been around for half a lifetime now, and new generations are exploring this rich history along with the nostalgia driven gamers. The &lt;a href=&quot;https://trmnl.com/recipes/306354&quot;&gt;RetroWall&lt;/a&gt; brings the game art to life, powered by a community of fellow retro gamers. Since most people don&#39;t experience these games through their box art anymore, this provides a timeline of art styles, all based on your own explorations.&lt;/p&gt;&lt;h3&gt;Comic Library&lt;/h3&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ3MjY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c5f332f9c91ec7fd33467689e0f3ac00032a2d05&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ3MjYsInB1ciI6ImJsb2JfaWQifX0=--eb83b892e54a3f22f7a372edc657f200fcd91fb5/framed-bwry-comic-library.png&quot; filename=&quot;framed-bwry-comic-library.png&quot; filesize=&quot;343436&quot; width=&quot;871&quot; height=&quot;584&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ3MjYsInB1ciI6ImJsb2JfaWQifX0=--eb83b892e54a3f22f7a372edc657f200fcd91fb5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-comic-library.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;We are constantly surprised at how popular simple &lt;i&gt;&lt;em&gt;levity&lt;/em&gt;&lt;/i&gt; is for plugins. TRMNL devices serve not only as an ambient display of actionable information, but an ePaper joy delivery system. At the end of a long day, smiling or laughing at a comic strip you love can make a big difference in how you feel the rest of the night. That&#39;s what the &lt;a href=&quot;https://trmnl.com/recipes/180935&quot;&gt;Comic Library&lt;/a&gt; provides, with 100&#39;s of comics available in multiple languages.&lt;/p&gt;&lt;h2&gt;Weather &amp;amp; Calendar Plugins&lt;/h2&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ4MjI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--2e335ac2ffb1b0769a4a0ef0a6525f31ae24e4ac&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4MjIsInB1ciI6ImJsb2JfaWQifX0=--0068bdcfdd450d3515126ccb00b56c3dc4209d08/framed-bwry-weather.png&quot; filename=&quot;framed-bwry-weather.png&quot; filesize=&quot;106623&quot; width=&quot;876&quot; height=&quot;601&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4MjIsInB1ciI6ImJsb2JfaWQifX0=--0068bdcfdd450d3515126ccb00b56c3dc4209d08/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-weather.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;We have a wide variety of weather plugins, but this particular &lt;a href=&quot;https://trmnl.com/recipes/305619/&quot;&gt;weather&lt;/a&gt; plugin was custom build for the BWRY device by a community member. Using subtle color hints to identify sunlight and risk factors, like high rain or high UV. This makes looking at the weather an alert, without the notification sound and on your terms.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ4Mzk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--f528e886dbb8561666969e10d4d976573746d5f4&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4MzksInB1ciI6ImJsb2JfaWQifX0=--eb3166c7be73f56baec702fc2efd98b1df87ad46/framed-bwry-wear-today.png&quot; filename=&quot;framed-bwry-wear-today.png&quot; filesize=&quot;59414&quot; width=&quot;874&quot; height=&quot;599&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4MzksInB1ciI6ImJsb2JfaWQifX0=--eb3166c7be73f56baec702fc2efd98b1df87ad46/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-wear-today.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Of course, sometimes you just want to know what to &lt;a href=&quot;https://trmnl.com/recipes/316410&quot;&gt;wear today&lt;/a&gt;, and that&#39;s what this plugin provides. Color is used to quickly mark what is &lt;i&gt;&lt;em&gt;ignorable&lt;/em&gt;&lt;/i&gt;, without withholding the information. &lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ4NTQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--1bb1f269e6714f3ceda3c2482456afcc382c283b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4NTQsInB1ciI6ImJsb2JfaWQifX0=--1edce15ed4abc510f3b1592153598b519e165fea/framed-bwry-simple-calendar.png&quot; filename=&quot;framed-bwry-simple-calendar.png&quot; filesize=&quot;51768&quot; width=&quot;864&quot; height=&quot;585&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ4NTQsInB1ciI6ImJsb2JfaWQifX0=--1edce15ed4abc510f3b1592153598b519e165fea/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-simple-calendar.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;This &lt;a href=&quot;https://trmnl.com/recipes/11023&quot;&gt;simple e-ink calendar&lt;/a&gt; dashboard trades &lt;i&gt;&lt;em&gt;density&lt;/em&gt;&lt;/i&gt; for &lt;i&gt;&lt;em&gt;clarity&lt;/em&gt;&lt;/i&gt;. With highlighting for holidays based on your selected country/state, every family member benefits from this glanceable display.&lt;/p&gt;&lt;h2&gt;Stocks&lt;/h2&gt;&lt;p&gt;Our final plugin builds on the TRMNL created &lt;b&gt;&lt;strong&gt;Stocks&lt;/strong&gt;&lt;/b&gt; plugin and redesigns it with the BWRY in-mind: &lt;a href=&quot;https://trmnl.com/recipes/237580&quot;&gt;Stock portfolio&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc0NzQ5MDA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--8297cb28f7c76575508492a89c89d3100418c804&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ5MDAsInB1ciI6ImJsb2JfaWQifX0=--35682dd5182e3a5fa689e72d195b0e32983053aa/framed-bwry-stock-portfolio.png&quot; filename=&quot;framed-bwry-stock-portfolio.png&quot; filesize=&quot;63981&quot; width=&quot;874&quot; height=&quot;600&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc0NzQ5MDAsInB1ciI6ImJsb2JfaWQifX0=--35682dd5182e3a5fa689e72d195b0e32983053aa/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/framed-bwry-stock-portfolio.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Using our &lt;a href=&quot;https://help.trmnl.com/en/articles/12306729-using-data-mode-to-redesign-a-native-plugin&quot;&gt;data merge&lt;/a&gt; strategy and a feature of our recipe &lt;a href=&quot;https://help.trmnl.com/en/articles/10513740-custom-plugin-form-builder#h_27304a1639&quot;&gt;form fields&lt;/a&gt; to easily map one to the other, the red color meets you at your expectations, highlighting when the value has dropped, a common style choice when viewing financial markets.&lt;/p&gt;&lt;p&gt;And there ends our tour of some BWRY plugins! If you are checking out a recipe, don&#39;t forget to click &lt;b&gt;&lt;strong&gt;PREVIEW&lt;/strong&gt;&lt;/b&gt; and change the preview page to the &lt;code&gt;B/W/R/Y TRMNL&lt;/code&gt; to see if color is integrated into it.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/bwry-featured-plugins-red-yellow</id>
    <link href="https://trmnl.com/blog/bwry-featured-plugins-red-yellow"/>
    <published>2026-06-11T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featuring Plugins for the Black-White-Red-Yellow (BWRY) TRMNL</title>
    <updated>2026-06-11T00:00:00+00:00</updated>
    <dc:date>2026-06-11T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;for more context see the &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;Creator Fund announcement&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;our 8th payout recognizes community contributions between May 7, 2026 and June 2, 2026.&lt;/p&gt;&lt;p&gt;this month also introduces a couple improvements:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;earnings are now visible inside your &lt;a href=&quot;https://trmnl.com/blog/plugin-analytics&quot;&gt;Analytics dashboard&lt;/a&gt;&lt;/li&gt;&lt;li&gt;we increased the BYOD revenue share from 10% → 15%&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;source of funds&lt;/h2&gt;&lt;p&gt;each payout period, a portion of developer-specific revenue goes directly to creators.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;TRMNL+&lt;/p&gt;&lt;p&gt;Shopify&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;Clarity Kit (X)&lt;br&gt;Clarity Kit (OG)&lt;br&gt;BYOD&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$2,900&lt;br&gt;$421&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$1,383.44&lt;br&gt;$10,933.42&lt;br&gt;$13,649.27&lt;br&gt;$13,257.63&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;80%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;10%&lt;br&gt;10%&lt;br&gt;15%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$435&lt;br&gt;$336.80&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$207.52&lt;br&gt;$1,093.34&lt;br&gt;$1,364.93&lt;br&gt;$1,988.64&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$42,544.76&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;mark&gt;$5,426.23&lt;/mark&gt;&lt;/p&gt;&lt;/figure&gt;&lt;h2&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;total payout: $5,426.23&lt;/li&gt;&lt;li&gt;plugin author share: $3,798.36 (70% of base total)&lt;/li&gt;&lt;li&gt;strategic contributors share: $1,627.87 (30% of base total)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;plugin author&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;earnouts are calculated automatically by a collection of factors including a plugin&#39;s age (on live playlists), presence (by % dominance on playlists), and impressions (times displayed on device), relative to all other community plugins. there is a minimum threshold of 50 total connections (installs + forks) to qualify for monthly payouts. see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;strategic contributors&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;are those who contribute to&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl&quot;&gt;TRMNL open source projects&lt;/a&gt;. these earnouts are calculated with a mix of automation + human touch. relative to the funding available, below are allocations by category:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Firmware, 0%&lt;/li&gt;&lt;li&gt;3D Models, 0%&lt;/li&gt;&lt;li&gt;BYOS, 84%&lt;/li&gt;&lt;li&gt;Localizations, 2%&lt;/li&gt;&lt;li&gt;BYOD, 0%&lt;/li&gt;&lt;li&gt;Documentation/Resources, 0%&lt;/li&gt;&lt;li&gt;Tooling, 14%&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;note that these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2&gt;algorithm?&lt;/h2&gt;&lt;p&gt;over time the above weights, revenue share percentages, and minimum thresholds may change. reporting will become more transparent. our goal is an open sourced algorithm and self-service calculations with daily (or faster) resolution.&lt;/p&gt;&lt;p&gt;candid feedback is welcome, email&amp;nbsp;&lt;a href=&quot;mailto:team@trmnl.com&quot;&gt;team@trmnl.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/creator-fund-05-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-05-2026"/>
    <published>2026-06-03T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - May 2026</title>
    <updated>2026-06-03T00:00:00+00:00</updated>
    <dc:date>2026-06-03T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/273979&quot;&gt;MLB Season Standings&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Alain created the &lt;a href=&quot;https://trmnl.com/recipes/273979&quot;&gt;MLB Season Standings&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;When last year&#39;s baseball season was over, my plugin tracking one&#39;s favorite team&#39;s stats quickly became obsolete, and to avoid having a static data on screen for 6 months I replaced it with the end of season standings.At some point, I thought that this would deserve its own plugin, regularly updated, with more stats, so when the new season started, it was a perfect moment for me to get to work on that plugin, plus also work on TRMNL-X compatibility and specificities, and also deliver cleaner code that would leverage the transform and shared parts of the TRMNL framework.&lt;/p&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Not really, I admit that the initial version of this plugin was really created in a rush, just to have something useful to show on screen once last year season was over. So it was more about, &quot;what can the MLB API give me quickly that can be interesting to see for 6 months&quot; and not really about a thoughtful ideation process.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;There&#39;s quite a lot of data to display if you want to see the full baseball league, so for me the look was the main and most important part of the plugin. I had to find a design that would make it legible at a glance, while being comprehensive enough so that you don&#39;t *need* another plugin to get clarifications.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;At one point I drafted very quickly a mockup in Figma, but rapidly realized that the amount of data / number of teams wouldn&#39;t let me be so creative.&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;Not really a challenge, but the past plugins I had done were somewhat quick and dirty; for this one I wanted to go all the way and understand the TRMNL X compatibility challenges, and experiment with as many features from the development framework as possible.&lt;/p&gt;&lt;h3&gt;Did you learn anything you want to apply to future recipes?&lt;/h3&gt;&lt;p&gt;That will sound very newb but the relationships between the layouts, shared and transform parts of code is much clearer for me now.&lt;/p&gt;&lt;h3&gt;What&#39;s your next plugin going to be?&lt;/h3&gt;&lt;p&gt;I&#39;d like to work on something to show incoming movie / videogames / tvshows releases :)&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;Probably the &lt;a href=&quot;https://trmnl.com/recipes/180935&quot;&gt;xkcd&lt;/a&gt; &lt;a href=&quot;https://trmnl.com/recipes/230540&quot;&gt;comic&lt;/a&gt; &lt;a href=&quot;https://trmnl.com/recipes/18267&quot;&gt;one&lt;/a&gt;, it&#39;s always a blast to read Randall Munroe&#39;s crazy creations.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-mlb-season-standings</id>
    <link href="https://trmnl.com/blog/featured-plugin-mlb-season-standings"/>
    <published>2026-06-02T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - MLB Season Standings </title>
    <updated>2026-06-02T00:00:00+00:00</updated>
    <dc:date>2026-06-02T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;thousands of people have built their own TRMNL device. last week we shared a survey to better understand the &lt;a href=&quot;https://docs.trmnl.com/go/diy/byod&quot;&gt;BYOD&lt;/a&gt; ecosystem, below are those results and what we&#39;re doing about it.&lt;/p&gt;&lt;h3&gt;ease of setup&lt;/h3&gt;&lt;p&gt;of 230 responses, 135 purchased a BYOD license. this is not necessary if you want to go fully open source (&lt;a href=&quot;https://docs.trmnl.com/go/diy/byos&quot;&gt;BYOS&lt;/a&gt;), but i&#39;m glad we can bifurcate results by this answer. you&#39;ll see why in a bit.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczODY0OTk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c4fc3745b0c3db27891c5111ee19d4377b290d93&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY0OTksInB1ciI6ImJsb2JfaWQifX0=--51c54e5439893f9094ffc910759ea137463d25f7/trmnl-byod-intuitive-survey-result.png&quot; filename=&quot;trmnl-byod-intuitive-survey-result.png&quot; filesize=&quot;22387&quot; width=&quot;755&quot; height=&quot;313&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;1 - difficult; 5 - easy&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY0OTksInB1ciI6ImJsb2JfaWQifX0=--51c54e5439893f9094ffc910759ea137463d25f7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-byod-intuitive-survey-result.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          1 - difficult; 5 - easy
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;the majority (54.9%) of license holders said it was easy to set up their device, but i want this metric to be at least 70%.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;insight&lt;/strong&gt;&lt;/b&gt;: create smarter (device model specific) guides. -&amp;gt; &lt;a href=&quot;https://trmnl.com/byod&quot;&gt;onboarding wizard is now live&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;does size matter?&lt;/h3&gt;&lt;p&gt;here it appears we&#39;re already in the sweet spot.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczODY1MDA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d4df78755567b5f0d975fa3dcc5434bfebad129d&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MDAsInB1ciI6ImJsb2JfaWQifX0=--76f1b438e61b6e31c2b1fd9f0e2c10988ed86783/trmnl-byod-display-size-interest.png&quot; filename=&quot;trmnl-byod-display-size-interest.png&quot; filesize=&quot;27413&quot; width=&quot;721&quot; height=&quot;287&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Interest by display size&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MDAsInB1ciI6ImJsb2JfaWQifX0=--76f1b438e61b6e31c2b1fd9f0e2c10988ed86783/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-byod-display-size-interest.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Interest by display size
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;although 43.1% of responses are seeking devices larger than 11&quot;, that number drops to 35% when considering only BYOD license holders. i think can be explained by how prohibitively expensive displays become past the ~13 inch threshold.&lt;/p&gt;&lt;p&gt;a license holder is aware of ePaper price jumps, a non license holder may not be and is living in fantasy land. which is OK, we live there too. let&#39;s be neighbors?&lt;/p&gt;&lt;p&gt;larger displays are also a lot more complex to set up. as your screen interface jumps from SPI to parallel, driver boards change, so does power consumption, and of course so does the enclosure needed to fit it all. designing a 3D printable case for a large display would be a 20+ hour print and require multiple joints to connect disparate pieces.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;insight&lt;/strong&gt;&lt;/b&gt;: focus on 7.5 - 13.3&quot; displays. if you need something much bigger, stay tuned for an announcement later this Summer.&lt;/p&gt;&lt;h3&gt;ecosystem compatibility&lt;/h3&gt;&lt;p&gt;this was a curious set of answers, inconclusive from a prioritization standpoint and an obvious indication that we (i) do a poor job communicating the myriad devices already supported.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczODY1MDM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--efd7eb8b67a652d8a6d422ba0c34837e6f06448a&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MDMsInB1ciI6ImJsb2JfaWQifX0=--4a46e0c19ac21ab620f033665d403a431b8211b2/trmnl-byod-device-compatibility-demand.png&quot; filename=&quot;trmnl-byod-device-compatibility-demand.png&quot; filesize=&quot;36884&quot; width=&quot;717&quot; height=&quot;281&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Demand by device&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MDMsInB1ciI6ImJsb2JfaWQifX0=--4a46e0c19ac21ab620f033665d403a431b8211b2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-byod-device-compatibility-demand.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Demand by device
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;insight&lt;/strong&gt;&lt;/b&gt;: ask this question again after increasing ecosystem visibility.&lt;/p&gt;&lt;h3&gt;quickstart wishlist&lt;/h3&gt;&lt;p&gt;for the impulsive shopper i wanted to understand which singular optimization might have swayed their purchase decision. we&#39;re not in the business of selling things people don&#39;t need, but we are in the business of creating &lt;i&gt;&lt;em&gt;aha&lt;/em&gt;&lt;/i&gt; moments.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczODY1MTA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--6ea993937f4678339305256f4343db68054aaaf5&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MTAsInB1ciI6ImJsb2JfaWQifX0=--dbc5004922cb38aaabb180d98f1a936210bd6dd0/trmnl-byod-quickstart-wishlist.png&quot; filename=&quot;trmnl-byod-quickstart-wishlist.png&quot; filesize=&quot;19872&quot; width=&quot;589&quot; height=&quot;360&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;What would help you get started?&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczODY1MTAsInB1ciI6ImJsb2JfaWQifX0=--dbc5004922cb38aaabb180d98f1a936210bd6dd0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-byod-quickstart-wishlist.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          What would help you get started?
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;here we&#39;ll look at only &lt;i&gt;&lt;em&gt;non&lt;/em&gt;&lt;/i&gt; BYOD license holder responses. a whopping 58.8% said a Free Trial would have helped them make a decision, whereas only 41.9% of license holders would have preferred a free trial.&lt;/p&gt;&lt;p&gt;nearly double the number of license holders (31.8%) prefer better documentation to non license holders (17.6%). this makes sense given you don&#39;t know the strength of a guide until you actually try to follow it.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;insight&lt;/strong&gt;&lt;/b&gt;: implement a free trial or interactive demo. → free trials are &lt;a href=&quot;https://trmnl.com/byod-trial&quot;&gt;now live&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;open-ended requests&lt;/h3&gt;&lt;p&gt;this is the most valuable part of the survey because it&#39;s a bummer to read. below are a few random examples, copy/pasted verbatim, along with our reaction.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;p&gt;Request&lt;/p&gt;&lt;p&gt;TRMNL note&lt;/p&gt;&lt;p&gt;Amazon Kindle (jailbroken)&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://github.com/usetrmnl/trmnl-kindle&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://github.com/usetrmnl/trmnl-koreader&quot;&gt;2&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;android tablets&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://play.google.com/store/apps/details?id=ink.trmnl.android&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://play.google.com/store/apps/details?id=ink.trmnl.android.buddy&amp;amp;pli=1&quot;&gt;2&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;Inkplate&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://trmnl.com/api/models&quot;&gt;1&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;Tidbyt&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://help.trmnl.com/en/articles/12430929-tidbyt&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://help.trmnl.com/en/articles/12881005-plugin-composer&quot;&gt;2&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;Apparently the Raspberry Pi repo does not support E-Ink displays last time I checked. If this is still the case, I’d love to see support for that case (please). I’d like to get a Pi and a big e-ink screen and put them together&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://github.com/usetrmnl/trmnl-display/releases/tag/v0.1.0&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://www.reddit.com/r/eink/comments/1r2vixv/pimoroini_133_impression_eink_framed_powered_by/&quot;&gt;2&lt;/a&gt;]&lt;/p&gt;&lt;p&gt;Full color epaper displays&lt;/p&gt;&lt;p&gt;already supported [&lt;a href=&quot;https://github.com/lanrat/homeplate&quot;&gt;1&lt;/a&gt;]&lt;/p&gt;&lt;/figure&gt;&lt;p&gt;clearly we have an education problem. &lt;i&gt;&lt;em&gt;a deep rabbit hole does no good if it&#39;s hard to find&lt;/em&gt;&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;insight&lt;/strong&gt;&lt;/b&gt;: make it easy (+ fun) to figure out which household devices can run TRMNL. -&amp;gt; &lt;a href=&quot;https://trmnl.com/byod&quot;&gt;onboarding wizard is now live&lt;/a&gt;.&lt;/p&gt;&lt;h3&gt;what&#39;s next&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/bitbank2/&quot;&gt;Larry Bank&lt;/a&gt; leads our BYOD effort. for an introduction to some of his impact at TRMNL see &lt;a href=&quot;https://trmnl.com/blog/no-more-flicker&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/power-efficiency&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/environment-sensors&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Larry can reverse engineer and improve just about any device &amp;lt;&amp;gt; display combo, making it TRMNL friendly and power efficient.&lt;/p&gt;&lt;p&gt;for the past several months we&#39;ve expanded BYOD largely on a set of hunches about what people want. today we&#39;re beginning to mix those gut decisions with community feedback.&lt;/p&gt;&lt;p&gt;to the thousands of customers who purchased BYOD licenses, thank you. a portion of your funds go directly to &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;TRMNL Creators&lt;/a&gt; and your live chats, public reviews, and emails will continue guiding us.&lt;/p&gt;&lt;p&gt;to prospective DIY-ers: stay tuned for better docs, risk-free demos (&lt;a href=&quot;https://trmnl.com/byod-trial&quot;&gt;now live&lt;/a&gt;), and less digging around our website to figure out if the device in your hand is TRMNL compatible.&lt;/p&gt;&lt;p&gt;for the raw data used in this post go &lt;a href=&quot;https://docs.google.com/spreadsheets/d/14mMk5gvusTobRWSvGaxG74cvDwhAYJUtTKShUeccC7w/edit?usp=sharing&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/state-of-byod</id>
    <link href="https://trmnl.com/blog/state-of-byod"/>
    <published>2026-05-26T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>State of BYOD</title>
    <updated>2026-05-26T00:00:00+00:00</updated>
    <dc:date>2026-05-26T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/integrations/brick-storage&quot;&gt;Brick Storage&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Daniel Boberg created the &lt;a href=&quot;https://trmnl.com/integrations/brick-storage&quot;&gt;Brick Storage&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I built Brick Storage to track my LEGO collection. Market values, ROI, what&#39;s gaining value. But I kept opening the app just to glance at my portfolio total. When I got my TRMNL, it clicked immediately: this number belongs on my desk, updating quietly, not behind a browser tab. A passive, always-there glance at your collection&#39;s worth. No login, no app, no notification. Just the data, on e-ink, beautiful.&lt;/p&gt;&lt;h3&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I&#39;m a LEGO collector who couldn&#39;t find a tool that treated collections like real portfolios so I built Brick Storage myself. It started as a side project for tracking my own sets, and grew into a platform with 25,000+ sets, live market data from multiple sources, and a small but passionate community. When my TRMNL arrived, the first thing I wanted to see on it was my collection&#39;s value. I&#39;m not just the developer, I&#39;m the first user. Every feature exists because I wanted it on my own desk first.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;Data first. On e-ink you don&#39;t have color or animation, so the information hierarchy has to carry everything. I spent most of my time figuring out what to show vs. what to cut. The portfolio view packs a lot into one screen (value, ROI, sparkline, top performers), but it only works because TRMNL&#39;s CSS framework handles the typography well. For the random discovery view I let the set image do the heavy lifting and kept the text minimal.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;I already had the full data pipeline running on Supabase. So the plugin was mostly about building a new rendering layer on top of existing data. I wrote the markup endpoint that generates HTML for all four TRMNL sizes. No Liquid, no external template engine. Just raw HTML strings with TRMNL&#39;s CSS classes.&lt;/p&gt;&lt;h3&gt;Did you learn anything you want to apply to future recipes?&lt;/h3&gt;&lt;p&gt;Start with all four layout sizes from day one. I built the full view first and then had to rethink everything for half and quadrant. If I&#39;d designed quadrant first, the full view would have come together much faster. Small screen first, then scale up.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;Use the TRMNL &lt;a href=&quot;https://trmnl.com/framework/docs/v3&quot;&gt;CSS Framework&lt;/a&gt; classes instead of writing custom styles. I wasted time with inline CSS before realizing the built-in classes handle e-ink rendering way better. Also, test with actual data early. The preview on trmnl.com looks different from the real device, especially with images and contrast.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;The &lt;a href=&quot;https://trmnl.com/integrations/youtube-analytics&quot;&gt;YouTube Stats&lt;/a&gt; plugin. Simple idea, clean execution. Subscriber count and recent video stats on your desk without opening YouTube Studio. It&#39;s the same principle I follow: Data you check too often deserves a passive e-ink display.&lt;/p&gt;&lt;h3&gt;Do you have a LEGO addiction?&lt;/h3&gt;&lt;p&gt;My TRMNL shows my LEGO portfolio at all times. I caught myself rearranging my desk so it&#39;s the first thing I see in the morning.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-brick-storage</id>
    <link href="https://trmnl.com/blog/featured-plugin-brick-storage"/>
    <published>2026-05-19T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Brick Storage</title>
    <updated>2026-05-19T00:00:00+00:00</updated>
    <dc:date>2026-05-19T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;most startups are founded in big cities with expensive rents. TRMNL started in a basement in the middle of nowhere and later moved to my barn.&lt;/p&gt;&lt;p&gt;with unlimited space it made sense to &lt;a href=&quot;https://trmnl.com/blog/in-house-fulfillment&quot;&gt;fulfill in-house&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/logistics-tech&quot;&gt;create an assembly line&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/blog/slashing-postage-rates-again&quot;&gt;open a 2nd warehouse&lt;/a&gt;. what did &lt;i&gt;&lt;em&gt;not&lt;/em&gt;&lt;/i&gt; make sense was writing a bunch of courier API integrations.&lt;/p&gt;&lt;p&gt;so last April we signed an annual contract to use ShipHero&#39;s fulfillment software at our warehouses in Georgia and Germany. it worked OK but wasn&#39;t great.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;support tickets often ignored&lt;/li&gt;&lt;li&gt;mobile layouts are non-existent&lt;/li&gt;&lt;li&gt;web portal is split across 2x domains with poor SSO between them&lt;/li&gt;&lt;li&gt;it&#39;s generally ugly (we value &lt;a href=&quot;https://trmnl.com/framework&quot;&gt;aesthetics&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;on March 31, 2026 it stopped working at our Berlin warehouse&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;the last point was our breaking point. for weeks we tried being helpful to our account manager and ShipHero&#39;s support team. first they gaslighted us, saying it was normal for postage that usually costs $12 to now cost $140. then a few of my emails landed in their spam. finally they said they&#39;re &quot;looking into it.&quot; insert the Jennifer Lawrence meme.&lt;/p&gt;&lt;p&gt;when they stopped replying to our messages we decided to replace ShipHero with Claude. and holy crap, it worked.&lt;/p&gt;&lt;h3&gt;AI responsibility disclaimer thing&lt;/h3&gt;&lt;p&gt;everything you&#39;ll see below &lt;i&gt;&lt;em&gt;could&lt;/em&gt;&lt;/i&gt; have been done by our team, by hand. but what&#39;s the point? nobody was put on this earth to read FedEx documentation.&lt;/p&gt;&lt;h3&gt;if it ain&#39;t broke...&lt;/h3&gt;&lt;p&gt;ShipHero provided us 2 essential functions:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;adding holds + notes to orders&lt;/li&gt;&lt;li&gt;shipping packages&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;here&#39;s the ShipHero order feed.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTczODM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--f5a11793bbc1251a3ae7ff7f27439aec090477f7&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczODMsInB1ciI6ImJsb2JfaWQifX0=--d53293d9fb7e0f70f346ac41381915924adb76b5/ShipHero-orders-index.jpeg&quot; filename=&quot;ShipHero-orders-index.jpeg&quot; filesize=&quot;99526&quot; width=&quot;1280&quot; height=&quot;632&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;ShipHero Orders - we canceled so it&#39;s empty&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczODMsInB1ciI6ImJsb2JfaWQifX0=--d53293d9fb7e0f70f346ac41381915924adb76b5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/ShipHero-orders-index.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          ShipHero Orders - we canceled so it&#39;s empty
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;and here&#39;s the ShipHero shipping feed. when you click an order it helps you pack + buy postage.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTczODY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d2befe6a1163a0f199e6bba1148660ef0ef0535f&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczODYsInB1ciI6ImJsb2JfaWQifX0=--5804bdaa5f9fc995a4754c38e119d3ac0bf18692/ShipHero-shipping-index.png&quot; filename=&quot;ShipHero-shipping-index.png&quot; filesize=&quot;483969&quot; width=&quot;2356&quot; height=&quot;1404&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;ShipHero Shipping - click an order to pack&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczODYsInB1ciI6ImJsb2JfaWQifX0=--5804bdaa5f9fc995a4754c38e119d3ac0bf18692/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/ShipHero-shipping-index.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          ShipHero Shipping - click an order to pack
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;each of these interfaces is fine. support engineers use the first one to tweak orders, and the warehouse team leverages those notes while packing.&lt;/p&gt;&lt;p&gt;now let&#39;s rebuild it all with $100 in tokens.&lt;/p&gt;&lt;h3&gt;high fidelity mockups&lt;/h3&gt;&lt;p&gt;we took screenshots of each portal and fed them to Claude Design the day it launched. here&#39;s the Order edit page, with fake data of course. sorry Pat Sterling.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTczOTg_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--5999fb4347a9e1e0355437ec9c72f3294644633c&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczOTgsInB1ciI6ImJsb2JfaWQifX0=--0a4ff2777f3fd25689f017bd9a5829ca28ecd4a4/trmnl-order-edit-page.jpeg&quot; filename=&quot;trmnl-order-edit-page.jpeg&quot; filesize=&quot;147823&quot; width=&quot;1280&quot; height=&quot;873&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Order management&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczOTgsInB1ciI6ImJsb2JfaWQifX0=--0a4ff2777f3fd25689f017bd9a5829ca28ecd4a4/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-order-edit-page.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Order management
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;what&#39;s particularly impressive is how Claude figured out the &quot;&lt;i&gt;&lt;em&gt;click item on left, item moves to the right&lt;/em&gt;&lt;/i&gt;&quot; shipping portal UX. we did not offer before/after states.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTczNjQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--20b3546a87ffba6945e74ea124b0a88205d8ef1b&quot; content-type=&quot;video/mp4&quot; url=&quot;/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczNjQsInB1ciI6ImJsb2JfaWQifX0=--08e3b3853169fccfdfa9aabd754f3d99226c0589/eyJfcmFpbHMiOnsiZGF0YSI6eyJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--eb1e585edddca0ed00a56e344c9a8f5723873e51/ShipHero-packing-feature-claude-design.mp4&quot; filename=&quot;ShipHero-packing-feature-claude-design.mp4&quot; filesize=&quot;1264302&quot; width=&quot;1024&quot; height=&quot;488&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;ShipHero + Claude Design&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--video attachment--mp4&quot;&gt;
    &lt;video autoplay=&quot;autoplay&quot; muted=&quot;muted&quot; playsinline=&quot;playsinline&quot; loop=&quot;loop&quot; preload=&quot;metadata&quot; class=&quot;max-w-[100%] pointer-events-none&quot; src=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTczNjQsInB1ciI6ImJsb2JfaWQifX0=--08e3b3853169fccfdfa9aabd754f3d99226c0589/ShipHero-packing-feature-claude-design.mp4&quot;&gt;&lt;/video&gt;
      &lt;figcaption class=&quot;attachment__caption&quot;&gt;ShipHero + Claude Design&lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;this may not win awards but it&#39;s perfect for our needs.&lt;/p&gt;&lt;p&gt;part of that need was inertia-friendliness. more than a dozen team members developed UI/UX muscle memory from shipping things the Old Way. for a successful same-day switchover you don&#39;t want anything to feel new.&lt;/p&gt;&lt;h3&gt;scope creep&lt;/h3&gt;&lt;p&gt;if a bunch of people depend on a tool and you replace it overnight, prepare for a barrage of feature requests. to mitigate only a couple of us had permission to file tickets or touch the code.&lt;/p&gt;&lt;p&gt;our ShipHero contract was set to renew on May 1 so D-Day was April 30. after some margaritas and gas station snacks we swerved into the critical path: deploying live API integrations with UPS and FedEx. DHL and USPS came a couple weeks later. until this point we worked in sandbox environments but now we required live postage rates to resume fulfillment the following day without downtime.&lt;/p&gt;&lt;p&gt;some courier JSON payloads are upwards of 1,000 LOC thanks to our &quot;hazardous materials&quot; status and the dozens of countries we ship to. this step was the most supercharged by LLMs. if we had to write these integrations by hand it might have made more sense to pay ShipZero for another year of shoddy service.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc1ODQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--0e648688613715e9ec58ea55335c83bf31179695&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1ODQsInB1ciI6ImJsb2JfaWQifX0=--363045562bb41193c3210da5b6bcda13375f8782/warehouse-web-tickets.jpeg&quot; filename=&quot;warehouse-web-tickets.jpeg&quot; filesize=&quot;153632&quot; width=&quot;1280&quot; height=&quot;962&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;GH Issues → Production&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1ODQsInB1ciI6ImJsb2JfaWQifX0=--363045562bb41193c3210da5b6bcda13375f8782/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/warehouse-web-tickets.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          GH Issues → Production
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;filing async tickets for Liz made our rollout as calm as possible. we even had time for Whataburger and a walk around Callaway Gardens.&lt;/p&gt;&lt;h3&gt;build methodology&lt;/h3&gt;&lt;p&gt;to actually write the code we used Claude (CLI) and the Superpowers skill:&lt;br&gt;&lt;a href=&quot;https://github.com/obra/superpowers&quot;&gt;https://github.com/obra/superpowers&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Superpowers takes a Socratic approach with seemingly endless loops of clarifying questions to determine exactly what you want. where it really shines is architecture.&lt;/p&gt;&lt;p&gt;i personally enjoy architecture design and admittedly we had a head start: observing ShipHero&#39;s nouns and verbs for a year. one of the harrier aspects in my opinion was multi-warehouse support and determining which objects should support &lt;code&gt;null&lt;/code&gt; friendly foreign keys.&lt;/p&gt;&lt;p&gt;another great Superpowers feature is tests. lots and lots of tests. there is probably room for a new term like &lt;code&gt;Clanker&#39;s Harness&lt;/code&gt; which states that slop is 80% as safe as it is tested.&lt;/p&gt;&lt;p&gt;big shout out to &lt;a href=&quot;https://blog.fsck.com/&quot;&gt;Jesse Vincent&lt;/a&gt; for creating this systematic approach to turning huge projects into chewable nuggets.&lt;/p&gt;&lt;h3&gt;final product&lt;/h3&gt;&lt;p&gt;shipping physical products requires 4x6 postage labels. we built a network printer utility in Swift that spits out packing slips and shipping labels from any computer to any thermal printer at either of our warehouses in 1 click.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc0MDk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--4f50da4cdea15abb8da9c559f9d69c3968f2901f&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MDksInB1ciI6ImJsb2JfaWQifX0=--075d9d057ec74b7082bb0855e02d964c01a8e986/trmnl-logistics-shipping-station.jpeg&quot; filename=&quot;trmnl-logistics-shipping-station.jpeg&quot; filesize=&quot;75426&quot; width=&quot;1280&quot; height=&quot;690&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Setting up shipping stations&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MDksInB1ciI6ImJsb2JfaWQifX0=--075d9d057ec74b7082bb0855e02d964c01a8e986/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-logistics-shipping-station.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Setting up shipping stations
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;next you&#39;ll want to filter orders for shipment based on priority, what&#39;s in stock, and whatever other logistics challenge you may be contending with that day.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc0MTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--bebd7ce3df7e6dd261476a5c575b8614c1a6ee5d&quot; content-type=&quot;video/mp4&quot; url=&quot;/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MTcsInB1ciI6ImJsb2JfaWQifX0=--aa441d913893ad02f852b9f2a75f6f6064607977/eyJfcmFpbHMiOnsiZGF0YSI6eyJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--eb1e585edddca0ed00a56e344c9a8f5723873e51/trmnl-whweb-shipping-queue.mp4&quot; filename=&quot;trmnl-whweb-shipping-queue.mp4&quot; filesize=&quot;1552772&quot; width=&quot;1024&quot; height=&quot;576&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Filtering orders for shipment&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--video attachment--mp4&quot;&gt;
    &lt;video autoplay=&quot;autoplay&quot; muted=&quot;muted&quot; playsinline=&quot;playsinline&quot; loop=&quot;loop&quot; preload=&quot;metadata&quot; class=&quot;max-w-[100%] pointer-events-none&quot; src=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MTcsInB1ciI6ImJsb2JfaWQifX0=--aa441d913893ad02f852b9f2a75f6f6064607977/trmnl-whweb-shipping-queue.mp4&quot;&gt;&lt;/video&gt;
      &lt;figcaption class=&quot;attachment__caption&quot;&gt;Filtering orders for shipment&lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;once an order is selected, WebSockets lock it to that warehouse team member to prevent another person from creating a double shipment.&lt;/p&gt;&lt;p&gt;if the same person places multiple orders they&#39;re bubbled up in a Merge Orders interface where we can save on postage fees and reduce customer confusion.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc0MzM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--e31238b84e735c02b210ffb6d33ef56d10e6c6f1&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MzMsInB1ciI6ImJsb2JfaWQifX0=--c9be8855d098dc58c3cb9205d35dd12095eb3aba/trmnl-whweb-merge-orders.jpeg&quot; filename=&quot;trmnl-whweb-merge-orders.jpeg&quot; filesize=&quot;57345&quot; width=&quot;1280&quot; height=&quot;430&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Merging orders from the same customer&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0MzMsInB1ciI6ImJsb2JfaWQifX0=--c9be8855d098dc58c3cb9205d35dd12095eb3aba/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-whweb-merge-orders.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Merging orders from the same customer
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;when you&#39;re ready to ship, clicking SKUs on the left side loads up a package on the right side. for bulk orders we can instantiate multiple boxes and print unique labels + packing slips for each one.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc0NDc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--9ff7dbb02a0547b703e96299b1c755b372b2691d&quot; content-type=&quot;video/mp4&quot; url=&quot;/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0NDcsInB1ciI6ImJsb2JfaWQifX0=--e15be772debd1a90f9d6bbf58399e27049b2ecf5/eyJfcmFpbHMiOnsiZGF0YSI6eyJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--eb1e585edddca0ed00a56e344c9a8f5723873e51/trmnl-whweb-packing-orders.mp4&quot; filename=&quot;trmnl-whweb-packing-orders.mp4&quot; filesize=&quot;2842039&quot; width=&quot;1024&quot; height=&quot;633&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Packing + buying postage&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--video attachment--mp4&quot;&gt;
    &lt;video autoplay=&quot;autoplay&quot; muted=&quot;muted&quot; playsinline=&quot;playsinline&quot; loop=&quot;loop&quot; preload=&quot;metadata&quot; class=&quot;max-w-[100%] pointer-events-none&quot; src=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc0NDcsInB1ciI6ImJsb2JfaWQifX0=--e15be772debd1a90f9d6bbf58399e27049b2ecf5/trmnl-whweb-packing-orders.mp4&quot;&gt;&lt;/video&gt;
      &lt;figcaption class=&quot;attachment__caption&quot;&gt;Packing + buying postage&lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;other wild features&lt;/h3&gt;&lt;p&gt;logistics is not as simple as &quot;get money, ship device.&quot;&lt;/p&gt;&lt;p&gt;pending the customer&#39;s location, line items, or special requests, we may need to adjust details on the fly regarding including where the order is shipped from, which courier/method is used, Incoterms, and many other details.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc1MDI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--19fdb55c52d894cd201aa018e652486eea2bbc4b&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1MDIsInB1ciI6ImJsb2JfaWQifX0=--f3c1a2dac90fa23c2cafd33a113ca6db5962c61c/trmnl-whweb-automation-rules.jpeg&quot; filename=&quot;trmnl-whweb-automation-rules.jpeg&quot; filesize=&quot;124027&quot; width=&quot;1280&quot; height=&quot;729&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Automation Rules&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1MDIsInB1ciI6ImJsb2JfaWQifX0=--f3c1a2dac90fa23c2cafd33a113ca6db5962c61c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-whweb-automation-rules.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Automation Rules
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;for this we built Automation Rules. it leverages the same infrastructure as our &lt;a href=&quot;https://help.trmnl.com/en/articles/14130649-serverless&quot;&gt;Serverless&lt;/a&gt; function, allowing us to finesse orders automatically following webhooks from our storefront.&lt;/p&gt;&lt;p&gt;here&#39;s one such rule which sets US-origin shipments to either UPS Ground or UPS SurePost pending the SKU and customer location.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTczMTc1Mzk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--a9485d058c537517c645352af118e50a92bd3e7f&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1MzksInB1ciI6ImJsb2JfaWQifX0=--e7374dd887086ce16fc713c1fadb1527da743203/trmnl-automation-rule-example.jpeg&quot; filename=&quot;trmnl-automation-rule-example.jpeg&quot; filesize=&quot;137872&quot; width=&quot;1280&quot; height=&quot;848&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Automation Rule - UPS Method&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTczMTc1MzksInB1ciI6ImJsb2JfaWQifX0=--e7374dd887086ce16fc713c1fadb1527da743203/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-automation-rule-example.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Automation Rule - UPS Method
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;we can write these rules in Python, Ruby, or Node. Clicking &quot;actions&quot; on the right side injects the relevant return values for the parser. it&#39;s flexible and easy to simulate outcomes with a Test Rule and Execution Log below the code editor.&lt;/p&gt;&lt;p&gt;even more features not depicted:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SKU and Box management with HS codes, Customs Invoice setters, and weight/dimensions&lt;/li&gt;&lt;li&gt;Carrier and Storefront CRUD with wholesale partner CSV import&lt;/li&gt;&lt;li&gt;User management with roles/permissions&lt;/li&gt;&lt;li&gt;Payroll automation&lt;/li&gt;&lt;li&gt;Firmware flashing and PCB provisioning, detailed further &lt;a href=&quot;https://trmnl.com/blog/logistics-tech&quot;&gt;here&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;by the numbers&lt;/h3&gt;&lt;p&gt;we (&lt;a href=&quot;https://trmnl.com/about&quot;&gt;Liz&lt;/a&gt;) spent 80-100 hours building this, then another week on-site to deploy and live debug with the USA warehouse team. our German warehouse was up and running the following Monday.&lt;/p&gt;&lt;p&gt;using ShipHero we sent 30,000+ packages for about $0.76 each. accounting for ongoing maintenance to this platform, that cost should decrease by 2-3x. it&#39;s also much, much better than ShipHero. pages load faster, labels &lt;i&gt;&lt;em&gt;print&lt;/em&gt;&lt;/i&gt; faster, filtering is more powerful, there are no contracts, and we own it.&lt;/p&gt;&lt;h3&gt;what this means&lt;/h3&gt;&lt;p&gt;from a customer perspective, TRMNL switching logistics platforms is a distinction without a difference. from ShipHero&#39;s perspective this should be a wakeup call.&lt;/p&gt;&lt;p&gt;enterprise software providers who don&#39;t take their responsibility seriously and rely on 10 page legal contracts to prevent churn deserve every bit of pain that a smart person with a subscription to an autocomplete CLI can incur.&lt;/p&gt;&lt;p&gt;if &lt;i&gt;&lt;em&gt;you&lt;/em&gt;&lt;/i&gt; have a need for hackable 3PL software, let us know and we might open source ours. it&#39;s kind of what we do.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/vibe-coding-shiphero</id>
    <link href="https://trmnl.com/blog/vibe-coding-shiphero"/>
    <published>2026-05-15T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Vibe Coding a $20k /year Enterprise Logistics Platform</title>
    <updated>2026-05-15T00:00:00+00:00</updated>
    <dc:date>2026-05-15T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Ryan Kulp</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;p&gt;for more context see the &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;Creator Fund announcement&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;our 7th payout rewards community contributions between April 6, 2026 and May 6, 2026.&lt;/p&gt;&lt;h2&gt;source of funds&lt;/h2&gt;&lt;p&gt;each payout period, a portion of developer-specific revenue goes directly to creators.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;TRMNL+&lt;/p&gt;&lt;p&gt;Shopify&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;Clarity Kit (X)&lt;br&gt;Clarity Kit (OG)&lt;br&gt;BYOD&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$3,980&lt;br&gt;$538&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$149.65&lt;br&gt;$12,139.38&lt;br&gt;$14,379.29&lt;br&gt;$18,095.15&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;80%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&gt;10%&lt;br&gt;10%&lt;br&gt;10%&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$697&lt;br&gt;$430.40&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$22.45&lt;br&gt;$1,213.94&lt;br&gt;$1,437.93&lt;br&gt;$1,809.52&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$49,281.47&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;mark&gt;$5,511.23&lt;/mark&gt;&lt;/p&gt;&lt;/figure&gt;&lt;h2&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;total payout: $5,511.23&lt;/li&gt;&lt;li&gt;plugin author share: $3,857.86 (70% of base total)&lt;/li&gt;&lt;li&gt;strategic contributors share: $1,653.37 (30% of base total)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;plugin author&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;earnouts are calculated automatically by a collection of factors including a plugin&#39;s age (on live playlists), presence (by % dominance on playlists), and impressions (times displayed on device), relative to all other community plugins. there is a minimum threshold of 50 total connections (installs + forks) to qualify for monthly payouts. see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;strategic contributors&lt;/strong&gt;&lt;/b&gt;&amp;nbsp;are those who contribute to&amp;nbsp;&lt;a href=&quot;https://github.com/usetrmnl&quot;&gt;TRMNL open source projects&lt;/a&gt;. these earnouts are calculated with a mix of automation + human touch. relative to the funding available, below are allocations by category:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Firmware, 6%&lt;/li&gt;&lt;li&gt;3D Models, 0%&lt;/li&gt;&lt;li&gt;BYOS, 52%&lt;/li&gt;&lt;li&gt;Localizations, 5%&lt;/li&gt;&lt;li&gt;BYOD, 34%&lt;/li&gt;&lt;li&gt;Documentation/Resources, 0%&lt;/li&gt;&lt;li&gt;Tooling, 3%&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;note that these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2&gt;algorithm?&lt;/h2&gt;&lt;p&gt;over time the above weights, revenue share percentages, and minimum thresholds may change. reporting will become more transparent. our goal is an open sourced algorithm and self-service calculations with daily (or faster) resolution.&lt;/p&gt;&lt;p&gt;candid feedback is welcome, email&amp;nbsp;&lt;a href=&quot;mailto:team@trmnl.com&quot;&gt;team@trmnl.com&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/creator-fund-04-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-04-2026"/>
    <published>2026-05-07T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - April 2026</title>
    <updated>2026-05-07T00:00:00+00:00</updated>
    <dc:date>2026-05-07T00:00:00+00:00</dc:date>
  </entry>
  <entry>
    <author>
      <name>Mario Lurig</name>
      <uri>https://trmnl.com</uri>
    </author>
    <category term="trmnl"
      label="TRMNL"/>
    <content type="html">&lt;div data-controller=&quot;blog-syntax-highlighter&quot; class=&quot;lexxy-content&quot;&gt;&lt;blockquote&gt;This post is part of a series, featuring the incredible work of plugin authors who grow the TRMNL plugin ecosystem with every contribution. The TRMNL team has individually selected these plugins and authors to be featured.&lt;/blockquote&gt;&lt;h2&gt;&lt;a href=&quot;https://trmnl.com/recipes/260558&quot;&gt;Supercars Drivers&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member Sam Sharp created the &lt;a href=&quot;https://trmnl.com/recipes/260558&quot;&gt;Supercars Drivers&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I wanted this plugin to exist because Supercars is one of my favorite racing series and I liked the idea of having the standings visible in a clean, simple format while giving me one less excuse to check my phone. It also felt like a good addition to the marketplace because Australian sports had not yet been well represented. More broadly, it became part of a fun hobby of extending the project to cover the sports I enjoy that had not been built yet.&lt;/p&gt;&lt;h3&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;Primarily wanted a clean and functional design so it&#39;s easily readable and makes use of all the screen real estate afforded by each device/layout. As I have begun to branch out and try new designs I&#39;ve started to increase my use of images and more appealing design elements from the framework.&lt;/p&gt;&lt;h4&gt;TRMNL OG&lt;/h4&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTcxOTIwOTI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--fab3b9d96f3315695023967ffe11d099fdfd57c5&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcxOTIwOTIsInB1ciI6ImJsb2JfaWQifX0=--4a8fb8060abc9fd45988023edec5062607170f88/Supercars%20Drivers%20260558.png&quot; filename=&quot;Supercars Drivers 260558.png&quot; filesize=&quot;7803&quot; width=&quot;800&quot; height=&quot;480&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcxOTIwOTIsInB1ciI6ImJsb2JfaWQifX0=--4a8fb8060abc9fd45988023edec5062607170f88/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/Supercars%20Drivers%20260558.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h4&gt;TRMNL X&lt;/h4&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTcxOTIxMDQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--a4ee5fcc8768358513f1686b4d269c3b0649c3a3&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcxOTIxMDQsInB1ciI6ImJsb2JfaWQifX0=--2a6b1e678d0bafa3d81d26eb6a7d485b0d8ca7bb/Supercars%20Drivers%20X%20260558.png&quot; filename=&quot;Supercars Drivers X 260558.png&quot; filesize=&quot;141703&quot; width=&quot;1039&quot; height=&quot;778&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img src=&quot;https://trmnl.com/rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTcxOTIxMDQsInB1ciI6ImJsb2JfaWQifX0=--2a6b1e678d0bafa3d81d26eb6a7d485b0d8ca7bb/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/Supercars%20Drivers%20X%20260558.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Main inspirations on content and design were Daniel Sitnik&#39;s &lt;a href=&quot;https://trmnl.com/recipes/11914&quot;&gt;Formula 1 Races&lt;/a&gt; and &lt;a href=&quot;https://trmnl.com/recipes/30563&quot;&gt;Formula 1 Constructor Standings&lt;/a&gt; plugins.&lt;/p&gt;&lt;h3&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;Was initially writing everything manually and updating static JSON as a PoC and test rendering on a real device. Recently getting a Github Copilot subscription and OpenCode has really sped up the building and testing. Incorporating the preview and API tools in the &lt;a href=&quot;https://github.com/usetrmnl/trmnlp&quot;&gt;trmnlp&lt;/a&gt; repo has been especially helpful with iterating locally before easily updating all layouts through the API (once instating a beta plugin strategy to prevent over eager agents pushing changes to published recipes).&lt;/p&gt;&lt;h3&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;The plugin categories were a bit buried in the docs so took me a while to find which values were allowed. Making changes to layout when they are relevant to multiple layouts/plugins got tedious when performing manually. Only gap I&#39;ve found is the inability to adjust the custom fields easily through the preview GUI. I&#39;ve written a wrapper to handle this when launching the preview but would be more convenient through the GUI. Would also be useful to access the Chef linter prior to requesting publishing.&lt;/p&gt;&lt;h3&gt;Did you learn anything you want to apply to future recipes?&lt;/h3&gt;&lt;p&gt;More rounded backgrounds / info tiles, icons and horizontal/rounded gauges. Also trying to think about more custom fields that may be useful and applying them to more devices and layouts as mine primarily focus on the v3 Full layout.&lt;/p&gt;&lt;h3&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;Keep as close to the UI &lt;a href=&quot;https://trmnl.com/framework/docs/v3&quot;&gt;Framework&lt;/a&gt; as possible as some styling may appear to work in the preview but not once rendered on device. Try to think about how best to use all real estate afforded on each device and what custom fields might be useful/fun to incorporate early as refactoring later on can get tedious.&lt;/p&gt;&lt;h3&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;&lt;a href=&quot;https://trmnl.com/integrations/strmnl&quot;&gt;STRMNL Activity&lt;/a&gt; - Has been really satisfying seeing my activities stack as the week progresses and being laid out in a really nice format.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-supercars-drivers</id>
    <link href="https://trmnl.com/blog/featured-plugin-supercars-drivers"/>
    <published>2026-05-06T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Supercars Drivers</title>
    <updated>2026-05-06T00:00:00+00:00</updated>
    <dc:date>2026-05-06T00:00:00+00:00</dc:date>
  </entry>
  <dc:date>2026-06-16T00:00:00+00:00</dc:date>
</feed>