<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: BassThermal</title>
    <description>The latest articles on DEV Community by BassThermal (@bassthermal).</description>
    <link>https://dev.to/bassthermal</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3792017%2F149bc87e-8d61-4b25-8d75-8e847f1d0e5f.jpg</url>
      <title>DEV Community: BassThermal</title>
      <link>https://dev.to/bassthermal</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bassthermal"/>
    <language>en</language>
    <item>
      <title>Building DualTicker: A Deterministic, Configurable RSS Dashboard</title>
      <dc:creator>BassThermal</dc:creator>
      <pubDate>Wed, 25 Feb 2026 20:38:45 +0000</pubDate>
      <link>https://dev.to/bassthermal/building-dualticker-a-deterministic-configurable-rss-dashboard-12fp</link>
      <guid>https://dev.to/bassthermal/building-dualticker-a-deterministic-configurable-rss-dashboard-12fp</guid>
      <description>&lt;p&gt;Most RSS readers present news as a single linear stream.&lt;/p&gt;

&lt;p&gt;They’re not built for comparing multiple feeds in parallel.&lt;/p&gt;

&lt;p&gt;If you want to monitor how different sources publish in real time — side by side, in strict chronological order — most tools force everything into a single stream.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;DualTicker&lt;/strong&gt;, a configurable, real-time RSS dashboard designed specifically for structured multi-feed monitoring.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uapysjvwcbahwdad9ta.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1uapysjvwcbahwdad9ta.png" alt=" " width="800" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Traditional RSS Readers
&lt;/h2&gt;

&lt;p&gt;They’re not built for comparing multiple feeds in parallel.&lt;/p&gt;

&lt;p&gt;If you want to monitor how different sources publish in real time — side by side, in strict chronological order — most tools force everything into a single stream.&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;DualTicker&lt;/strong&gt;, a configurable, real-time RSS dashboard designed specifically for structured multi-feed monitoring.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem with Traditional RSS Readers
&lt;/h2&gt;

&lt;p&gt;Standard RSS readers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Merge everything into one list
&lt;/li&gt;
&lt;li&gt;Reorder content
&lt;/li&gt;
&lt;li&gt;Emphasize “top stories”
&lt;/li&gt;
&lt;li&gt;Optimize for consumption
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But if your goal is &lt;strong&gt;feed comparison&lt;/strong&gt; or &lt;strong&gt;parallel monitoring&lt;/strong&gt;, merging destroys visibility.&lt;/p&gt;

&lt;p&gt;You lose structural differences between sources.&lt;/p&gt;




&lt;h2&gt;
  
  
  What DualTicker Does
&lt;/h2&gt;

&lt;p&gt;DualTicker is a real-time RSS dashboard that:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Polls multiple RSS feeds
&lt;/li&gt;
&lt;li&gt;Normalizes entries
&lt;/li&gt;
&lt;li&gt;Removes duplicates where appropriate
&lt;/li&gt;
&lt;li&gt;Renders items strictly by timestamp
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There is no ranking logic.&lt;br&gt;&lt;br&gt;
No blending across sources.&lt;br&gt;&lt;br&gt;
No engagement optimization.  &lt;/p&gt;

&lt;p&gt;If a feed publishes something, it appears in chronological order.&lt;/p&gt;


&lt;h2&gt;
  
  
  Multi-Stream RSS Layout
&lt;/h2&gt;

&lt;p&gt;DualTicker supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Single-stream RSS mode
&lt;/li&gt;
&lt;li&gt;Side-by-side RSS comparison
&lt;/li&gt;
&lt;li&gt;Custom feed groups
&lt;/li&gt;
&lt;li&gt;Preset configurations
&lt;/li&gt;
&lt;li&gt;URL-encoded state
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example of a shareable view:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/?s=us-vs-world&amp;amp;q=election OR gaza -opinion
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The entire configuration can be encoded in the URL, making sessions reproducible and shareable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Architecture Overview
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Deterministic Chronological Rendering
&lt;/h3&gt;

&lt;p&gt;Items are rendered strictly by timestamp.&lt;/p&gt;

&lt;p&gt;The system avoids introducing hidden sorting heuristics.&lt;/p&gt;

&lt;p&gt;Predictability &amp;gt; automation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Feed Reliability Handling
&lt;/h3&gt;

&lt;p&gt;RSS feeds are inconsistent. Some:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Omit timestamps
&lt;/li&gt;
&lt;li&gt;Return intermittent 403 responses
&lt;/li&gt;
&lt;li&gt;Temporarily return empty results
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The system preserves last-known-good items during failed refresh cycles to prevent UI collapse.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend Windowing
&lt;/h3&gt;

&lt;p&gt;Large feed volumes can cause scroll limitations if the rendered window is too small.&lt;/p&gt;

&lt;p&gt;The solution was increasing the frontend window size to provide sufficient physical scroll runway.&lt;/p&gt;

&lt;p&gt;Sometimes the limitation isn’t logic — it’s layout.&lt;/p&gt;




&lt;h2&gt;
  
  
  Who This Is For
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;People comparing multiple RSS feeds
&lt;/li&gt;
&lt;li&gt;Users monitoring news sources in parallel
&lt;/li&gt;
&lt;li&gt;Developers building feed-based dashboards
&lt;/li&gt;
&lt;li&gt;Anyone who wants structured chronological visibility
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What It Is Not
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A recommendation engine
&lt;/li&gt;
&lt;li&gt;A news publisher
&lt;/li&gt;
&lt;li&gt;A ranking system
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a deterministic RSS dashboard.&lt;/p&gt;




&lt;h2&gt;
  
  
  Availability
&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.dualticker.com" rel="noopener noreferrer"&gt;www.dualticker.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apps.microsoft.com/detail/9p4txws57pld" rel="noopener noreferrer"&gt;Windows desktop build&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.bassthermal.dualtickerlens&amp;amp;pcampaignid=web_share" rel="noopener noreferrer"&gt;Android app&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;a href="https://chromewebstore.google.com/detail/poepgpmgkhhccdpfhoainkkbjjniblob?utm_source=item-share-cb" rel="noopener noreferrer"&gt;Chrome Extension&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free to use.&lt;/p&gt;

&lt;p&gt;Optional one-time Founder tier unlocks advanced configuration features.&lt;/p&gt;




&lt;p&gt;If you build feed systems or deterministic dashboards, I’d be interested in feedback on architectural tradeoffs.&lt;/p&gt;

</description>
      <category>rss</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Building a Deterministic Batch Icon Pack Generator for Multi-Platform Apps</title>
      <dc:creator>BassThermal</dc:creator>
      <pubDate>Wed, 25 Feb 2026 15:41:28 +0000</pubDate>
      <link>https://dev.to/bassthermal/building-a-deterministic-batch-icon-pack-generator-for-multi-platform-apps-4in0</link>
      <guid>https://dev.to/bassthermal/building-a-deterministic-batch-icon-pack-generator-for-multi-platform-apps-4in0</guid>
      <description>&lt;p&gt;If you ship apps across Windows, Android, or Apple platforms, you’ve probably dealt with icon packaging friction.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfewdqb5em6a20mo36oa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwfewdqb5em6a20mo36oa.png" alt=" " width="800" height="469"&gt;&lt;/a&gt;&lt;br&gt;
Designing the icon isn’t the problem.&lt;/p&gt;

&lt;p&gt;Packaging it correctly across platforms is.&lt;/p&gt;

&lt;p&gt;Each platform expects different formats and size matrices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Windows requires &lt;code&gt;.ico&lt;/code&gt; containers with multiple embedded sizes
&lt;/li&gt;
&lt;li&gt;Android uses density-based folders
&lt;/li&gt;
&lt;li&gt;Apple has strict size requirements
&lt;/li&gt;
&lt;li&gt;General exports require multiple PNG resolutions
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even when the design is finished, you still need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Export multiple resolutions
&lt;/li&gt;
&lt;li&gt;Generate ICO files
&lt;/li&gt;
&lt;li&gt;Organize folder structures
&lt;/li&gt;
&lt;li&gt;Double-check required sizes
&lt;/li&gt;
&lt;li&gt;Repeat the entire process for the next project
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For one app, it’s manageable.&lt;/p&gt;

&lt;p&gt;For multiple apps or client work, it becomes repetitive overhead.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The Goal: Deterministic Output&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built a small Windows utility called &lt;strong&gt;Icon Pack Builder&lt;/strong&gt; to reduce that friction.&lt;/p&gt;

&lt;p&gt;The goal wasn’t to replace design tools.&lt;/p&gt;

&lt;p&gt;It was to package existing icon assets cleanly and predictably.&lt;/p&gt;

&lt;p&gt;Core principles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deterministic folder structure
&lt;/li&gt;
&lt;li&gt;Consistent naming conventions
&lt;/li&gt;
&lt;li&gt;Multi-platform output
&lt;/li&gt;
&lt;li&gt;Batch processing
&lt;/li&gt;
&lt;li&gt;Fully offline
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You select one image — or multiple images — and generate complete platform-ready icon packs in a single run.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Batch Processing Matters More Than It Sounds&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Most online generators handle one image at a time.&lt;/p&gt;

&lt;p&gt;But if you’re:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Updating branding across multiple apps
&lt;/li&gt;
&lt;li&gt;Preparing portfolio builds
&lt;/li&gt;
&lt;li&gt;Managing client assets
&lt;/li&gt;
&lt;li&gt;Shipping frequently
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don’t want to manually repeat the same export process.&lt;/p&gt;

&lt;p&gt;Batch mode lets you generate structured icon packs for multiple source images in one execution.&lt;/p&gt;

&lt;p&gt;That alone significantly reduces repetitive workflow steps.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Offline by Design&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Many icon generators are web-based.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uploading assets
&lt;/li&gt;
&lt;li&gt;Internet dependency
&lt;/li&gt;
&lt;li&gt;Server-side processing
&lt;/li&gt;
&lt;li&gt;Potential privacy concerns
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Running locally removes those constraints.&lt;/p&gt;

&lt;p&gt;Everything happens on your machine.&lt;/p&gt;

&lt;p&gt;No uploads. No subscriptions. No cloud dependency.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Who It’s For&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Indie developers
&lt;/li&gt;
&lt;li&gt;Small studios
&lt;/li&gt;
&lt;li&gt;Agencies shipping multiple builds
&lt;/li&gt;
&lt;li&gt;Developers who prefer predictable tooling
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It’s a focused utility solving a specific packaging problem.&lt;/p&gt;

&lt;p&gt;Sometimes that’s enough.&lt;/p&gt;

&lt;p&gt;If you’re interested, you can check it out here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apps.microsoft.com/detail/9mxvt3dfq295" rel="noopener noreferrer"&gt;https://apps.microsoft.com/detail/9mxvt3dfq295&lt;/a&gt;?&lt;/p&gt;

</description>
      <category>automation</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
