<?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>Ryan Kulp</name>
    <uri>https://trmnl.com</uri>
  </author>
  <author>
    <name>Mario Lurig</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-10-13T00:00:00+00:00</updated>
  <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;it&#39;s a privilege to write this post. exactly 2 years ago we began shipping 1,325 Kickstarter preorders, &lt;strong&gt;today we&#39;re releasing a small batch color run with special perks&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;in 2024 we tried Henry Ford&#39;s advice, telling customers &quot;&lt;em&gt;any color is fine... as long as it&#39;s black.&lt;/em&gt;&quot; reality (see: comments) quickly overruled that position.&lt;/p&gt;&lt;p&gt;these days we have a bit more latitude. my personal favorite is OG in &lt;a href=&quot;https://shop.trmnl.com/products/trmnl?variant=52942157283633&quot;&gt;dark wood&lt;/a&gt;, but revenue-wise it&#39;s a loser. meanwhile Sage has earned the coveted Wife Approval Status by countless customers. their words, not mine.&lt;/p&gt;&lt;p&gt;so we&#39;re 1 for 2. what business do we have messing with &lt;em&gt;paint&lt;/em&gt;?&lt;/p&gt;&lt;h2 id=&quot;hello-coral&quot;&gt;hello Coral&lt;/h2&gt;&lt;p&gt;we&#39;ve always strived to be &lt;a href=&quot;https://github.com/usetrmnl/firmware&quot;&gt;hacker&lt;/a&gt; friendly, &lt;a href=&quot;https://trmnl.com/byod&quot;&gt;tinkerer&lt;/a&gt; welcome, &lt;a href=&quot;https://help.trmnl.com/en/articles/10003228-how-to-disassemble-your-trmnl&quot;&gt;repairable&lt;/a&gt; and &lt;a href=&quot;https://help.trmnl.com/en/articles/11565162-replacement-parts&quot;&gt;replaceable&lt;/a&gt;. underscoring each of these efforts is transparency, starting with the enclosure itself.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMzA0NzQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c47098f1c4d205ab011a80179caeab117e2869bc&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA0NzQsInB1ciI6ImJsb2JfaWQifX0=--9732db702822848768ac9121383d2c9624d1397d/og-back-shop-coral-color.jpg&quot; filename=&quot;og-back-shop-coral-color.jpg&quot; filesize=&quot;247310&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;TRMNL OG, Coral Edition&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpg&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA0NzQsInB1ciI6ImJsb2JfaWQifX0=--9732db702822848768ac9121383d2c9624d1397d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--dca01e04df3bbc72f37a667e31be1efca2488daa/og-back-shop-coral-color.jpg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA0NzQsInB1ciI6ImJsb2JfaWQifX0=--9732db702822848768ac9121383d2c9624d1397d/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/og-back-shop-coral-color.jpg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          TRMNL OG, Coral Edition
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;clear cases make it easy to know what&#39;s inside. the microcontroller, battery, Wi-Fi antenna, and screen are not a secret. to see them up close, open it with the tools from your TRMNL box.&lt;/p&gt;&lt;h2 id=&quot;why-coral&quot;&gt;why coral?&lt;/h2&gt;&lt;p&gt;back when logos were drawn by hand, Lucian (designer) said &quot;&lt;em&gt;everyone&#39;s doing the blue thing&lt;/em&gt;.&quot; we zigged while Meta zagged, and we landed on &lt;code&gt;#F8654B&lt;/code&gt;.&lt;/p&gt;&lt;p&gt;it was kind of an inside joke until it wasn&#39;t. people started asking for merch, stickers, jumpsuits. actually that&#39;s a good idea.&lt;/p&gt;&lt;p&gt;people also didn&#39;t love our logo on the device. &quot;&lt;em&gt;too much branding&lt;/em&gt;&quot; they said. so we&#39;re doubling down.&lt;/p&gt;&lt;h2 id=&quot;buy-coral&quot;&gt;buy coral&lt;/h2&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMzA1NTQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--dd334e1f4a5afa551955bf4df79dfbe846606a46&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA1NTQsInB1ciI6ImJsb2JfaWQifX0=--f99303df26e3d72d7023e2f1c96652a44ab69f73/og-coral-front.jpg&quot; filename=&quot;og-coral-front.jpg&quot; filesize=&quot;474444&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA1NTQsInB1ciI6ImJsb2JfaWQifX0=--f99303df26e3d72d7023e2f1c96652a44ab69f73/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--dca01e04df3bbc72f37a667e31be1efca2488daa/og-coral-front.jpg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMzA1NTQsInB1ciI6ImJsb2JfaWQifX0=--f99303df26e3d72d7023e2f1c96652a44ab69f73/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/og-coral-front.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;in all seriousness, these perks are included with every Coral Edition device:&lt;/p&gt;&lt;ol&gt;&lt;li value=&quot;1&quot;&gt;&lt;a href=&quot;https://help.trmnl.com/en/articles/11861887-trmnl-faq&quot;&gt;TRMNL+&lt;/a&gt; for 2 years ($100 value)&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;enough &lt;a href=&quot;https://trmnl.com/blog/agent-usage-credits&quot;&gt;AI Usage Credits&lt;/a&gt; to build 100 custom plugins (priceless)&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;5% of your purchase will be donated to &lt;a href=&quot;https://www.tcreef.org/&quot;&gt;Turks &amp;amp; Caicos Coral Reef Fund&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;4&quot;&gt;protection against inflation (resell on eBay)&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;we have 850 in stock and no plans for another batch. there are 500 OGs, 350 Xs, split 60/40 between our American and German warehouses that &lt;a href=&quot;https://trmnl.com/blog/in-house-fulfillment&quot;&gt;we operate ourselves&lt;/a&gt;. every device is hand assembled by our team.&lt;/p&gt;&lt;h4&gt;checkout links&lt;/h4&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Device&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Coral Price&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Regular Price&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://shop.trmnl.com/products/trmnl?variant=56744651489585&quot;&gt;TRMNL OG&lt;/a&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$199&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;$139&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;a href=&quot;https://shop.trmnl.com/products/trmnl-x?variant=56744979628337&quot;&gt;TRMNL X&lt;/a&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$299&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;$229&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;so-yeah&quot;&gt;so yeah&lt;/h3&gt;&lt;p&gt;i&#39;m not a hype guy. don&#39;t buy stuff you don&#39;t need. but if you&#39;re looking for the easiest way to build ePaper dashboards, with extra bragging rights, consider Coral. he&#39;s nice.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/coral-edition</id>
    <link href="https://trmnl.com/blog/coral-edition"/>
    <published>2026-10-13T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Going Coral (Limited Edition Release)</title>
    <updated>2026-10-13T00:00:00+00:00</updated>
    <dc:date>2026-10-13T00: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;&lt;a href=&quot;https://help.trmnl.com/en/articles/14130438-ai-agent&quot;&gt;Agent&lt;/a&gt; no longer requires an API key. starting today, any account with &lt;a href=&quot;https://help.trmnl.com/en/articles/12410549-developer-edition-features&quot;&gt;developer edition&lt;/a&gt; can build plugins for free with a model we&#39;re hosting on your behalf: DeepSeek V4.1 Flash via OpenRouter.&lt;/p&gt;&lt;p&gt;new accounts start with enough credits to build ~5 plugins, and &lt;a href=&quot;https://help.trmnl.com/en/articles/11861887-trmnl-faq&quot;&gt;TRMNL+&lt;/a&gt; members get free credits every month, forever. you can also top up an account with $5, $10 or $20 one-time, and connecting your own model is still supported.&lt;/p&gt;&lt;h3 id=&quot;how-usage-credits-work&quot;&gt;How usage credits work&lt;/h3&gt;&lt;p&gt;see your live balance at the top of &lt;strong&gt;Account › AI Agent&lt;/strong&gt;. this meter is also visible in the bottom of the Agent panel while you build.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUyMjU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--9c7533560d8729d22d97d9f18e0cd2127f934d2a&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyMjUsInB1ciI6ImJsb2JfaWQifX0=--514802ac21c5bb7e825c9e55aa5b8d258e377bb5/usage-credits-card.png&quot; filename=&quot;usage-credits-card.png&quot; filesize=&quot;88263&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyMjUsInB1ciI6ImJsb2JfaWQifX0=--514802ac21c5bb7e825c9e55aa5b8d258e377bb5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/usage-credits-card.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyMjUsInB1ciI6ImJsb2JfaWQifX0=--514802ac21c5bb7e825c9e55aa5b8d258e377bb5/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/usage-credits-card.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;usage credits are spent before tapping into your own model or topped up cash. we add 10% and 30 cents to maintain this service, and this fee is transparent at checkout.&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;You add&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;You pay&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;$5&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;$5.80&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;$10&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;$11.30&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;$20&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;$22.30&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;but again - if you already have an OpenRouter or Anthropic key, nothing changes. add it below &lt;strong&gt;Bring your own key&lt;/strong&gt; and the Agent uses your stack instead.&lt;/p&gt;&lt;h3 id=&quot;what-a-plugin-actually-costs&quot;&gt;What a plugin actually costs&lt;/h3&gt;&lt;p&gt;we ran several tests with DeepSeek v4. here are results from a one-liner i gave it yesterday (typo included): &lt;em&gt;&quot;make an AirGraident plugin, here&#39;s their API: &amp;lt;link&amp;gt;&quot;&lt;/em&gt;&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUyNjE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--d1c17b40079a10fa29374fa96d09453a7c642be6&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNjEsInB1ciI6ImJsb2JfaWQifX0=--efdb1bd6597bd729acf1d7ad9a5deb609cc4894f/trmnl-agent-airgradient-plugin-layouts.png&quot; filename=&quot;trmnl-agent-airgradient-plugin-layouts.png&quot; filesize=&quot;454430&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;AirGradient plugin with TRMNL Framework + Agent Skills&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNjEsInB1ciI6ImJsb2JfaWQifX0=--efdb1bd6597bd729acf1d7ad9a5deb609cc4894f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-agent-airgradient-plugin-layouts.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNjEsInB1ciI6ImJsb2JfaWQifX0=--efdb1bd6597bd729acf1d7ad9a5deb609cc4894f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-agent-airgradient-plugin-layouts.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          AirGradient plugin with TRMNL Framework + Agent Skills
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;the Agent read the docs and got live data flowing from a public weather station. it asked if i wanted to make it flexible for personal &lt;em&gt;and&lt;/em&gt; public monitors, to which i said yes, and boom: &lt;a href=&quot;https://help.trmnl.com/en/articles/10513740-custom-plugin-form-builder&quot;&gt;custom form fields&lt;/a&gt; appeared.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUyNTM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--27aff0f3db2a9d8556ca1d4b2189eabaa895afe4&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNTMsInB1ciI6ImJsb2JfaWQifX0=--455a73a936d96602ee7d5fb8bb9d44080fa12ee0/trmnl-ai-usage-credit-airgradient-plugin-form-fields.png&quot; filename=&quot;trmnl-ai-usage-credit-airgradient-plugin-form-fields.png&quot; filesize=&quot;139972&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;AirGradient plugin form fields&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNTMsInB1ciI6ImJsb2JfaWQifX0=--455a73a936d96602ee7d5fb8bb9d44080fa12ee0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-ai-usage-credit-airgradient-plugin-form-fields.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNTMsInB1ciI6ImJsb2JfaWQifX0=--455a73a936d96602ee7d5fb8bb9d44080fa12ee0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-ai-usage-credit-airgradient-plugin-form-fields.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          AirGradient plugin form fields
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;this build took 70 API calls, totaling 2.6 million tokens in and 43,000 out. the token spend was $0.0393.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUyNzM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--be12c02508c5e500db0b9262c889086cc6b32e6b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNzMsInB1ciI6ImJsb2JfaWQifX0=--baa483eef3ac43de8aba1e2de51532b29fbe6d35/trmnl-airgradient-plugin-token-spend.png&quot; filename=&quot;trmnl-airgradient-plugin-token-spend.png&quot; filesize=&quot;216794&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNzMsInB1ciI6ImJsb2JfaWQifX0=--baa483eef3ac43de8aba1e2de51532b29fbe6d35/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-airgradient-plugin-token-spend.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyNzMsInB1ciI6ImJsb2JfaWQifX0=--baa483eef3ac43de8aba1e2de51532b29fbe6d35/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-airgradient-plugin-token-spend.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;but AirGradient is just 1 example. this week, people have built plugins for anywhere from 0.6 cents to 10.6 cents, with a median cost of 4.4 cents. with these benchmarks, even a $5 top-up affords ~100 custom dashboards without writing a single line of code.&lt;/p&gt;&lt;p&gt;meanwhile, here&#39;s what a typical Agent build costs using other supported models:&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUyODU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--f4ff9c8288514bccde4394fe1d0223fc21ef53a5&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyODUsInB1ciI6ImJsb2JfaWQifX0=--d0a7036e8b022ce06d592650edcc81c09790f2dc/trmnl-ai-agent-model-cost.png&quot; filename=&quot;trmnl-ai-agent-model-cost.png&quot; filesize=&quot;178615&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Averages from 350+ Agent-assisted plugins&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyODUsInB1ciI6ImJsb2JfaWQifX0=--d0a7036e8b022ce06d592650edcc81c09790f2dc/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-ai-agent-model-cost.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUyODUsInB1ciI6ImJsb2JfaWQifX0=--d0a7036e8b022ce06d592650edcc81c09790f2dc/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-ai-agent-model-cost.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Averages from 350+ Agent-assisted plugins
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;we&#39;ll continue to support leading models, but our &lt;a href=&quot;https://trmnl.com/framework/docs/3.4&quot;&gt;Framework&lt;/a&gt; design system and &lt;a href=&quot;https://github.com/usetrmnl/trmnl-agent-skills&quot;&gt;Agent Skills&lt;/a&gt; make DeepSeek an obvious choice for most people and most custom plugins.&lt;/p&gt;&lt;h3 id=&quot;why-it-s-so-cheap&quot;&gt;Why it&#39;s so cheap&lt;/h3&gt;&lt;p&gt;we&#39;ve built or helped build thousands of ePaper dashboards. nearly everything we know about the subject is both open source and well documented. more specifically...&lt;/p&gt;&lt;p&gt;&lt;strong&gt;cheap tokens.&lt;/strong&gt; with OpenRouter, DeepSeek V4.1 Flash costs ~$0.14 per million input tokens and $0.42 per million output tokens. tokens it already saw in the prompt cost $0.004 per million. since DeepSeek reads images too, which our Agent uses to generate and compare screenshots against Framework CSS expectations.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;lean prompt. &lt;/strong&gt;invoking the Agent includes a set of battle-tested instructions, totaling 168 KB of text, roughly 40,000 tokens, which the provider caches. from my AirGradient test build, 97% of the input tokens were cache reads. across all TRMNL DeepSeek V4.1 Flash chat so far, cache reads account for 87% of input tokens. without this in place, the same plugin would have cost 10x or 39 cents (vs 3.9 cents).&lt;/p&gt;&lt;p&gt;&lt;strong&gt;knows how to meet ladies (HTML).&lt;/strong&gt; with models now being used to cure cancer, they&#39;re more than capable of writing HTML and JavaScript. the prompts also make it aware of our {{ liquid }} templating engine and other core features.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzMDUzMDU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--1705486d2a9998bcac6ec92bd71fce3b2cfa0f52&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUzMDUsInB1ciI6ImJsb2JfaWQifX0=--c787de50003bd595bcb9dfb44982a7f57aa6e5b7/screenshot-agent-panel.png&quot; filename=&quot;screenshot-agent-panel.png&quot; filesize=&quot;261326&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Agent doesn&#39;t need babysitting&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUzMDUsInB1ciI6ImJsb2JfaWQifX0=--c787de50003bd595bcb9dfb44982a7f57aa6e5b7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/screenshot-agent-panel.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzMDUzMDUsInB1ciI6ImJsb2JfaWQifX0=--c787de50003bd595bcb9dfb44982a7f57aa6e5b7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/screenshot-agent-panel.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Agent doesn&#39;t need babysitting
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;strong&gt;loops.&lt;/strong&gt; as Agent builds plugins, it pulls reference examples from the public marketplace. it also screenshots layouts and fixes them automatically.&lt;/p&gt;&lt;h3 id=&quot;bring-the-same-skills-to-your-own-agent&quot;&gt;Bring the same skills to your own agent&lt;/h3&gt;&lt;p&gt;the instructions and design system our Agent runs on are open source:&lt;br&gt;&lt;a href=&quot;https://github.com/usetrmnl/trmnl-agent-skills&quot;&gt;usetrmnl/trmnl-agent-skills&lt;/a&gt;.&lt;/p&gt;&lt;ul&gt;&lt;li value=&quot;1&quot;&gt;&lt;strong&gt;Claude Code:&lt;/strong&gt; &lt;code&gt;/plugin marketplace add usetrmnl/trmnl-agent-skills&lt;/code&gt;&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;&lt;strong&gt;Cursor, OpenCode, Codex, Gemini CLI, GitHub Copilot:&lt;/strong&gt; drop-in files, see the repo&#39;s install guide&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;pair our Agent Skills with TRMNL&#39;s new &lt;a href=&quot;https://help.trmnl.com/en/articles/17432548-mcp-server&quot;&gt;MCP server&lt;/a&gt; and your agent can build plugins, update settings, and take screenshots just like ours. as of this writing, TRMNL&#39;s MCP server has answered 174,532 tool calls from 749 people across 1,175 plugins.&lt;/p&gt;&lt;h3 id=&quot;get-started&quot;&gt;Get started&lt;/h3&gt;&lt;p&gt;open any private plugin&#39;s markup editor, click &lt;strong&gt;Agent&lt;/strong&gt; and describe what you want. if you build something that could help others, consider publishing it and &lt;a href=&quot;https://trmnl.com/blog/creator-fund&quot;&gt;getting paid&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/agent-usage-credits</id>
    <link href="https://trmnl.com/blog/agent-usage-credits"/>
    <published>2026-10-08T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Introducing Agent Usage Credits</title>
    <updated>2026-10-08T00:00:00+00:00</updated>
    <dc:date>2026-10-08T00: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;&lt;p&gt;&lt;i&gt;&lt;em&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;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h1 id=&quot;word-of-the-day&quot;&gt;&lt;a href=&quot;https://trmnl.com/recipes/378295&quot;&gt;Word of the Day&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Community member bloax (Discord: &lt;code&gt;bl0ax&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/378295&quot;&gt;Word of the Day&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3 id=&quot;why-did-you-want-this-plugin-to-exist&quot;&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I really like learning new words, but I found that the default TRMNL plugin for this is too limited, in the sense that it&#39;s only available in English, and I felt it could give more information about the word.&lt;/p&gt;&lt;h3 id=&quot;why-were-you-the-person-to-make-it&quot;&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;Other people have already created this kind of plugin, but I found that they suffer from the same problems as the default one. So I took the time to create a plugin with a pleasant UI that gave enough information.&lt;/p&gt;&lt;h3 id=&quot;how-did-you-balance-look-vs-functionality&quot;&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;I tried to find the right balance between a nice UI and functionality. UI matters a lot to me, and I think that&#39;s what other plugins of this kind are missing. I also think a better UI improves the plugin&#39;s functionality by structuring the information clearly.&lt;/p&gt;&lt;h3 id=&quot;what-was-your-process-for-creating-the-plugin&quot;&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;I made a simple mockup of the plugin&#39;s UI on Figma, then I looked for data sources for the words and their information. I then adapted the data to automatically fetch the least-used words, then built the API so TRMNL could retrieve the information. Then Claude Code built the layouts based on the mockup, the API and the TRMNL documentation.&lt;/p&gt;&lt;h3 id=&quot;what-if-any-challenges-did-you-face-while-creating-it&quot;&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;J&#39;ai eu du mal à trouver une source d&#39;information pour les données sur les mots, c&#39;est compliqué d&#39;avoir assez d&#39;information pour avoir une quantité correcte de mots.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;i&gt;&lt;em&gt;I had a hard time finding a source of information for word data, it&#39;s complicated to have enough information to have a correct amount of words.&lt;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h3 id=&quot;what-part-of-the-trmnl-framework-liquid-filters-or-other-documentation-was-most-helpful&quot;&gt;What part of the TRMNL Framework, Liquid filters, or other documentation was most helpful?&lt;/h3&gt;&lt;p&gt;The documentation on &lt;a href=&quot;https://help.trmnl.com/en/articles/10671186-liquid-101#h_2b658533cb&quot;&gt;Liquid&lt;/a&gt; &lt;a href=&quot;https://help.trmnl.com/en/articles/10693981-advanced-liquid&quot;&gt;filters&lt;/a&gt; helped me a lot, I made heavy use of it to display frames conditionally since the word data isn&#39;t always the same.&lt;/p&gt;&lt;h3 id=&quot;what-is-your-favorite-plugin-that-someone-else-created-and-why&quot;&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;I really like the &lt;a href=&quot;https://trmnl.com/recipes/16765&quot;&gt;Art of the Day&lt;/a&gt; plugin. I think my TRMNL&#39;s screen really does it justice. I&#39;m a fan of plugins whose content changes every day, it&#39;s really nice to discover a new work each time.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-word-of-the-day</id>
    <link href="https://trmnl.com/blog/featured-plugin-word-of-the-day"/>
    <published>2026-10-06T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Word of the Day</title>
    <updated>2026-10-06T00:00:00+00:00</updated>
    <dc:date>2026-10-06T00: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 12th payout recognizes community contributions between September 5, 2026 and October 3, 2026.&lt;/p&gt;&lt;h2 id=&quot;source-of-funds&quot;&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;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;BYOD&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;/th&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$3,940&lt;br&gt;$3,087&lt;br&gt;$652&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$369.53&lt;br&gt;$10,884.18&lt;br&gt;$14,388.99&lt;br&gt;$9,321.35&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&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;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$591&lt;br&gt;$463.05&lt;br&gt;$521.60&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$55.43&lt;br&gt;$1,088.42&lt;br&gt;$1,438.90&lt;br&gt;$1,398.20&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$42,643.05&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;mark style=&quot;background-color:var(--highlight-bg-7);&quot;&gt;$5,556.60&lt;/mark&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h2 id=&quot;by-the-numbers&quot;&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li value=&quot;1&quot;&gt;total payout: $5,556.60&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;plugin author share: $3,889.62 (70% of base total)&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;strategic contributors share: $1,666.98 (30% of base total)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;plugin author&lt;/strong&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.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;strategic contributors&lt;/strong&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 value=&quot;1&quot;&gt;Firmware, 3%&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;3D Models, 0%&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;BYOS, 52%&lt;/li&gt;&lt;li value=&quot;4&quot;&gt;Localizations, 3%&lt;/li&gt;&lt;li value=&quot;5&quot;&gt;BYOD, 2%&lt;/li&gt;&lt;li value=&quot;6&quot;&gt;Documentation/Resources, 0%&lt;/li&gt;&lt;li value=&quot;7&quot;&gt;Tooling, 40%&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;note: these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2 id=&quot;algorithm&quot;&gt;algorithm?&lt;/h2&gt;&lt;p&gt;see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;. over time the above weights, revenue share percentages, and minimum thresholds may change.&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-09-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-09-2026"/>
    <published>2026-10-05T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - September 2026</title>
    <updated>2026-10-05T00:00:00+00:00</updated>
    <dc:date>2026-10-05T00: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.&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;/p&gt;&lt;p&gt;Here&#39;s our per-warehouse queue as of October 14, 2026:&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkzNDAzNjc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--79595e601743c36aaa8e92317e86332c95d1b6a4&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkzNDAzNjcsInB1ciI6ImJsb2JfaWQifX0=--67c42cd45691644d59ef2588e8bf17e46bc07c2e/trmnl-x-order-queue-oct-14-2026.png&quot; filename=&quot;trmnl-x-order-queue-oct-14-2026.png&quot; filesize=&quot;9674&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzNDAzNjcsInB1ciI6ImJsb2JfaWQifX0=--67c42cd45691644d59ef2588e8bf17e46bc07c2e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-x-order-queue-oct-14-2026.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkzNDAzNjcsInB1ciI6ImJsb2JfaWQifX0=--67c42cd45691644d59ef2588e8bf17e46bc07c2e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-x-order-queue-oct-14-2026.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;For &lt;strong&gt;more frequent and detailed updates&lt;/strong&gt; over time, see below.&lt;/p&gt;&lt;ol&gt;&lt;li value=&quot;1&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#august-2025&quot;&gt;August 2025&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#september-2025&quot;&gt;September 2025&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#october-2025&quot;&gt;October 2025&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;4&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#november-2025&quot;&gt;November 2025&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;5&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#december-2025&quot;&gt;December 2025&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;6&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#january-2026&quot;&gt;January 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;7&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#february-2026&quot;&gt;February 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;8&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#march-2026&quot;&gt;March 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;9&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#april-2026&quot;&gt;April 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;10&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#may-2026&quot;&gt;May 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;11&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#june-2026&quot;&gt;June 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;12&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#july-2026&quot;&gt;July 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;13&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#august-2026&quot;&gt;August 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;14&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#september-2026&quot;&gt;September 2026&lt;/a&gt;&lt;/li&gt;&lt;li value=&quot;15&quot;&gt;&lt;a href=&quot;https://trmnl.com/blog/model-x-progress#october-2026&quot;&gt;October 2026&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;when-will-i-receive-my-trmnl-x&quot;&gt;When will I receive my TRMNL X?&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Live in USA, Canada, India, Mexico, or Australia?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our USA warehouse. See chronological updates below for the latest availability.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Live in Europe, Asia, Africa, South America, etc?&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Your TRMNL will ship from our Berlin warehouse. Due to Customs issues and supplier theft, this warehouse is moving slower through their queue than the USA. See chronological updates below for the latest availability.&lt;/p&gt;&lt;h3 id=&quot;tech-specs&quot;&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 value=&quot;1&quot;&gt;10.3&quot; 1872x1404 EPD resolution with 16 shades of gray&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;Dust and basic waterproofing with a hacker-friendly enclosure&lt;/li&gt;&lt;li value=&quot;3&quot;&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 value=&quot;4&quot;&gt;5GHz WiFi support via ESP32-C5 as a modem (external antenna)&lt;/li&gt;&lt;li value=&quot;5&quot;&gt;Support up to 2x 6000mAh 3.8V LiPo batteries with automatic detection&lt;/li&gt;&lt;li value=&quot;6&quot;&gt;Battery gas gauge from TI for battery SOC/SOH/capacity tracking&lt;/li&gt;&lt;li value=&quot;7&quot;&gt;Bosch accelerometer for portrait/landscape orientation&lt;/li&gt;&lt;li value=&quot;8&quot;&gt;Gesture touch-bar based on Azotech IC&lt;/li&gt;&lt;li value=&quot;9&quot;&gt;Magnetic pogo pin-based mount for charging and accessories (Coming 2026)&lt;/li&gt;&lt;li value=&quot;10&quot;&gt;OTG support with 5V 2A output&lt;/li&gt;&lt;/ul&gt;&lt;h3 id=&quot;dimensions&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY2MzIxMjUsInB1ciI6ImJsb2JfaWQifX0=--4fe9bcea7ce6f5b07810b792a3e4769bd9b3ec05/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--dca01e04df3bbc72f37a667e31be1efca2488daa/TRMNL-X-dimensions-2025-12-15.jpg&quot; src=&quot;/rails/active_storage/representations/proxy/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 id=&quot;august-2025&quot;&gt;&lt;strong&gt;August 2025&lt;/strong&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li value=&quot;1&quot;&gt;Multiple boards and controllers support touch gestures, battery charging, and 5ghz WiFi&lt;/li&gt;&lt;li value=&quot;2&quot;&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 value=&quot;3&quot;&gt;Prior to release we&#39;ll prototypes to your favorite creators for first-look reviews&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;september-2025&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY0Njk4MDcsInB1ciI6ImJsb2JfaWQifX0=--3848d7bc1ccc9b3f6dbae3f418cdc08223198ba7/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-x-board-preview.png&quot; src=&quot;/rails/active_storage/representations/proxy/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 value=&quot;1&quot;&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 value=&quot;2&quot;&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 value=&quot;3&quot;&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 value=&quot;4&quot;&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 value=&quot;5&quot;&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 id=&quot;october-2025&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY0ODQyMzMsInB1ciI6ImJsb2JfaWQifX0=--11ea7b6379735e1dea6bf5387f6192ba4adb2b2b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-X-robin-williams-test.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/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 value=&quot;1&quot;&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 value=&quot;2&quot;&gt;Gesture bar + charging pucks are in small batch production&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;Received and approved packaging samples. Model X packaging will be more premium and protective than OG packaging.&lt;/li&gt;&lt;li value=&quot;4&quot;&gt;Consolidating WiFi antennas (2.4 + 5gh) to a single component&lt;/li&gt;&lt;li value=&quot;5&quot;&gt;Added 3 angle options (degrees) to the kickstand&lt;/li&gt;&lt;li value=&quot;6&quot;&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 id=&quot;november-2025&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTg1ODAsInB1ciI6ImJsb2JfaWQifX0=--c1477124c066c9bfa66b9ccd6f09cb176c30b9d9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-X-assembly.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/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;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;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTYsInB1ciI6ImJsb2JfaWQifX0=--74089f2a8c4c8b2d415181e16336639c0fca35f4/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-X-prototype-back.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/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&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY1MTc0OTcsInB1ciI6ImJsb2JfaWQifX0=--aaf5c4631331eaf1ee4fbc0f8b97cab4cdc71593/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-X-prototype-front.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/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;ol&gt;&lt;li value=&quot;1&quot;&gt;Added extra reset buttons to S3 and C5 MCUs for hacker friendliness, board design is final&lt;/li&gt;&lt;li value=&quot;2&quot;&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 value=&quot;3&quot;&gt;Enclosure injection molds are in production, purchase order placed for thousands of cases in different colors&lt;/li&gt;&lt;li value=&quot;4&quot;&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 id=&quot;december-2025&quot;&gt;December 2025&lt;/h3&gt;&lt;ol&gt;&lt;li value=&quot;1&quot;&gt;Battery production complete, shipping to our warehouses next week&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;EC licenses underway at testing facilities&lt;/li&gt;&lt;li value=&quot;3&quot;&gt;Packaging in mass production&lt;/li&gt;&lt;li value=&quot;4&quot;&gt;Magnets in mass production&lt;/li&gt;&lt;li value=&quot;5&quot;&gt;[New] OTG functionality - power other devices from your TRMNL&#39;s charging puck&lt;/li&gt;&lt;/ol&gt;&lt;h3 id=&quot;january-2026&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--dca01e04df3bbc72f37a667e31be1efca2488daa/trmnl-x-fulfillment-update-jan-2026.jpg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY3NTYyNDEsInB1ciI6ImJsb2JfaWQifX0=--4a9e8b1d8020df4a822132b47790326a0e899297/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--d5e667c0137ab726f37f5f3b8ccaf980246e425b/trmnl-x-fulfillment-update-jan-2026.jpg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3 id=&quot;february-2026&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/model-x-fulfillment-update-2.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY4MDMzNzAsInB1ciI6ImJsb2JfaWQifX0=--8d3563708b4c2953b5f4e0585a21d05396a8fbe9/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/model-x-fulfillment-update-2.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3 id=&quot;march-2026&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTY5MDQ5NjMsInB1ciI6ImJsb2JfaWQifX0=--e75e94298c78b2288a20d9f90d48226ddd589d1f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--dca01e04df3bbc72f37a667e31be1efca2488daa/trmnl-x-now-shipping-video-update.jpg&quot; src=&quot;/rails/active_storage/representations/proxy/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 value=&quot;1&quot;&gt;Berlin warehouse has all 3 types of PCBs&lt;/li&gt;&lt;li value=&quot;2&quot;&gt;Berlin warehouse should receive device enclosures in 1-2 weeks&lt;/li&gt;&lt;li value=&quot;3&quot;&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;strong&gt;How can I estimate the time it will take to receive mine?&lt;/strong&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 id=&quot;april-2026&quot;&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMzQ3NzAsInB1ciI6ImJsb2JfaWQifX0=--4cfe457627cf9aeecbf3fd623d1ecbe4ccb149ab/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/trmnl-x-magnet-performance.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/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 id=&quot;may-2026&quot;&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;strong&gt;.&lt;/strong&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 id=&quot;june-2026&quot;&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;p&gt;June 21 - USA warehouse ran out of clear enclosures; affected customers have been emailed the option to change colors and not experience further delays.&lt;/p&gt;&lt;p&gt;June 24 - USA ran out of sage docks + kickstands, as FedEx lost this package (1 of 42 in our latest freight shipment) in May and is still looking for it. An extra set of components has been ordered (via air express) from our injection mold supplier.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc1NjY2NzI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--0cf21c00b65aeebe45b9082885da76fe1e8276f3&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc1NjY2NzIsInB1ciI6ImJsb2JfaWQifX0=--99cfb40ae2d8684b799a4f3885d58d7a6499983c/trmnl-sage-freight-missing.png&quot; filename=&quot;trmnl-sage-freight-missing.png&quot; filesize=&quot;65979&quot; width=&quot;965&quot; height=&quot;665&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Sage components lost by FedEx&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTc1NjY2NzIsInB1ciI6ImJsb2JfaWQifX0=--99cfb40ae2d8684b799a4f3885d58d7a6499983c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-sage-freight-missing.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTc1NjY2NzIsInB1ciI6ImJsb2JfaWQifX0=--99cfb40ae2d8684b799a4f3885d58d7a6499983c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-sage-freight-missing.png&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Sage components lost by FedEx
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;June 29 - Berlin, Germany warehouse ran out of branded packaging. A rush order is en route. The team is still assembling devices to minimize delays.&lt;/p&gt;&lt;h3 id=&quot;july-2026&quot;&gt;July 2026&lt;/h3&gt;&lt;p&gt;July 3 - USA warehouse received missing Sage docks + kickstands, along with Clear cases. Clear kickstands + docks are still en rout, but the remaining 300+ on-hold Sage orders will be shipped by end of Monday, July 6.&lt;/p&gt;&lt;p&gt;July 7 - Berlin, Germany warehouse received X packaging. Foam should arrive within 24 hours and then shipping will resume.&lt;/p&gt;&lt;p&gt;July 13 - Berlin, Germany warehouse continues experiencing delays in receiving X packaging foam. As of today, 3 of 5 pallets have arrived at BER airport and are still processing through Customs. They have been stuck elsewhere in Europe for 7 days.&lt;/p&gt;&lt;p&gt;July 15 - Berlin, Germany warehouse finally received packaging foam and is resuming shipments of assembled devices.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTc3OTQ5Nzk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c4138da8ab20618bcb007314237c1f5cbaad6acf&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTc3OTQ5NzksInB1ciI6ImJsb2JfaWQifX0=--871c7a31096c3960ab3564ae7ccce941766e5f90/TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot; filename=&quot;TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot; filesize=&quot;98753&quot; width=&quot;640&quot; height=&quot;625&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Die-cut packing foam&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTc3OTQ5NzksInB1ciI6ImJsb2JfaWQifX0=--871c7a31096c3960ab3564ae7ccce941766e5f90/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTc3OTQ5NzksInB1ciI6ImJsb2JfaWQifX0=--871c7a31096c3960ab3564ae7ccce941766e5f90/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-berlin-packing-foam-arrival-july-2026.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Die-cut packing foam
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;July 23 - Berlin, Germany is down to their last ~150 devices and awaiting a new shipment of PCBs, ordered on May 6 but with long lead times. USA warehouse is expecting missing Clear kickstands / docks / u-mounts next Monday, then its queue will be zero&#39;d out.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgwNzE3MDA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--78ae814f91e21aeabbabe4a8192081aef07ddd87&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgwNzE3MDAsInB1ciI6ImJsb2JfaWQifX0=--405e415d7e8367f5a2206e96f788c6fdec4b866a/TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot; filename=&quot;TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot; filesize=&quot;322704&quot; width=&quot;1280&quot; height=&quot;762&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTgwNzE3MDAsInB1ciI6ImJsb2JfaWQifX0=--405e415d7e8367f5a2206e96f788c6fdec4b866a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTgwNzE3MDAsInB1ciI6ImJsb2JfaWQifX0=--405e415d7e8367f5a2206e96f788c6fdec4b866a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/TRMNL-Berlin-X-packaging-v2-arrival.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;July 27 - Berlin, Germany received new packaging and is expecting more PCBs tomorrow.&lt;/p&gt;&lt;p&gt;July 30 - Berlin, Germany PCBA are stuck in-country but stuck at Customs. A new batch of PCBA were shipped to USA warehouse and should arrive on August 5th.&lt;/p&gt;&lt;h3 id=&quot;august-2026&quot;&gt;August 2026&lt;/h3&gt;&lt;p&gt;August 3 - Berlin, Germany received a new batch of PCBA following a week of being stuck in Customs. Shipping resumed today. Incoming USA batch of PCBA cleared Customs last night and arrive on Wednesday.&lt;/p&gt;&lt;p&gt;August 12 - USA warehouse PCBA have cleared Customs, then put on hold, back and forth a few times. We got in touch with courier (DHL) and they don&#39;t have more information. As of this morning the freight has again &quot;cleared&quot; Customs.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTgzOTU1ODQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--84615f38db5fe17922ef3f6edab4e5e0c28091a8&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOTU1ODQsInB1ciI6ImJsb2JfaWQifX0=--ce71038797465459c480006263c20937cd69f10c/TRMNL-X-PCBA-clearance-august-2026.png&quot; filename=&quot;TRMNL-X-PCBA-clearance-august-2026.png&quot; filesize=&quot;14660&quot; width=&quot;374&quot; height=&quot;185&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOTU1ODQsInB1ciI6ImJsb2JfaWQifX0=--ce71038797465459c480006263c20937cd69f10c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/TRMNL-X-PCBA-clearance-august-2026.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTgzOTU1ODQsInB1ciI6ImJsb2JfaWQifX0=--ce71038797465459c480006263c20937cd69f10c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/TRMNL-X-PCBA-clearance-august-2026.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;August 18 - I (Ryan) visited the ATL airport cargo facilities to check on our PCBA freight, which continues to post &quot;Clearance&quot; events, followed by &quot;On Hold&quot; notifications, multiple times per day since early August.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg2MTc5NjI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--b69631d2968b3ab060a2bf500283d5fed88a58d6&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg2MTc5NjIsInB1ciI6ImJsb2JfaWQifX0=--559eb331e3fafefaf006f271588211c4a39c601c/ATL-DHL-visit-August-18-2026.jpeg&quot; filename=&quot;ATL-DHL-visit-August-18-2026.jpeg&quot; filesize=&quot;191352&quot; width=&quot;1280&quot; height=&quot;666&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;Visiting DHL &lt;&gt; Customs&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTg2MTc5NjIsInB1ciI6ImJsb2JfaWQifX0=--559eb331e3fafefaf006f271588211c4a39c601c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/ATL-DHL-visit-August-18-2026.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTg2MTc5NjIsInB1ciI6ImJsb2JfaWQifX0=--559eb331e3fafefaf006f271588211c4a39c601c/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/ATL-DHL-visit-August-18-2026.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          Visiting DHL &amp;lt;&amp;gt; Customs
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Unfortunately the assigned CBP agent was not in office, so we left our information with a request to expedite clearance. The DHL team claims we will receive a phone call update within 24 hours.&lt;/p&gt;&lt;p&gt;August 24 - The USA warehouse received a response to our support ticket with DHL / Customs. At this point, our next shipment of PCBA may arrive sooner than the batch that has been in the States since July.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTg3NTg2NTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--799f07f3209a80c3dd9c944cdc2110f4213d594b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTg3NTg2NTcsInB1ciI6ImJsb2JfaWQifX0=--cc09fa3b04f31274d01a7c173e81756163e92623/TRMNL-X-PCBA-DHL-delay.png&quot; filename=&quot;TRMNL-X-PCBA-DHL-delay.png&quot; filesize=&quot;121774&quot; width=&quot;1468&quot; height=&quot;672&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTg3NTg2NTcsInB1ciI6ImJsb2JfaWQifX0=--cc09fa3b04f31274d01a7c173e81756163e92623/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/TRMNL-X-PCBA-DHL-delay.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTg3NTg2NTcsInB1ciI6ImJsb2JfaWQifX0=--cc09fa3b04f31274d01a7c173e81756163e92623/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/TRMNL-X-PCBA-DHL-delay.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h3 id=&quot;september-2026&quot;&gt;September 2026&lt;/h3&gt;&lt;p&gt;September 2 - The USA warehouse still has no update from DHL or the Customs agent assigned to our case (inbound PCBA). Once this shipment arrives, we need just 4-5 days to clear our entire queue and resume same-day X shipping.&lt;/p&gt;&lt;p&gt;September 9 - The USA warehouse received an update from DHL&#39;s customer service team, alleging customs will be completed within 3 days.&lt;/p&gt;&lt;p&gt;September 17 - The USA warehouse received a small batch of X PCBA -- our main batch is still stuck in DHL / Customs at the Atlanta airport, this is a followup rush order. X shipping resumed temporarily but we are now awaiting new magnets, set to arrive by sea tomorrow (September 18) and then put on a truck.&lt;/p&gt;&lt;p&gt;September 18 - Berlin, Germany ran out of X screens, but a new shipment is departing our supplier&#39;s warehouse (via air express freight) on Monday, September 21.&lt;/p&gt;&lt;p&gt;September 27 - Magnets (USA) and screens (Berlin, Germany) are still en route. Magnets arrived at a port, but no truck tracking is available. For screens we used our fastest boutique broker (not a major courier) who also do not provide last mile tracking.&lt;/p&gt;&lt;p&gt;September 30 - The USA warehouse should receive magnets tomorrow. Logistics company called this morning to schedule a 12-4p drop-off on Thursday, October 1. No other components are missing or low in stock so the queue will be cleared without further hiccups.&lt;/p&gt;&lt;h3 id=&quot;october-2026&quot;&gt;October 2026&lt;/h3&gt;&lt;p&gt;October 1 - The USA warehouse received magnets we ordered in April. Instead of the 6 weeks we were promised, it took 6 months. Fulfillment resumes tomorrow (Friday, October 2) and the entire queue (~800 orders) should take less than 2 weeks to complete.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyODAyNDQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--fb9274c8c23ba34fc794da1f326d3623c7b7aae5&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyODAyNDQsInB1ciI6ImJsb2JfaWQifX0=--32eb70dcb16b29128a43f18b041dc609e3df55aa/trmnl-x-magnets-usa-arrival-oct-2026.jpeg&quot; filename=&quot;trmnl-x-magnets-usa-arrival-oct-2026.jpeg&quot; filesize=&quot;265558&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;TRMNL X N52 magnets&quot;&gt;  &lt;figure class=&quot;attachment attachment--preview attachment--jpeg&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyODAyNDQsInB1ciI6ImJsb2JfaWQifX0=--32eb70dcb16b29128a43f18b041dc609e3df55aa/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/trmnl-x-magnets-usa-arrival-oct-2026.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyODAyNDQsInB1ciI6ImJsb2JfaWQifX0=--32eb70dcb16b29128a43f18b041dc609e3df55aa/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-x-magnets-usa-arrival-oct-2026.jpeg&quot;&gt;

      &lt;figcaption class=&quot;attachment__caption&quot;&gt;
          TRMNL X N52 magnets
      &lt;/figcaption&gt;
  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;October 8 - Berlin, Germany received notice that screens are under Customs Inspection and may arrive as soon as tomorrow.&lt;/p&gt;&lt;p&gt;October 9 - Berlin, Germany received a new batch of X screens. They can resume some fulfillment but are also awaiting more packaging, which is already in country and being processed by Customs.&lt;/p&gt;&lt;p&gt;October 16 - Berlin, Germany received new packaging and is back in action. The remainder of their queue (~350 orders) will be shipped over the next few business days.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTk0NzI0NDk_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--7941ebbd752a35ba3c9d03f8143991b2554c95af&quot; content-type=&quot;image/jpeg&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTk0NzI0NDksInB1ciI6ImJsb2JfaWQifX0=--d47d880fe3810dacc99bdf7de518d76a230d32c0/trmnl-x-packaging-berlin-october-2026.jpeg&quot; filename=&quot;trmnl-x-packaging-berlin-october-2026.jpeg&quot; filesize=&quot;326137&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTk0NzI0NDksInB1ciI6ImJsb2JfaWQifX0=--d47d880fe3810dacc99bdf7de518d76a230d32c0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMjU2MCwyNTYwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--83a50e5021e7f6e19e2ee2fa117bfcf2b44b7743/trmnl-x-packaging-berlin-october-2026.jpeg&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTk0NzI0NDksInB1ciI6ImJsb2JfaWQifX0=--d47d880fe3810dacc99bdf7de518d76a230d32c0/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJqcGVnIiwicmVzaXplX3RvX2xpbWl0IjpbMTAyNCw3NjhdfSwicHVyIjoidmFyaWF0aW9uIn19--b5fc5af83c336b0fe3eb199eed01a2c85b3a702d/trmnl-x-packaging-berlin-october-2026.jpeg&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&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-10-02T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Model X Progress Report</title>
    <updated>2026-10-02T00:00:00+00:00</updated>
    <dc:date>2026-10-02T00: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;&lt;p&gt;&lt;i&gt;&lt;em&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;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h1 id=&quot;hubbycal&quot;&gt;&lt;a href=&quot;https://trmnl.com/recipes/371545&quot;&gt;HubbyCal&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;Community member Oliver Cahill&lt;mark style=&quot;color:rgb(67, 67, 67);&quot;&gt; &lt;/mark&gt;(Discord: &lt;code&gt;frizzlefratz&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/371545&quot;&gt;HubbyCal&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3 id=&quot;why-did-you-want-this-plugin-to-exist&quot;&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I normally use Apple Calendars and I have so many events it can make me crosseyed. I just wanted a simple way to for me and my husband to see our day and not have to fight different screens and apps or text each other with work schedules or plans.&lt;/p&gt;&lt;h3 id=&quot;why-were-you-the-person-to-make-it&quot;&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I was recently laid off from my Graphic Design job. My TRMNL X came in a few days later and inspired and pushed me to get out of my funk and get creative again. I was the person to make it because the universe said so. I had the time and a cool new toy to play with.&lt;/p&gt;&lt;h3 id=&quot;were-you-inspired-by-any-other-recipes-or-plugin-creators&quot;&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;The Google Calendar. It was too busy! Also, I can’t remember the name of it but I saw a quote of the day recipe that gave me the idea for quotes when there are no events.&lt;/p&gt;&lt;h3 id=&quot;how-did-you-balance-look-vs-functionality&quot;&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;I wanted everything to be big. And readable. And friendly. That was the main goal. Balance was hard because some days I have lots of events and figuring out how to make them all show at a size I can glance at while trying to get ready was tough. Once I got the design language down, I went extra hard on really maximizing the screen space with as many features as I could. I even had it reporting the charge level of my EV at one point. I’ll have to add that back in the future…&lt;/p&gt;&lt;h3 id=&quot;what-was-your-process-for-creating-the-plugin&quot;&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;Lots of mockups in Adobe XD and code done primarily in Claude and ChatGPT. I was very specific with what I wanted and spent hours and hours fine tuning as much as I could and drawing every screen and state our first to make sure the AI didn’t break away from my vision.&lt;/p&gt;&lt;h3 id=&quot;what-if-any-challenges-did-you-face-while-creating-it&quot;&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;Getting all the data in! I’ve been a Graphic Designer and UI/UX designer for 20+ years but I never worked with code or servers or APIs. So setting up my workspace and connecting to services and OAuth and all of that was new to me. I was familiar with it all but having to do a lot of that myself was a big jump for me.&lt;/p&gt;&lt;h3 id=&quot;did-you-learn-anything-that-you-want-to-apply-to-future-or-past-recipes&quot;&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;Too much to put here! I learned a lot about architecting and planning software. Even with something as basic as this, I picked up so many workflows. Enough to where I’ve built a super charged version of this as an iOS App I’ll be launching soon.&lt;/p&gt;&lt;h3 id=&quot;is-there-a-tip-you-would-give-to-a-new-plugin-developer&quot;&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;If you’re going to use AI to help you with the coding, be very specific. Draw out your screens. Come up with your features and all the rules and be very specific. If you let it make that all for you, you’ll never achieve your vision.Plan first. Build later.&lt;/p&gt;&lt;h3 id=&quot;what-part-of-the-trmnl-framework-liquid-filters-or-other-documentation-was-most-helpful&quot;&gt;What part of the TRMNL Framework, Liquid filters, or other documentation was most helpful?&lt;/h3&gt;&lt;p&gt;The entire framework documentation was a HUUUGE help. I may have used AI, but AI is not as smart as people think. It would go rogue and write its own stuff and more often than not, I’d have to refer it to a specific page or detail a specific way things need to be done for TRMNL recipes.&lt;/p&gt;&lt;h3 id=&quot;what-is-your-favorite-plugin-that-someone-else-created-and-why&quot;&gt;What is your favorite plugin that someone else created and why?&lt;/h3&gt;&lt;p&gt;TBH I haven’t used many yet! The &lt;a href=&quot;https://trmnl.com/integrations/lcars-schematics&quot;&gt;LCARS Schematics&lt;/a&gt; one is pretty great tho. We’re a big Star Trek house here.&lt;/p&gt;&lt;h3 id=&quot;how-was-support&quot;&gt;How was support?&lt;/h3&gt;&lt;p&gt;Your support staff is AMAZING. I feel so bad for &lt;a href=&quot;https://trmnl.com/about&quot;&gt;Ikraam&lt;/a&gt;! I kept sending issues on Discord and he was so quick to respond and help.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-hubbycal</id>
    <link href="https://trmnl.com/blog/featured-plugin-hubbycal"/>
    <published>2026-09-22T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - HubbyCal</title>
    <updated>2026-09-22T00:00:00+00:00</updated>
    <dc:date>2026-09-22T00: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;today we&#39;re thrilled to release a simple solution for organizations with bookable resources like meeting rooms, flex desks, or vehicles.&lt;/p&gt;&lt;p&gt;it&#39;s called &lt;strong&gt;TRMNL Booking&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;connect resources, set preferences, and you&#39;ll be up in running in minutes. optional QR codes make devices interactive, providing walk-up booking and easy cancelations, while keeping your origin calendars the source of truth.&lt;/p&gt;&lt;h2 id=&quot;connect-a-resource&quot;&gt;connect a resource&lt;/h2&gt;&lt;p&gt;we rebuilt our calendar integrations from scratch, now with enterprise support for Microsoft and Google Workspace, as well as CalDAV feeds.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc2MzY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--e490577440bbc6a3806c431ad9b21e00504f4596&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2MzYsInB1ciI6ImJsb2JfaWQifX0=--1ee8227475765c711b51ecdc5ffc709ddb3f433a/trmnl-booking-connect-resources.png&quot; filename=&quot;trmnl-booking-connect-resources.png&quot; filesize=&quot;108528&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2MzYsInB1ciI6ImJsb2JfaWQifX0=--1ee8227475765c711b51ecdc5ffc709ddb3f433a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-connect-resources.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2MzYsInB1ciI6ImJsb2JfaWQifX0=--1ee8227475765c711b51ecdc5ffc709ddb3f433a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-connect-resources.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;TRMNL syncs existing events, location metadata, and more in 1 click.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc2NTA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c49999b9e1a18372d500747210d632495af1a4a4&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2NTAsInB1ciI6ImJsb2JfaWQifX0=--7ad56542293ac5d7f9a0343b574b7efe1dcb3b42/trmnl-booking-calendars.png&quot; filename=&quot;trmnl-booking-calendars.png&quot; filesize=&quot;115610&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2NTAsInB1ciI6ImJsb2JfaWQifX0=--7ad56542293ac5d7f9a0343b574b7efe1dcb3b42/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-calendars.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc2NTAsInB1ciI6ImJsb2JfaWQifX0=--7ad56542293ac5d7f9a0343b574b7efe1dcb3b42/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-calendars.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;ignore resources you don&#39;t need connected to a display, for example a private or executive calendar.&lt;/p&gt;&lt;h2 id=&quot;set-preferences&quot;&gt;set preferences&lt;/h2&gt;&lt;p&gt;add your logo, enable walk-up booking, and rename resources as you see fit.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3MDA_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--9d3fa1912998edbee9cad00368e528a444e33fb4&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDAsInB1ciI6ImJsb2JfaWQifX0=--e392756315365ec1453e560d27572786a941f0ea/trmnl-booking-display-settings.png&quot; filename=&quot;trmnl-booking-display-settings.png&quot; filesize=&quot;158154&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDAsInB1ciI6ImJsb2JfaWQifX0=--e392756315365ec1453e560d27572786a941f0ea/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-display-settings.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDAsInB1ciI6ImJsb2JfaWQifX0=--e392756315365ec1453e560d27572786a941f0ea/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-display-settings.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;we&#39;re on the lookout for additional customizations and will respond quickly if you need something.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3MDc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--b17b3f40e3f08b170071e45a065f6cd012c94044&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDcsInB1ciI6ImJsb2JfaWQifX0=--a910f311c5ccc521486eac5b3d3bce0d91dee953/trmnl-booking-calendar-settings.png&quot; filename=&quot;trmnl-booking-calendar-settings.png&quot; filesize=&quot;89191&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDcsInB1ciI6ImJsb2JfaWQifX0=--a910f311c5ccc521486eac5b3d3bce0d91dee953/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-calendar-settings.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MDcsInB1ciI6ImJsb2JfaWQifX0=--a910f311c5ccc521486eac5b3d3bce0d91dee953/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-calendar-settings.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h2 id=&quot;go-live&quot;&gt;go live&lt;/h2&gt;&lt;p&gt;connect any number of TRMNL devices to a bookable resource.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3MTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--842d8d1cff40403fc7a4211e48a041e7018fdf25&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MTYsInB1ciI6ImJsb2JfaWQifX0=--4aa069b6a6fe5081689d25e72f62cb36871e9178/trmnl-booking-resource-configuration.png&quot; filename=&quot;trmnl-booking-resource-configuration.png&quot; filesize=&quot;126291&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MTYsInB1ciI6ImJsb2JfaWQifX0=--4aa069b6a6fe5081689d25e72f62cb36871e9178/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-resource-configuration.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MTYsInB1ciI6ImJsb2JfaWQifX0=--4aa069b6a6fe5081689d25e72f62cb36871e9178/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-resource-configuration.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;or combine resources into a single Collection, with a grid or table layout, while retaining walk-up booking capabilities.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3Mjg_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--41caa85820737f0a6108cee9b858b1f9f530b82b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MjgsInB1ciI6ImJsb2JfaWQifX0=--4bec8be2db14b4e01e4c602503e6cf460a6cffcf/trmnl-booking-collection-configuration.png&quot; filename=&quot;trmnl-booking-collection-configuration.png&quot; filesize=&quot;117379&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MjgsInB1ciI6ImJsb2JfaWQifX0=--4bec8be2db14b4e01e4c602503e6cf460a6cffcf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-collection-configuration.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3MjgsInB1ciI6ImJsb2JfaWQifX0=--4bec8be2db14b4e01e4c602503e6cf460a6cffcf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-collection-configuration.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h2 id=&quot;booking-resources&quot;&gt;booking resources&lt;/h2&gt;&lt;p&gt;when a resource is available, book it via the QR code.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc4OTc_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--698bdfb40cf2419320224fd5086ed704f77294e0&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4OTcsInB1ciI6ImJsb2JfaWQifX0=--ee7600f01392dab9879c189aa3ab12112935b115/trmnl-booking-available-resource.png&quot; filename=&quot;trmnl-booking-available-resource.png&quot; filesize=&quot;144415&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4OTcsInB1ciI6ImJsb2JfaWQifX0=--ee7600f01392dab9879c189aa3ab12112935b115/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-available-resource.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4OTcsInB1ciI6ImJsb2JfaWQifX0=--ee7600f01392dab9879c189aa3ab12112935b115/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-available-resource.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;QR codes contain unique and temporary (rotating) links like &lt;code&gt;trmnl.com/book/qwerty&lt;/code&gt;. visitors provide whatever details are needed for their booking. this event data is inserted directly to your origin calendar.&lt;/p&gt;&lt;div class=&quot;attachment-gallery attachment-gallery--4&quot;&gt;
  &lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3NDI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--b5741cb60749566f166248315865b81423e37c52&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDIsInB1ciI6ImJsb2JfaWQifX0=--de41edecbcc990f83f859ce166d7a9914f6e9622/trmnl-booking-phone-ux-step-1-time.png&quot; filename=&quot;trmnl-booking-phone-ux-step-1-time.png&quot; filesize=&quot;339380&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDIsInB1ciI6ImJsb2JfaWQifX0=--de41edecbcc990f83f859ce166d7a9914f6e9622/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-phone-ux-step-1-time.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDIsInB1ciI6ImJsb2JfaWQifX0=--de41edecbcc990f83f859ce166d7a9914f6e9622/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls4MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2fa7d90805d83fab8a31ef10540d81789b54c89/trmnl-booking-phone-ux-step-1-time.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3NDQ_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--c6962586b5557127bc51a51f1997495e28f2523a&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDQsInB1ciI6ImJsb2JfaWQifX0=--1f84fddafe0e892e29ef0f7fd95e651bb7274711/trmnl-booking-phone-ux-step-2-date.png&quot; filename=&quot;trmnl-booking-phone-ux-step-2-date.png&quot; filesize=&quot;352404&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDQsInB1ciI6ImJsb2JfaWQifX0=--1f84fddafe0e892e29ef0f7fd95e651bb7274711/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-phone-ux-step-2-date.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDQsInB1ciI6ImJsb2JfaWQifX0=--1f84fddafe0e892e29ef0f7fd95e651bb7274711/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls4MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2fa7d90805d83fab8a31ef10540d81789b54c89/trmnl-booking-phone-ux-step-2-date.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3NDM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--112931eccf20a9fe9f4e80698a1f2731cf6333f6&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDMsInB1ciI6ImJsb2JfaWQifX0=--389552d88d113cf1696f9f22863657b35f1d178e/trmnl-booking-phone-ux-step-3-view-calendar.png&quot; filename=&quot;trmnl-booking-phone-ux-step-3-view-calendar.png&quot; filesize=&quot;334755&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDMsInB1ciI6ImJsb2JfaWQifX0=--389552d88d113cf1696f9f22863657b35f1d178e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-phone-ux-step-3-view-calendar.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDMsInB1ciI6ImJsb2JfaWQifX0=--389552d88d113cf1696f9f22863657b35f1d178e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls4MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2fa7d90805d83fab8a31ef10540d81789b54c89/trmnl-booking-phone-ux-step-3-view-calendar.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc3NDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--2e8ce09ae1519372ad7e46412a97beb529fc29dd&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDEsInB1ciI6ImJsb2JfaWQifX0=--8263eec579fbec88dffff4ca7e551fcd4d372a6e/trmnl-booking-phone-ux-step-4-overlap.png&quot; filename=&quot;trmnl-booking-phone-ux-step-4-overlap.png&quot; filesize=&quot;361023&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDEsInB1ciI6ImJsb2JfaWQifX0=--8263eec579fbec88dffff4ca7e551fcd4d372a6e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-phone-ux-step-4-overlap.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc3NDEsInB1ciI6ImJsb2JfaWQifX0=--8263eec579fbec88dffff4ca7e551fcd4d372a6e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOls4MDAsNjAwXX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2fa7d90805d83fab8a31ef10540d81789b54c89/trmnl-booking-phone-ux-step-4-overlap.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;
&lt;/div&gt;&lt;p&gt;displays sync at a much faster rate than regular TRMNL devices (1-5 minutes) to maintain freshness for changing schedules.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc5MDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--0b2d3e9b79eca2fffa25d2cdac7e432238e3d332&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MDEsInB1ciI6ImJsb2JfaWQifX0=--9c2e6c954d4502eb5bc88515e597ea559a93be9b/trmnl-booking-resource-in-use.png&quot; filename=&quot;trmnl-booking-resource-in-use.png&quot; filesize=&quot;133980&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MDEsInB1ciI6ImJsb2JfaWQifX0=--9c2e6c954d4502eb5bc88515e597ea559a93be9b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-resource-in-use.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MDEsInB1ciI6ImJsb2JfaWQifX0=--9c2e6c954d4502eb5bc88515e597ea559a93be9b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-resource-in-use.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Collections make it easy to spot available resources at a glance, supporting up to a ~dozen resources in 1 view (&lt;a href=&quot;https://trmnl.com/framework/inverse&quot;&gt;more examples&lt;/a&gt;).&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc5MTI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--8858530b0c54f9ca294b429faea39a0fd7a10997&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MTIsInB1ciI6ImJsb2JfaWQifX0=--6cf08d63f4f43b539b0afbfa79a825d2505494ff/trmnl-booking-collections-example.png&quot; filename=&quot;trmnl-booking-collections-example.png&quot; filesize=&quot;215340&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MTIsInB1ciI6ImJsb2JfaWQifX0=--6cf08d63f4f43b539b0afbfa79a825d2505494ff/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-collections-example.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MTIsInB1ciI6ImJsb2JfaWQifX0=--6cf08d63f4f43b539b0afbfa79a825d2505494ff/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-collections-example.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;bookings created via TRMNL Booking may also be canceled directly via the QR codes, and Collections support 1-to-many booking with a top level splash screen.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc5MjI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--f05c87855b2d65fb0070fddfb433ce0b097bf54b&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MjIsInB1ciI6ImJsb2JfaWQifX0=--a1b1c8b07b541b487f8382c405c84694c2e1badf/trmnl-booking-collection-splash.png&quot; filename=&quot;trmnl-booking-collection-splash.png&quot; filesize=&quot;301953&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MjIsInB1ciI6ImJsb2JfaWQifX0=--a1b1c8b07b541b487f8382c405c84694c2e1badf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-collection-splash.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5MjIsInB1ciI6ImJsb2JfaWQifX0=--a1b1c8b07b541b487f8382c405c84694c2e1badf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-collection-splash.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;all together it works like this:&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc5Njg_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--4adff59021f160fc638e7c9ce0e287be5a70cb79&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5NjgsInB1ciI6ImJsb2JfaWQifX0=--4940f1fed4ae497bde31469e45f7e29d1b76d08a/trmnl-booking-architecture.png&quot; filename=&quot;trmnl-booking-architecture.png&quot; filesize=&quot;244465&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5NjgsInB1ciI6ImJsb2JfaWQifX0=--4940f1fed4ae497bde31469e45f7e29d1b76d08a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-architecture.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc5NjgsInB1ciI6ImJsb2JfaWQifX0=--4940f1fed4ae497bde31469e45f7e29d1b76d08a/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-architecture.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;h2 id=&quot;what-customers-are-saying&quot;&gt;what customers are saying&lt;/h2&gt;&lt;p&gt;over the past couple months we welcomed 60+ private beta testers who helped improve Booking for everyone. here is just one of their comments.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;I think it took me 10 minutes to set everything up without looking at the docs. It was super easy and very straightforward. Collections made sense, and are awesome.&lt;br&gt;&lt;br&gt;The&amp;nbsp;possibilities are crazy for us here. I gotta get more TRMNLs. I&#39;m 100% replacing my current hacked-together ESP32 and BLE epaper tag system.&amp;nbsp;&lt;/p&gt;&lt;p&gt;You all constantly release absolute bangers. I love it.&amp;nbsp;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;want more context? check out &lt;a href=&quot;https://trmnl.com/case-studies/code-orange&quot;&gt;our first case study&lt;/a&gt;.&lt;/p&gt;&lt;h2 id=&quot;pricing&quot;&gt;pricing&lt;/h2&gt;&lt;p&gt;we&#39;re not the first group to offer a reservation solution. respected, competing products exist. our approach is being contract-free, simple to set up, with annual savings and &lt;a href=&quot;https://trmnl.com/b2b#pricing&quot;&gt;discounted hardware pricing&lt;/a&gt;.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMTc4MDM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--817b2d9fcd892d16743eac3f7a57067188dd0bf7&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4MDMsInB1ciI6ImJsb2JfaWQifX0=--ce89b656be9ba9f51ce7fdbf1414a1e6d5a0d67e/trmnl-booking-billing.png&quot; filename=&quot;trmnl-booking-billing.png&quot; filesize=&quot;158837&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4MDMsInB1ciI6ImJsb2JfaWQifX0=--ce89b656be9ba9f51ce7fdbf1414a1e6d5a0d67e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/trmnl-booking-billing.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMTc4MDMsInB1ciI6ImJsb2JfaWQifX0=--ce89b656be9ba9f51ce7fdbf1414a1e6d5a0d67e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/trmnl-booking-billing.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;as of this writing, &lt;strong&gt;TRMNL Booking costs $8 /month (or $80 /year) per displayed bookable resource&lt;/strong&gt;. not per device, and not for duplicated resources shown on multiple devices.&lt;/p&gt;&lt;h2 id=&quot;get-started&quot;&gt;get started&lt;/h2&gt;&lt;p&gt;check out the docs (&lt;a href=&quot;https://trmnl.com/booking/docs&quot;&gt;trmnl.com/booking/docs&lt;/a&gt;) or jump in directly at &lt;a href=&quot;https://trmnl.com/apps&quot;&gt;trmnl.com/apps&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;if you don&#39;t have an account, create a free virtual device at &lt;a href=&quot;https://trmnl.com/byod-trial&quot;&gt;trmnl.com/byod-trial&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/introducing-booking</id>
    <link href="https://trmnl.com/blog/introducing-booking"/>
    <published>2026-09-18T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Introducing Booking</title>
    <updated>2026-09-18T00:00:00+00:00</updated>
    <dc:date>2026-09-18T00: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;Many plugins show one of many, whether it be quotes, jokes, totes, or photes [sic]. The freshness of the data depends on randomly selecting one of the possibilities, either from an API or from a set of data stored in a JSON array or object. Thus, early on we added a help document to inform developers how to get a random number with Liquid, the markup language for our plugins.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;Hypothesis&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;When a playlist item is on a regular interval, it creates a pattern in a randomization based on server time.&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;We were wrong, both methods are sufficiently random across a sample of 1,000 data points. Human bias towards patterns was to blame.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;After creating a plugin with ~120 questions in a static array, the plugin was set to randomly select one question using the nanoseconds value of the current time, with Liquid&#39;s &lt;a href=&quot;https://help.trmnl.com/en/articles/10693981-advanced-liquid#h_7e25b4c812&quot;&gt;date filter&lt;/a&gt;:&lt;/p&gt;&lt;pre data-language=&quot;javascript&quot;&gt;{% assign random_number = &quot;now&quot; | date: &quot;%N&quot; | modulo: 120 %}&lt;/pre&gt;&lt;p&gt;After a week of watching the questions come up, there were some questions that seemed to never appear and some that appeared much more frequently than others. Obviously it could have just been luck based on when I was looking, but to be sure there wasn&#39;t a flaw in the system, a test was created.&lt;/p&gt;&lt;h3 id=&quot;storing-the-number&quot;&gt;Storing the Number&lt;/h3&gt;&lt;p&gt;Using an old trick called a &lt;i&gt;&lt;em&gt;tracking pixel&lt;/em&gt;&lt;/i&gt;, much like email and websites have previously used to register that a page or email was loaded, a small script was setup that would accomplish 3 tasks:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Return a transparent 1x1 pixel image&lt;/li&gt;&lt;li&gt;Capture the random value passed in a query string parameter&lt;/li&gt;&lt;li&gt;Store the value, timestamp, and IP address in a CSV file&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;By adding this script link to the test plugin&#39;s Shared code as an &lt;code&gt;&amp;lt;img&amp;gt;&lt;/code&gt; tag, we could capture and display the random number generated not only on the screen of the test TRMNL OG, but also transmit that value to the script on an external site.&lt;/p&gt;&lt;h3 id=&quot;running-the-test-twice&quot;&gt;Running the Test... Twice&lt;/h3&gt;&lt;p&gt;Setting the test plugin to run every 5 minutes as the only item on the playlist on a single TRMNL OG, meant that within 4 days we would have 1,000+ data points, enough to do a cursory analysis of the randomization.&lt;/p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY3OTM_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--9086bce4938eec9a5e2c8182331173e57fed8568&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTMsInB1ciI6ImJsb2JfaWQifX0=--783f4d08d012e30de44fcd26cdf2030698a472ee/random-date-bar-graph.png&quot; filename=&quot;random-date-bar-graph.png&quot; filesize=&quot;34867&quot; width=&quot;1146&quot; height=&quot;645&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTMsInB1ciI6ImJsb2JfaWQifX0=--783f4d08d012e30de44fcd26cdf2030698a472ee/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/random-date-bar-graph.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTMsInB1ciI6ImJsb2JfaWQifX0=--783f4d08d012e30de44fcd26cdf2030698a472ee/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/random-date-bar-graph.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;Since I didn&#39;t want to write a bunch of Python code myself, AI was used to spit out a few more charts:&lt;/p&gt;&lt;p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY3OTU_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--2087f6a41ed118fb71eecae87a30fafc191c3298&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTUsInB1ciI6ImJsb2JfaWQifX0=--fd3ba161432fbfdd428f9013f661d016d2ca07e6/distribution_stability_dashboard_n1000.png&quot; filename=&quot;distribution_stability_dashboard_n1000.png&quot; filesize=&quot;183741&quot; width=&quot;1931&quot; height=&quot;1330&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;/action-text-attachment&gt;&lt;/p&gt;&lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTUsInB1ciI6ImJsb2JfaWQifX0=--fd3ba161432fbfdd428f9013f661d016d2ca07e6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/distribution_stability_dashboard_n1000.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTUsInB1ciI6ImJsb2JfaWQifX0=--fd3ba161432fbfdd428f9013f661d016d2ca07e6/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/distribution_stability_dashboard_n1000.png&quot;&gt;

  &lt;/figure&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY3OTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--3ed397e14c32632ef959d304ff3c51d50a2227df&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTYsInB1ciI6ImJsb2JfaWQifX0=--17d801619f5d674343fe5aecbe1f2f5e4920701b/lag1_scatter_n1000.png&quot; filename=&quot;lag1_scatter_n1000.png&quot; filesize=&quot;161174&quot; width=&quot;1033&quot; height=&quot;960&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTYsInB1ciI6ImJsb2JfaWQifX0=--17d801619f5d674343fe5aecbe1f2f5e4920701b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/lag1_scatter_n1000.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY3OTYsInB1ciI6ImJsb2JfaWQifX0=--17d801619f5d674343fe5aecbe1f2f5e4920701b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/lag1_scatter_n1000.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;(This last one is a favorite because it leans into human pattern recognition. It&#39;s a statistical &quot;Where&#39;s Waldo&quot; for finding a problem.)&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Diagnostic&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Result&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Interpretation&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Mean&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;50.572&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Very close to the uniform expectation of 50.5; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.937&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Median&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;50.5&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Exactly centered between the two middle values&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Sample standard deviation&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;29.161&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Close to the uniform expectation of 28.866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Ten value bands&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;81–118 per band&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant deviation; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.573&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Twenty value bands&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;—&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant deviation; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.470&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Last digits 0–9&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;88–110 per digit&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant deviation; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.864&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Even versus odd&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;520 versus 480&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant deviation; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.217&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Values 51–100 versus 1–50&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;500 versus 500&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Perfect balance in this sample&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h4&gt;Meanwhile...&lt;/h4&gt;&lt;p&gt;Ryan, TRMNL&#39;s founder, took a customer focused look at the problem and thought, &quot;This method sucks.&quot; A short while later, &lt;a href=&quot;https://help.trmnl.com/en/articles/10347358-custom-plugin-filters#h_5bcb72a9e7&quot;&gt;random_number&lt;/a&gt; was born as a Liquid filter, built on Ruby&#39;s own randomization.&lt;/p&gt;&lt;p&gt;This took a chunk of code:&lt;/p&gt;&lt;pre data-language=&quot;javascript&quot;&gt;{%liquid&lt;br&gt;  assign rand_index = &quot;now&quot; | date: &quot;%N&quot; | modulo: my_collection.size&lt;br&gt;  assign rand_item = my_collection[rand_index]&lt;br&gt;%}&lt;/pre&gt;&lt;p&gt;and turned it into this:&lt;/p&gt;&lt;pre data-language=&quot;js&quot;&gt;{%liquid&lt;br&gt;assign rand_index = &quot;&quot; | random_number: my_collection.size&lt;br&gt;assign rand_item = my_collection[rand_index]&lt;br&gt;%}&lt;/pre&gt;&lt;p&gt;You&#39;re thinking, that&#39;s not that different. Except... this is what it looks like when calling an API and wanted to just get a random_number in a range:&lt;/p&gt;&lt;pre data-language=&quot;js&quot;&gt;https://some-api.com/jokes/{{ &quot;&quot; | random_number: 1, 1000 }}&lt;/pre&gt;&lt;h4&gt;Back to Testing&lt;/h4&gt;&lt;p&gt;With a new method in hand, it was time to update the test plugin and repeat the test. Other than a bug fix discovered because of this test, not much to report other that the results.&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;b&gt;&lt;strong&gt;Narrator:&lt;/strong&gt;&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;em&gt; They were very normal and boring.&lt;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY4MDE_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--6ef15ff671634e7679da31134b4485d7668c7fe0&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDEsInB1ciI6ImJsb2JfaWQifX0=--0e467df58626b0178597882d1bada7015afee307/random-filter-bar-graph.png&quot; filename=&quot;random-filter-bar-graph.png&quot; filesize=&quot;54511&quot; width=&quot;1146&quot; height=&quot;645&quot; previewable=&quot;true&quot; presentation=&quot;gallery&quot; caption=&quot;&quot;&gt;  &lt;/action-text-attachment&gt;&lt;/p&gt;&lt;figure class=&quot;attachment attachment--preview attachment--png&quot;&gt;
      &lt;img data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDEsInB1ciI6ImJsb2JfaWQifX0=--0e467df58626b0178597882d1bada7015afee307/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/random-filter-bar-graph.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDEsInB1ciI6ImJsb2JfaWQifX0=--0e467df58626b0178597882d1bada7015afee307/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/random-filter-bar-graph.png&quot;&gt;

  &lt;/figure&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY4MDI_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--df781e51c3139e46d79efc6d029c8325c4a46ed2&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDIsInB1ciI6ImJsb2JfaWQifX0=--4c1c99d943f7929236bd1265418ec6cb7a330cbf/distribution_stability_dashboard_n1000.png&quot; filename=&quot;distribution_stability_dashboard_n1000.png&quot; filesize=&quot;189286&quot; width=&quot;1931&quot; height=&quot;1330&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDIsInB1ciI6ImJsb2JfaWQifX0=--4c1c99d943f7929236bd1265418ec6cb7a330cbf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/distribution_stability_dashboard_n1000.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MDIsInB1ciI6ImJsb2JfaWQifX0=--4c1c99d943f7929236bd1265418ec6cb7a330cbf/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/distribution_stability_dashboard_n1000.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;action-text-attachment sgid=&quot;eyJfcmFpbHMiOnsiZGF0YSI6ImdpZDovL3RybW5sL0FjdGl2ZVN0b3JhZ2U6OkJsb2IvMTkyMDY4MTY_ZXhwaXJlc19pbiIsInB1ciI6ImF0dGFjaGFibGUifX0=--80accd408e75736d53bc1833a4ff17fb2fa007bd&quot; content-type=&quot;image/png&quot; url=&quot;https://trmnl.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MTYsInB1ciI6ImJsb2JfaWQifX0=--596465cc2f0f30ed312d87739c84b62c99e6b0aa/lag1_scatter_n1000.png&quot; filename=&quot;lag1_scatter_n1000.png&quot; filesize=&quot;159832&quot; width=&quot;1033&quot; height=&quot;960&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 data-image-lightbox-src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MTYsInB1ciI6ImJsb2JfaWQifX0=--596465cc2f0f30ed312d87739c84b62c99e6b0aa/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsyNTYwLDI1NjBdfSwicHVyIjoidmFyaWF0aW9uIn19--916f83e17a3f8c707d48735747fadce268546db3/lag1_scatter_n1000.png&quot; src=&quot;/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTkyMDY4MTYsInB1ciI6ImJsb2JfaWQifX0=--596465cc2f0f30ed312d87739c84b62c99e6b0aa/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fbGltaXQiOlsxMDI0LDc2OF19LCJwdXIiOiJ2YXJpYXRpb24ifX0=--a1b29f018116e3f4abd0440beb02228a54f47dd1/lag1_scatter_n1000.png&quot;&gt;

  &lt;/figure&gt;&lt;/action-text-attachment&gt;&lt;p&gt;&lt;/p&gt;&lt;figure class=&quot;lexxy-content__table-wrapper&quot;&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Diagnostic&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;New dataset, first 1,000&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Interpretation&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Mean&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;49.051&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Somewhat below 50.5, but not significant; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.112&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Median&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;49.5&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Near the center&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Sample standard deviation&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;28.831&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Very close to the uniform expectation of 28.866&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Values 1–50 versus 51–100&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;506 versus 494&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant imbalance; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.728&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Even versus odd&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;493 versus 507&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;No significant imbalance; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.681&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Ten value bands&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;81–115 per band&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Compatible with uniformity; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.241&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Twenty value bands&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;—&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Compatible with uniformity; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.539&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Last digits&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;75–111 per digit&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;Compatible with uniformity; &lt;i&gt;&lt;em&gt;p&lt;/em&gt;&lt;/i&gt; = 0.163&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;Distinct values&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;100 of 100&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;All possible values appeared&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h3 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h3&gt;&lt;p&gt;We had an assumption, we tested that assumption, and in the end it improved the quality of life for our plugin developers. It&#39;s not a groundbreaking result, but hopefully an interesting detour.&lt;/p&gt;&lt;p&gt;Also, we learned that Mario was wrong, which was valuable, but not very reassuring.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/random-number-analysis</id>
    <link href="https://trmnl.com/blog/random-number-analysis"/>
    <published>2026-09-16T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Is it Random Enough?</title>
    <updated>2026-09-16T00:00:00+00:00</updated>
    <dc:date>2026-09-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;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 11th payout recognizes community contributions between August 7, 2026 and September 4, 2026.&lt;/p&gt;&lt;h2 id=&quot;source-of-funds&quot;&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;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;source&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;revenue&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;share&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;b&gt;&lt;strong&gt;amount&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;Stripe&lt;/p&gt;&lt;p&gt;Developer Edition&lt;br&gt;BYOD&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;/th&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$4,400&lt;br&gt;$2,940&lt;br&gt;$525&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$283.85&lt;br&gt;$12,570.02&lt;br&gt;$15,029.80&lt;br&gt;$9,075.57&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;15%&lt;br&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;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$660&lt;br&gt;$441&lt;br&gt;$420&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;$42.58&lt;br&gt;$1,257&lt;br&gt;$1,502.98&lt;br&gt;$1,361.34&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th class=&quot;lexxy-content__table-cell--header&quot;&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/th&gt;&lt;td&gt;&lt;p&gt;$44,824.24&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;/td&gt;&lt;td&gt;&lt;p&gt;&lt;mark style=&quot;background-color:var(--highlight-bg-7);&quot;&gt;$5,684.90&lt;/mark&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;h2 id=&quot;by-the-numbers&quot;&gt;by the numbers&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;total payout: $5,684.90&lt;/li&gt;&lt;li&gt;plugin author share: $3,979.43 (70% of base total)&lt;/li&gt;&lt;li&gt;strategic contributors share: $1,705.47 (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.&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, 40%&lt;/li&gt;&lt;li&gt;Localizations, 2%&lt;/li&gt;&lt;li&gt;BYOD, 55%&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: these allocations change monthly based on contributions by category.&lt;/p&gt;&lt;h2 id=&quot;algorithm&quot;&gt;algorithm?&lt;/h2&gt;&lt;p&gt;see the algorithm in action &lt;a href=&quot;https://www.youtube.com/watch?v=FJA_tOYcMbI&quot;&gt;here&lt;/a&gt;. over time the above weights, revenue share percentages, and minimum thresholds may change.&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-08-2026</id>
    <link href="https://trmnl.com/blog/creator-fund-08-2026"/>
    <published>2026-09-09T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Creator Fund - August 2026</title>
    <updated>2026-09-09T00:00:00+00:00</updated>
    <dc:date>2026-09-09T00: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;&lt;p&gt;&lt;i&gt;&lt;em&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;/em&gt;&lt;/i&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 id=&quot;buienradar&quot;&gt;&lt;a href=&quot;https://trmnl.com/recipes/353457&quot;&gt;Buienradar&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Community member &lt;a href=&quot;https://doeken.org/&quot;&gt;Doeke&lt;/a&gt; (Discord: &lt;code&gt;doekenorg&lt;/code&gt;) created the &lt;a href=&quot;https://trmnl.com/recipes/353457&quot;&gt;Buienradar&lt;/a&gt; plugin; here are their words on how it was created.&lt;/p&gt;&lt;h3 id=&quot;why-did-you-want-this-plugin-to-exist&quot;&gt;Why did you want this plugin to exist?&lt;/h3&gt;&lt;p&gt;I&#39;ve tried a few of the other weather plugins, but their accuracy for The Netherlands was not that great. Not that weather apps are often right... but I figured using a Dutch service, would have more accuracy overall.&lt;/p&gt;&lt;h3 id=&quot;why-were-you-the-person-to-make-it&quot;&gt;Why were you the person to make it?&lt;/h3&gt;&lt;p&gt;I&#39;m a software developer, with &lt;i&gt;&lt;em&gt;some&lt;/em&gt;&lt;/i&gt; sense of proper design. Not that I&#39;m a designer at all, but I know what looks and works well. So I keep at it, making it suck less, until it looks good.&lt;/p&gt;&lt;h3 id=&quot;were-you-inspired-by-any-other-recipes-or-plugin-creators&quot;&gt;Were you inspired by any other recipes or plugin creators?&lt;/h3&gt;&lt;p&gt;Yes, since I&#39;ve been using other plugins; I&#39;ve been biased to their designs, of course. But also by other plugins that were way too crowded and cramped a lot of info in a small window.&lt;/p&gt;&lt;h3 id=&quot;how-did-you-balance-look-vs-functionality&quot;&gt;How did you balance look vs functionality?&lt;/h3&gt;&lt;p&gt;In this case, design was slightly more important. Functionality is of course: making the weather information available. But design drives how easy it is to absorb that information. Visual hierarchy is very important there. I also wanted to make the plugin feel native to the TRMNL platform, as well as to users familiar with Buienradar. So I reused their iconography.&lt;/p&gt;&lt;h3 id=&quot;what-was-your-process-for-creating-the-plugin&quot;&gt;What was your process for creating the plugin?&lt;/h3&gt;&lt;p&gt;First I read the API and figured out what information would be good to use on the screens. Then I used a combination of Claude and my JetBrains IDE to design every step. I also used the TRMNL local dev server to test the plugin on various screens. Lastly, I created a proper git repo for the plugin, using the GitHub actions to quickly be able to release new features and updates.&lt;/p&gt;&lt;h3 id=&quot;what-if-any-challenges-did-you-face-while-creating-it&quot;&gt;What, if any, challenges did you face while creating it?&lt;/h3&gt;&lt;p&gt;The data is limited to a 5-day forecast (today + 4 days). This meant that the design needed to include or exclude information based on the screen size. Sometimes that meant including something only on portrait mode, but not on portrait mode of another screen size. This meant testing and retesting every screen on OG and X a lot. I also missed some leading tools to increase the line-height of larger and longer texts. I mentioned this to the team, and they responded very positive on the idea.&lt;/p&gt;&lt;h3 id=&quot;did-you-learn-anything-that-you-want-to-apply-to-future-or-past-recipes&quot;&gt;Did you learn anything that you want to apply to future or past recipes?&lt;/h3&gt;&lt;p&gt;I created an AGENTS.md file to let AI agents use the correct best practices, as well as the appropriate helper classes. This meant that changes would always use the framework, making the change automatically work on light/dark mode. And the shared template is a great way to set up re-usable template parts. Having a single place to change classes across pages has been a great timesaver.&lt;/p&gt;&lt;h3 id=&quot;is-there-a-tip-you-would-give-to-a-new-plugin-developer&quot;&gt;Is there a tip you would give to a new plugin developer?&lt;/h3&gt;&lt;p&gt;As always, first, RTFM. That is very extensive. It would be great to have those docs as markdown files for LLM&#39;s. Or even as an MCP server (&lt;b&gt;&lt;strong&gt;Editor&lt;/strong&gt;&lt;/b&gt;: We do!). For now I just pulled to my local memory. But definitely test your plugin on multiple screens using the local dev server.&lt;/p&gt;
&lt;/div&gt;
</content>
    <id>https://trmnl.com/blog/featured-plugin-buienradar</id>
    <link href="https://trmnl.com/blog/featured-plugin-buienradar"/>
    <published>2026-09-08T00:00:00+00:00</published>
    <rights>Copyright 2026</rights>
    <title>Featured Community Plugin - Buienradar</title>
    <updated>2026-09-08T00:00:00+00:00</updated>
    <dc:date>2026-09-08T00:00:00+00:00</dc:date>
  </entry>
  <dc:date>2026-10-13T00:00:00+00:00</dc:date>
</feed>