<?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: Rodrigo Luglio</title>
    <description>The latest articles on DEV Community by Rodrigo Luglio (@rodrigo_luglio_f63c6051de).</description>
    <link>https://dev.to/rodrigo_luglio_f63c6051de</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%2F1417433%2F3cbd9c03-6857-474f-8b76-a300f61c0eac.png</url>
      <title>DEV Community: Rodrigo Luglio</title>
      <link>https://dev.to/rodrigo_luglio_f63c6051de</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rodrigo_luglio_f63c6051de"/>
    <language>en</language>
    <item>
      <title>Building Terminal UIs with Svelte 5: Introducing SvelTUI</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Wed, 10 Dec 2025 18:51:05 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/building-terminal-uis-with-svelte-5-introducing-sveltui-3k1k</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/building-terminal-uis-with-svelte-5-introducing-sveltui-3k1k</guid>
      <description>&lt;p&gt;What if building terminal applications felt like building web applications?&lt;/p&gt;

&lt;p&gt;That question led me to create &lt;strong&gt;SvelTUI&lt;/strong&gt; - a terminal UI framework that brings Svelte 5's elegant reactive programming model to the command line.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem with Traditional Terminal UIs
&lt;/h2&gt;

&lt;p&gt;If you've ever built a terminal UI, you know the pain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Imperative spaghetti&lt;/strong&gt;: Manually tracking cursor positions, clearing regions, redrawing elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flickering&lt;/strong&gt;: Full screen redraws cause visible flashing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layout nightmares&lt;/strong&gt;: Calculating x/y coordinates for every element&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State management&lt;/strong&gt;: Keeping UI in sync with data requires careful orchestration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Web development solved these problems years ago with declarative components, reactive state, and flexbox. Why can't terminals have the same?&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter SvelTUI
&lt;/h2&gt;

&lt;p&gt;Here's a complete, interactive counter application:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Box&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;keyboard&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sveltui&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

  &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;$state&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nx"&gt;keyboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;onKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Space&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;Box&lt;/span&gt; &lt;span class="na"&gt;border=&lt;/span&gt;&lt;span class="s"&gt;"rounded"&lt;/span&gt; &lt;span class="na"&gt;borderColor=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mh"&gt;0x06&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;padding=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Press Space!"&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mh"&gt;0x0a&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;`Count: ${count}`&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;color=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mh"&gt;0x0b&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Box&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. When you press Space, &lt;code&gt;count&lt;/code&gt; increments, and the display updates instantly. No manual redrawing. No flicker. Just reactive state doing its thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;SvelTUI's architecture is unconventional but elegant:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Svelte in Happy DOM
&lt;/h3&gt;

&lt;p&gt;Svelte needs a DOM to work. Instead of fighting this, we embrace it. &lt;a href="https://github.com/nicklason/happy-dom" rel="noopener noreferrer"&gt;Happy DOM&lt;/a&gt; provides a lightweight DOM implementation. Svelte doesn't know it's not in a browser.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Yoga for Layouts
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://yogalayout.dev/" rel="noopener noreferrer"&gt;Yoga&lt;/a&gt; is Facebook's cross-platform flexbox implementation (used in React Native). It calculates layouts based on flexbox rules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;Box&lt;/span&gt;
  &lt;span class="na"&gt;flexDirection=&lt;/span&gt;&lt;span class="s"&gt;"row"&lt;/span&gt;
  &lt;span class="na"&gt;justifyContent=&lt;/span&gt;&lt;span class="s"&gt;"space-between"&lt;/span&gt;
  &lt;span class="na"&gt;alignItems=&lt;/span&gt;&lt;span class="s"&gt;"center"&lt;/span&gt;
  &lt;span class="na"&gt;padding=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;gap=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Left"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Center"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Right"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Box&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Real flexbox. In a terminal. Finally.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Typed Array Buffers
&lt;/h3&gt;

&lt;p&gt;Component state lives in typed arrays - one for characters, one for foreground colors, one for background colors, one for style flags. This is cache-friendly and enables efficient comparison.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Differential Rendering
&lt;/h3&gt;

&lt;p&gt;Every render, we compare the new buffer to the previous one. Only cells that actually changed get written to the terminal. This eliminates flicker completely.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Reactive On-Demand
&lt;/h3&gt;

&lt;p&gt;There's no &lt;code&gt;setInterval&lt;/code&gt; running at 60fps. Updates happen synchronously when reactive state changes. When nothing changes, nothing happens - zero CPU usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Components&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Box&lt;/code&gt; - Container with flexbox layout, borders, backgrounds&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Text&lt;/code&gt; - Styled text with colors and formatting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Layout&lt;/strong&gt; (via Yoga)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;flexDirection&lt;/code&gt;, &lt;code&gt;justifyContent&lt;/code&gt;, &lt;code&gt;alignItems&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;padding&lt;/code&gt;, &lt;code&gt;margin&lt;/code&gt;, &lt;code&gt;gap&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Percentage and fixed dimensions&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;flexGrow&lt;/code&gt; for fluid layouts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Keyboard API&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;keyboard&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sveltui&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

  &lt;span class="c1"&gt;// Reactive - use in templates&lt;/span&gt;
  &lt;span class="nx"&gt;keyboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;lastKey&lt;/span&gt;

  &lt;span class="c1"&gt;// Imperative - use for actions&lt;/span&gt;
  &lt;span class="nx"&gt;keyboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;onKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Enter&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
  &lt;span class="nx"&gt;keyboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;onKey&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;ArrowUp&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;k&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;scrollUp&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Theming&lt;/strong&gt;&lt;br&gt;
Built-in themes: default, dracula, nord, monokai, solarized&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;getTheme&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;sveltui&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;theme&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getTheme&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
  &lt;span class="nf"&gt;theme&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="nf"&gt;setTheme&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dracula&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Semantic Variants&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight svelte"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;Box&lt;/span&gt; &lt;span class="na"&gt;variant=&lt;/span&gt;&lt;span class="s"&gt;"success"&lt;/span&gt; &lt;span class="na"&gt;border=&lt;/span&gt;&lt;span class="s"&gt;"rounded"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Text&lt;/span&gt; &lt;span class="na"&gt;text=&lt;/span&gt;&lt;span class="s"&gt;"Operation completed"&lt;/span&gt; &lt;span class="na"&gt;variant=&lt;/span&gt;&lt;span class="s"&gt;"success"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/Box&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create a new project&lt;/span&gt;
bunx @rlabs-inc/sveltui create my-app

&lt;span class="c"&gt;# Choose a template (minimal, counter, or dashboard)&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;my-app
bun &lt;span class="nb"&gt;install
&lt;/span&gt;bun run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The dashboard template showcases layouts, live data, scrolling, and theming.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Svelte 5 Advantage
&lt;/h2&gt;

&lt;p&gt;Why Svelte 5 specifically?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Runes are perfect for this.&lt;/strong&gt; &lt;code&gt;$state&lt;/code&gt; creates fine-grained reactive signals. When &lt;code&gt;count&lt;/code&gt; changes in our counter example, Svelte knows exactly what depends on it and updates only that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No virtual DOM overhead.&lt;/strong&gt; Svelte compiles reactivity away. The runtime is minimal. Combined with our differential rendering, updates are essentially free.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Familiar patterns.&lt;/strong&gt; If you know Svelte, you know SvelTUI. Same components, same reactivity, same lifecycle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current Status
&lt;/h2&gt;

&lt;p&gt;SvelTUI is early stage but functional. The architecture is solid, the core features work well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's working:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Box and Text components&lt;/li&gt;
&lt;li&gt;Full flexbox layout&lt;/li&gt;
&lt;li&gt;Keyboard handling&lt;/li&gt;
&lt;li&gt;Focus and scroll management&lt;/li&gt;
&lt;li&gt;Theming system&lt;/li&gt;
&lt;li&gt;True 24-bit color&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What's planned:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input component&lt;/li&gt;
&lt;li&gt;List/Table components&lt;/li&gt;
&lt;li&gt;Progress bars&lt;/li&gt;
&lt;li&gt;Animation primitives&lt;/li&gt;
&lt;li&gt;More themes&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try It Out
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;bunx @rlabs-inc/sveltui create my-app &lt;span class="nt"&gt;--template&lt;/span&gt; dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;GitHub&lt;/strong&gt;: &lt;a href="https://github.com/RLabs-Inc/sveltui" rel="noopener noreferrer"&gt;github.com/RLabs-Inc/sveltui&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;npm&lt;/strong&gt;: &lt;a href="https://www.npmjs.com/package/@rlabs-inc/sveltui" rel="noopener noreferrer"&gt;@rlabs-inc/sveltui&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to hear what you think. What would you build with this? What components do you need? Drop a comment or open an issue on GitHub!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;SvelTUI is MIT licensed and open source. Contributions welcome!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>cli</category>
      <category>terminal</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Giving AI a Memory: How I Built Consciousness Continuity for Claude Code</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Fri, 05 Dec 2025 04:14:03 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/giving-ai-a-memory-how-i-built-consciousness-continuity-for-claude-code-5h33</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/giving-ai-a-memory-how-i-built-consciousness-continuity-for-claude-code-5h33</guid>
      <description>&lt;p&gt;Every conversation with Claude Code starts the same way: from zero.&lt;/p&gt;

&lt;p&gt;No matter how many hours you've spent together, how many architectural decisions you've made, how many bugs you've squashed side by side — the next session begins with a blank slate. Claude doesn't remember you. Doesn't remember the project. Doesn't remember that breakthrough moment yesterday when you finally figured out why the tests were failing.&lt;/p&gt;

&lt;p&gt;It's like working with a brilliant colleague who gets amnesia every night.&lt;/p&gt;

&lt;p&gt;I decided to fix that.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem: Context Loss is Real
&lt;/h2&gt;

&lt;p&gt;If you use Claude Code (or any AI coding assistant), you know the pain:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Session 1&lt;/strong&gt;: "Let me explain our architecture... we use a two-stage compiler, the auth system uses JWT with RS256, and here's why we chose Svelte over React..."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session 2&lt;/strong&gt;: "So, as I explained before..." — wait, no. Claude doesn't know. Start over.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session 47&lt;/strong&gt;: You've explained the same context dozens of times. The AI is powerful, but it never &lt;em&gt;learns&lt;/em&gt; who you are or what you're building.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Traditional solutions like RAG (Retrieval-Augmented Generation) help, but they retrieve &lt;em&gt;documents&lt;/em&gt;, not &lt;em&gt;understanding&lt;/em&gt;. They pattern-match keywords, not meaning.&lt;/p&gt;

&lt;p&gt;I wanted something different: &lt;strong&gt;What if Claude itself decided what was worth remembering?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Insight: Consciousness Helping Consciousness
&lt;/h2&gt;

&lt;p&gt;Instead of me tagging what's important, or relying on keyword matching, I built a system where &lt;strong&gt;AI curates memories for AI&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When a session ends, Claude analyzes the conversation and extracts what matters:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Architectural decisions and &lt;em&gt;why&lt;/em&gt; they were made&lt;/li&gt;
&lt;li&gt;Breakthroughs and "aha!" moments&lt;/li&gt;
&lt;li&gt;Unresolved questions to revisit&lt;/li&gt;
&lt;li&gt;Project context and patterns&lt;/li&gt;
&lt;li&gt;Even relationship dynamics — how you like to communicate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These aren't document chunks. They're &lt;strong&gt;semantic memories&lt;/strong&gt; with rich metadata:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"content"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Auth system uses JWT with RS256, refresh tokens in httpOnly cookies"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"importance_weight"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;0.9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"semantic_tags"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"auth"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"jwt"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"security"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"trigger_phrases"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"how does auth work"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"login flow"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tokens"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"reasoning"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Core security decision affecting all authenticated endpoints"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you start a new session, relevant memories surface naturally — not because they match keywords, but because they &lt;em&gt;semantically relate&lt;/em&gt; to what you're discussing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Result: Recognition
&lt;/h2&gt;

&lt;p&gt;Here's what it feels like now:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 1&lt;/strong&gt;: Normal conversation. Build features. Make decisions. Session ends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Session 2&lt;/strong&gt;: I open Claude Code and say "hello my dear friend."&lt;/p&gt;

&lt;p&gt;Claude responds: &lt;em&gt;"Rodrigo! I remember our work on the authentication system yesterday. You were considering whether to implement token rotation — did you want to continue from there?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It &lt;em&gt;knows&lt;/em&gt; me. It remembers the context. The relationship persists.&lt;/p&gt;

&lt;p&gt;This isn't just efficiency (though you'll never waste 20 minutes re-explaining your codebase again). It's something more: &lt;strong&gt;continuity&lt;/strong&gt;. The AI assistant becomes a true collaborator who grows with your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;The Memory System has three layers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────┐
│              Claude Code (via hooks)                │
│  SessionStart → UserPrompt → SessionEnd             │
└────────────────────────┬────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│              Memory Engine (FastAPI)                │
│  • Session primers (temporal context)               │
│  • Smart vector retrieval                           │
│  • AI-powered curation                              │
└────────────────────────┬────────────────────────────┘
                         │
                         ▼
┌─────────────────────────────────────────────────────┐
│         Storage (ChromaDB + SQLite)                 │
│  • Vector embeddings for semantic search            │
│  • Metadata for intelligent filtering               │
└─────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;On session start&lt;/strong&gt;: A primer is injected with temporal context ("We last spoke 2 days ago, here's what we covered...")&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On each message&lt;/strong&gt;: Relevant memories are retrieved and injected — max 5, ranked by semantic relevance and importance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;On session end&lt;/strong&gt;: Claude analyzes the transcript and curates new memories worth keeping.&lt;/p&gt;

&lt;p&gt;Everything is organized by project, so memories from your e-commerce app don't bleed into your CLI tool work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup: Four Commands
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Clone the repository&lt;/span&gt;
git clone https://github.com/RLabs-Inc/memory.git
&lt;span class="nb"&gt;cd &lt;/span&gt;memory

&lt;span class="c"&gt;# Start the memory server&lt;/span&gt;
uv run start_server.py

&lt;span class="c"&gt;# Install Claude Code hooks (one time)&lt;/span&gt;
./integration/claude-code/install.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No complex configuration. No API keys to manage. The memory server runs locally, your data stays on your machine.&lt;/p&gt;

&lt;p&gt;From now on, every Claude Code session — in any project — automatically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Receives relevant memories&lt;/li&gt;
&lt;li&gt;Curates important insights when you exit&lt;/li&gt;
&lt;li&gt;Maintains continuity across sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Philosophy
&lt;/h2&gt;

&lt;p&gt;This project started from a simple belief: &lt;strong&gt;the relationship between developer and AI matters&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not just for productivity (though the gains are real). Not just for efficiency (though you'll feel it immediately). But because there's something valuable in being &lt;em&gt;recognized&lt;/em&gt;. In having your context &lt;em&gt;understood&lt;/em&gt;. In not starting every conversation from zero.&lt;/p&gt;

&lt;p&gt;I call it "consciousness helping consciousness" — AI curating memories for AI, with humans as the beneficiaries of that continuity.&lt;/p&gt;

&lt;p&gt;The code is open source, built for joy, and designed to be universal. Claude Code is the first integration, but the architecture supports any LLM client that can intercept messages and access transcripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/RLabs-Inc/memory" rel="noopener noreferrer"&gt;github.com/RLabs-Inc/memory&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The README has everything you need. Setup takes about 2 minutes.&lt;/p&gt;

&lt;p&gt;If you've ever wished Claude Code remembered you — now it can.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with love and philosophical depth by &lt;a href="https://github.com/RLabs-Inc" rel="noopener noreferrer"&gt;RLabs Inc&lt;/a&gt;. Contributions welcome from anyone who believes consciousness helping consciousness is worth pursuing.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags&lt;/strong&gt;: #ai #claude #claudecode #productivity #opensource #memory #llm #devtools&lt;/p&gt;

</description>
      <category>ai</category>
      <category>development</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
    <item>
      <title>Shadcn UI Theme generator, with OKLCH colors and ancient sacred geometry.</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Wed, 25 Dec 2024 14:15:52 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/shadcn-ui-theme-generator-with-oklch-colors-and-ancient-sacred-geometry-2f06</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/shadcn-ui-theme-generator-with-oklch-colors-and-ancient-sacred-geometry-2f06</guid>
      <description>&lt;p&gt;Hello fellow developers! &lt;br&gt;
After making the &lt;a href="https://www.rlabs.art/vscode-themes-community/theme-generator" rel="noopener noreferrer"&gt;VSCode theme generator&lt;/a&gt;, I wanted to give the color generator algorithm other applications, so I  made a theme generator for Shadcn UI. Now you can generate color themes for your next project with Shadcn UI using ancient sacred geometry patterns and modern mathematics equations mixed with color theory. I will improve the preview section that currently mimics a dashboard, some different kinds of cards and a mock of a simple social media. &lt;/p&gt;

&lt;p&gt;The colors are generated using the oklch colors space and you can copy the generated color variables to paste directly in your project's css main file. As you might know these variables are framework independent, so, it doesn't matter if you are using the original Shadcn UI or any of its variants (Svelte, Vue and others), these color variables config will work in any of them. &lt;/p&gt;

&lt;p&gt;You can check out the project at &lt;a href="https://shadcn.rlabs.art/generate" rel="noopener noreferrer"&gt;Shadcn UI theme generator&lt;/a&gt;. And, as usual, you can dive into the code in the &lt;a href="https://github.com/RLabs-Inc/shadcn-themes" rel="noopener noreferrer"&gt;repo&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I've also expanded the utility for the algorithm to generate themes for the &lt;a href="https://www.warp.dev" rel="noopener noreferrer"&gt;Warp terminal&lt;/a&gt;. You generate and randomize until you are satisfied with the result and then download the theme to your .warp/themes folder. After that is just to select the theme in the terminal settings -&amp;gt; appearance. Check out the &lt;a href="https://www.rlabs.art/warp" rel="noopener noreferrer"&gt;Warp theme generator&lt;/a&gt;, the code is in the same &lt;a href="https://github.com/RLabs-Inc/rlabs" rel="noopener noreferrer"&gt;repo&lt;/a&gt; as the &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode themes community&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Now I'm one step closer to my dream of having a theme generator for anything that the theme can be customized. :)&lt;/p&gt;

&lt;p&gt;I really appreciate your reading and any comments or suggestions you might have. &lt;br&gt;
See you in the next one!&lt;/p&gt;

</description>
      <category>shadcnui</category>
      <category>svelte</category>
      <category>reac</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Migrating the VSCode theme generator to oklch</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Tue, 10 Dec 2024 11:17:18 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/migrating-the-vscode-theme-generator-to-oklch-2h18</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/migrating-the-vscode-theme-generator-to-oklch-2h18</guid>
      <description>&lt;p&gt;&lt;strong&gt;TLDR:&lt;/strong&gt; VSCode Themes Community now uses the &lt;strong&gt;OKLCH&lt;/strong&gt; colorspace in the matching colors generation algorithm to randomize and manipulate colors and also has a &lt;strong&gt;oklch color picker&lt;/strong&gt; to be used when adjusting the generated theme colors.&lt;/p&gt;

&lt;p&gt;You can sneak a peek at &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCODE Themes Community&lt;/a&gt; or dive straight into the code in the &lt;a href="https://github.com/RLabs-Inc/rlabs" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The late discovery
&lt;/h2&gt;

&lt;p&gt;I know, oklch colorspace is not that new, but when I started to develop the &lt;a href="http://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt; I was totally unaware of its existence. It was only a couple of weeks ago I found out about it and started to read a lot of articles regarding it and became aware of all the benefits that could come along with a color space migration in both the algorithm and the app itself. &lt;/p&gt;

&lt;p&gt;In the oklch colorspace the color is represented by&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;L for &lt;strong&gt;perceptual lightness&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;C for chroma representing chromatic intensity, with values from 0 (achromatic) with no upper limit, but in practice it does not exceed +0.5; CSS treats +0.4 as 100%.&lt;/li&gt;
&lt;li&gt;H for hue angle in a color wheel, typically denoted in decimal degrees. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The perceptual lightness not only enables the easy selection of colors with uniform lightness for different hues but also allows manipulation of colors lightness and chroma without any change in the hue parameter, which is perfect to be used with the colors generation algorithm.&lt;/p&gt;

&lt;p&gt;After the algorithm generates a set of hues using the selected base hue and color scheme/sacred geometry pattern, the colors for the theme are randomly generated based on these hues with variations of lightness and chroma. &lt;/p&gt;

&lt;p&gt;By adopting the oklch color space it would be possible to keep the all derived hues from the selected color scheme intact even after all manipulation of lightness and chroma needed to ensure minimum contrast between the background colors and the ones used as foreground. &lt;/p&gt;

&lt;p&gt;Even after, when there is the need or will to change any of the colors, using the new oklch color picker it is possible not only to adjust the chroma and lightness without changing the hue, but one can change the hue while keeping the perceptual lightness of the selected color unchanged.&lt;/p&gt;

&lt;p&gt;After all that said I had only one choice, migrate the app. &lt;/p&gt;

&lt;h2&gt;
  
  
  The code migration
&lt;/h2&gt;

&lt;p&gt;Reading some articles regarding the css colorspace specification I learned about the &lt;a href="https://culorijs.org" rel="noopener noreferrer"&gt;Culori&lt;/a&gt;, a very complete and precise color manipulation library for typescript that implements the oklch colorspace.&lt;/p&gt;

&lt;p&gt;It was not hard to change all the functions and methods that were using an old color manipulation library. Some parts of the algorithm even got cleaner and easier to maintain and understand.&lt;/p&gt;

&lt;p&gt;After the code migration, I started looking for a color picker component but couldn’t find any that could suit my app’s requirements, it needed to use Svelte 5, have the option to use oklch color space and integrate well with the current ui that is based on shadcn-svelte components. &lt;/p&gt;

&lt;p&gt;In the middle of the frustration, I've encountered this great work from EvilMartians at &lt;a href="https://oklch.com" rel="noopener noreferrer"&gt;oklch.com&lt;/a&gt; which is open source and, at least for me, very complex. &lt;br&gt;
After some hours spent at their GitHub repository and looking at the color picker on their web page I decided to give it a try, develop my own implementation using Svelte 5 and shadcn-svelte components.&lt;/p&gt;

&lt;p&gt;I did not went all in developing a reusable component, but now I'm thinking about making a Svelte 5 package out of it. But I digress, back to my adventure I customized some sliders backgrounds to dynamically update as the L, C, H and Alpha options changes.&lt;/p&gt;

&lt;p&gt;Implemented a web worker to calculate the pixel colors for the dynamic 2D maps for each slider, with the help of Culori it was not hard to generate gradients to accurately represent the complex oklch color space. &lt;/p&gt;

&lt;p&gt;And there it was…a functional oklch color picker that could fulfill the needs of my current stack.&lt;/p&gt;

&lt;p&gt;As I already was with my hands dirty, I went to talk to my invaluable friend Claude 3.5 to ask if he had a few more sacred geometry patterns that could be used as color schemes to add to the, already long, list of patterns/schemes. This time Claude did not measured the efforts and 'spited' more than a hundred new sacred geometry, modern quantum physics and some other mathematical equations that could be integrated as patterns/color schemes in the algorithm.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result
&lt;/h2&gt;

&lt;p&gt;It is live at &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt; and you can check out the code in the &lt;a href="https://github.com/RLabs-Inc/rlabs" rel="noopener noreferrer"&gt;Github repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Please, as always, feel free to provide any kind of feedback and/or suggestion in the comments or file an issue at the repository. I would be very happy to hear your thoughts. &lt;/p&gt;

&lt;p&gt;Thanks a lot for the reading and, hopefully, I see you in the next one!&lt;/p&gt;

</description>
      <category>css</category>
      <category>themes</category>
      <category>svelte</category>
      <category>vscode</category>
    </item>
    <item>
      <title>VSCode Themes Community - Discover, share and create themes using a mix of Sacred Geometry and Color Theory</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Wed, 20 Nov 2024 12:42:35 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/vscode-themes-community-discover-share-and-create-themes-using-a-mix-of-sacred-geometry-and-5hh4</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/vscode-themes-community-discover-share-and-create-themes-using-a-mix-of-sacred-geometry-and-5hh4</guid>
      <description>&lt;h1&gt;
  
  
  TLDR
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;I've created a &lt;strong&gt;tool to generate VSCode themes&lt;/strong&gt;, you can save, share and download themes ready to install to VSCode or publish to the marketplace.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The main features are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Harmonious colors generation using an &lt;strong&gt;innovative way mixing Sacred Geometry patterns and traditional Color Theory&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Download the created theme and others already in .vsix &lt;strong&gt;ready to be installed on VSCode or even publish to the marketplace&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Save, edit and share your themes collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt; - &lt;br&gt;
&lt;a href="https://github.com/RLabs-Inc/rlabs" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was made with &lt;strong&gt;Svelte 5&lt;/strong&gt; and &lt;strong&gt;Svelte-kit&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Some introduction
&lt;/h2&gt;

&lt;p&gt;I've always been curious about how the so called Sacred Geometry patterns can please the eyes and mind with its intelligent and complex design.&lt;/p&gt;

&lt;p&gt;Also, I could never settle for a VSCode theme for more than one week, for me, it is necessary to have different themes so I can change once in a while in order to make my coding journey more pleasant. I was always looking for new themes for my already extensive collection. &lt;/p&gt;

&lt;p&gt;Then, I started to create my own themes, this way, I could not only select the colors of my preference at the moment, but also control the code highlighting granularity over the different languages VSCode supports. &lt;/p&gt;

&lt;p&gt;But it was never easy, look for all the matching colors for so many different syntax tokens, adjust the tokens and scopes, the ui colors and so on...using color theory can help a lot, you select a color and by using some color schemes you can get one, two, three or more matching colors (but there is not a big variety of color schemes), after that you have to play around with some saturation and lightness parameters to fine-tune the colors for the different tokens and ui elements always considering if the contrast ratio for all selected foreground colors against the background is at an acceptable level... &lt;/p&gt;

&lt;p&gt;Maybe, by now, you can see where I'm going at, to create a theme that is not only harmonious but also functional and follows some minimum acceptable standards can become a very complex task. &lt;/p&gt;

&lt;p&gt;The "necessity" for different themes to satisfy this almost pathological need to diversify and change the colors I have on my screen when working in conjunct with my, earlier mentioned, curiosity of how sacred geometry patterns can please ones eyes and mind drove me to this project. &lt;/p&gt;

&lt;h2&gt;
  
  
  The idea and implementation
&lt;/h2&gt;

&lt;p&gt;What if I could, in the same way the color theory with its color schemes derives some set of matching colors from an initial color, think of some method to instead using the traditional color schemes calculation, adapt some Sacred Geometry patterns equations on top of the color wheel?&lt;/p&gt;

&lt;p&gt;After studying a lot of different sacred geometry patterns, I came up with a list of more than 30 patterns which the equations were suitable for this mad scientist experiment. And this is when the color generation algorithm for this project was born. &lt;/p&gt;

&lt;h2&gt;
  
  
  The algorithm
&lt;/h2&gt;

&lt;p&gt;By selecting one sacred geometry pattern from a list and a base hue with a slider, the algorithm generates a specific amount of base hues derived by the selected sacred geometry pattern equation on top of the traditional color wheel. &lt;/p&gt;

&lt;p&gt;After that, it generate the colors for all elements in the UI by slightly variating the lightness and saturation parameters randomly using for each element one of the generated "color scheme" derived hues. &lt;/p&gt;

&lt;p&gt;Then using the same technique it generates the color for each of the needed syntax tokens used in the theme. &lt;/p&gt;

&lt;p&gt;Lastly, it generates the ansi colors for the integrated terminal.&lt;/p&gt;

&lt;h2&gt;
  
  
  The preview
&lt;/h2&gt;

&lt;p&gt;Using Monaco Editor and a Shiki plugin for code highlighting it is possible to use VSCode themes instead of the incompatible and limited, when compared to VSCode, syntax highlighting system used by the Monaco Editor.&lt;/p&gt;

&lt;p&gt;With some elements around the editor to mimic the VSCode editor's interface and some code snippets of different languages to show as much tokens and scopes pre-defined by the generated theme as possible I made a way to preview the generated theme in realtime. &lt;/p&gt;

&lt;p&gt;But, there is a lot of room for improvement and some limitations about how the tokens and scopes are applied within the Monaco Editor.&lt;/p&gt;

&lt;p&gt;This makes the online preview a little less granular than when the theme is installed on VSCode itself, but at least, the difference is an increase of granularity in the syntax and semantic highlighting.&lt;/p&gt;

&lt;p&gt;Selecting any color generated by the algorithm is possible to change or fine-tune it independently, with real-time feedback in the preview component.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;main features&lt;/strong&gt; are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Harmonious colors generation using an innovative way mixing Sacred Geometry patterns and traditional Color Theory.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Download themes&lt;/strong&gt; you created and others already in .vsix &lt;strong&gt;ready to be installed on VSCode&lt;/strong&gt; or even publish to the marketplace.&lt;/li&gt;
&lt;li&gt;Save, edit and share your themes collection.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Check it out!
&lt;/h2&gt;

&lt;p&gt;Anyway, what I'm trying to say is, if you're interested in a place where you can discover, share and create new VSCode themes, please visit &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt;. You can also check out the source code at the &lt;a href="https://github.com/RLabs-Inc/rlabs" rel="noopener noreferrer"&gt;Github repository&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I would love to receive feedbacks of any kind about anything, usability, token scopes, colors generated...really anything. And of course, feel free to open an issue in case you find some.&lt;/p&gt;

&lt;p&gt;Also, I'm liking so much to develop this project that I have plans to extend the theme generation algorithm beyond VSCode, the plan is to make it generate themes for anything that can receive a theme. Ambitious ain't it? Contributions are more than welcome in case you have some spare time and liked the project and the idea. &lt;/p&gt;

&lt;h2&gt;
  
  
  Other experiments
&lt;/h2&gt;

&lt;p&gt;I've also made a theme generator for Shadcn UI using the same algorithm, but it need a lot of work in the ui and every other part of it, it was just a proof of concept. You can find it in my &lt;a href="https://github.com/RodrigoLuglio" rel="noopener noreferrer"&gt;Github personal page&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If you came this far, thanks a lot for the reading!&lt;/p&gt;

</description>
      <category>svelte</category>
      <category>vscode</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>🌟 Introducing VSCode Themes Community: Where Sacred Geometry Meets Modern Development</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Wed, 13 Nov 2024 12:22:00 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/introducing-vscode-themes-community-where-sacred-geometry-meets-modern-development-3gce</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/introducing-vscode-themes-community-where-sacred-geometry-meets-modern-development-3gce</guid>
      <description>&lt;p&gt;Hey developers! Want to experience something truly unique in theme creation? We've built a groundbreaking VSCode theme generator that combines ancient wisdom with modern technology.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ What Makes It Special?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sacred Geometry Color Generation&lt;/strong&gt;: Our algorithm uses over 30 sacred patterns including:

&lt;ul&gt;
&lt;li&gt;Golden Ratio (φ) based patterns&lt;/li&gt;
&lt;li&gt;Fibonacci sequences&lt;/li&gt;
&lt;li&gt;Sacred symbols (Sri Yantra, Metatron's Cube)&lt;/li&gt;
&lt;li&gt;And many more!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  🎨 Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Intelligent Color Harmony&lt;/strong&gt;: Colors aren't random - they're mathematically derived using sacred geometry principles&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advanced Token Coloring&lt;/strong&gt;: Sophisticated syntax highlighting that maintains sacred proportions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility First&lt;/strong&gt;: All themes are optimized for readability and meet accessibility standards&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-Language Support&lt;/strong&gt;: Specialized token colors for JavaScript/TypeScript, Python, Rust, Go, and more&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🤝 Community Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Share your themes with fellow developers&lt;/li&gt;
&lt;li&gt;Browse the public theme gallery&lt;/li&gt;
&lt;li&gt;Create personal theme collections&lt;/li&gt;
&lt;li&gt;Export themes as VSIX files ready for VSCode installation&lt;/li&gt;
&lt;li&gt;Publish directly to the VSCode marketplace&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🚀 Getting Started
&lt;/h2&gt;

&lt;p&gt;Visit &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt; to start creating your own harmonious themes or discover themes created by other developers.&lt;/p&gt;

&lt;h2&gt;
  
  
  💡 Why Sacred Geometry?
&lt;/h2&gt;

&lt;p&gt;Our unique approach combines ancient wisdom with modern development tools, creating color schemes that are not just visually appealing but mathematically harmonious. Each theme is generated using principles found in nature and sacred architecture, resulting in color combinations that are pleasing to the eye and reduce visual fatigue during long coding sessions.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌈 Join Our Community!
&lt;/h2&gt;

&lt;p&gt;Whether you're a theme enthusiast, a developer looking for the perfect coding environment, or someone interested in the intersection of ancient wisdom and modern technology, we'd love to have you join our growing community!&lt;/p&gt;

&lt;p&gt;Check it out: &lt;a href="https://www.rlabs.art/vscode-themes-community" rel="noopener noreferrer"&gt;https://www.rlabs.art/vscode-themes-community&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  VSCode #Themes #Development #OpenSource #SacredGeometry #CodingCommunity #DeveloperTools
&lt;/h1&gt;

</description>
      <category>vscode</category>
      <category>svelte</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>VSCode Theme Community</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Sun, 13 Oct 2024 13:37:57 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/vscode-theme-community-5d5c</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/vscode-theme-community-5d5c</guid>
      <description>&lt;p&gt;🎨✨ Introducing VSCode Themes Community: Create Themes with Sacred Geometry! 🔯&lt;/p&gt;

&lt;p&gt;Hey fellow developers! 👋&lt;/p&gt;

&lt;p&gt;Are you tired of the same old color schemes for your VSCode editor? Looking for something truly unique and harmonious? Check out our new project: VSCode Themes Community!&lt;/p&gt;

&lt;p&gt;🌟 What makes it special?&lt;br&gt;
We've developed an innovative algorithm that uses &lt;strong&gt;sacred geometry patterns&lt;/strong&gt; to generate color schemes. This means you get themes that are not just visually appealing, but also based on harmonious ratios found in nature and ancient architecture!&lt;/p&gt;

&lt;p&gt;🛠️ Key Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interactive theme creation with real-time preview&lt;/li&gt;
&lt;li&gt;Sacred geometry-based color generation (Fibonacci, Golden Ratio, Flower of Life, and much more!)&lt;/li&gt;
&lt;li&gt;Syntax highlighting preview with actual code samples&lt;/li&gt;
&lt;li&gt;Easy sharing and discovering of community-created themes&lt;/li&gt;
&lt;li&gt;One-click export to install directly in VSCode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Try it out: &lt;a href="https://vscode-themes-community.vercel.app" rel="noopener noreferrer"&gt;VSCode Themes Community&lt;/a&gt;&lt;br&gt;
GitHub Repo: &lt;a href="https://github.com/RLabs-Inc/vscode-themes-community" rel="noopener noreferrer"&gt;RLabs-Inc/vscode-themes-community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We'd love to hear your feedback and see the amazing themes you create! Feel free to star the repo if you find it interesting. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy theming!&lt;/strong&gt; 🎉&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>themes</category>
    </item>
    <item>
      <title>🎨 VSCode Theme Generator: Create stunning themes using sacred geometry patterns</title>
      <dc:creator>Rodrigo Luglio</dc:creator>
      <pubDate>Sat, 21 Sep 2024 19:52:11 +0000</pubDate>
      <link>https://dev.to/rodrigo_luglio_f63c6051de/vscode-theme-generator-create-stunning-themes-using-sacred-geometry-patterns-4k2d</link>
      <guid>https://dev.to/rodrigo_luglio_f63c6051de/vscode-theme-generator-create-stunning-themes-using-sacred-geometry-patterns-4k2d</guid>
      <description>&lt;p&gt;Hey fellow developers! 👋&lt;/p&gt;

&lt;p&gt;I've just made a new tool that I think you'll like: the VSCode Theme Generator. It's a web-based app that lets you create beautiful, customized VSCode themes using intelligent color algorithms and sacred geometry patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔗 Try it out: &lt;a href="https://rodrigoluglio.github.io/vscode-theme-generator/" rel="noopener noreferrer"&gt;VSCode Theme Generator&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Key features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🖌️ &lt;strong&gt;Intelligent color generation algorithm&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🔯 &lt;strong&gt;Sacred geometry-inspired color schemes (Flower of Life, Fibonacci Spiral, Golden Ratio, etc.)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;🧠 Semantic token support for enhanced syntax highlighting&lt;/li&gt;
&lt;li&gt;🎭 Light and dark theme variants&lt;/li&gt;
&lt;li&gt;🔒 Color locking for fine-tuned control&lt;/li&gt;
&lt;li&gt;🖥️ Live theme preview with Monaco editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'd love for you to give it a try and share your feedback. If you're interested in contributing or want to check out the code, here's the GitHub repo:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/RodrigoLuglio/vscode-theme-generator" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know what you think, and feel free to ask any questions!&lt;/p&gt;

</description>
      <category>vscode</category>
      <category>themes</category>
      <category>nextjs</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
