<?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: Shubhankar Madgulkar</title>
    <description>The latest articles on DEV Community by Shubhankar Madgulkar (@shubhankar_madgulkar_a4f1).</description>
    <link>https://dev.to/shubhankar_madgulkar_a4f1</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%2F2754177%2Fa49b28fe-b4f0-4092-a2a4-36274cf1bad5.jpg</url>
      <title>DEV Community: Shubhankar Madgulkar</title>
      <link>https://dev.to/shubhankar_madgulkar_a4f1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shubhankar_madgulkar_a4f1"/>
    <language>en</language>
    <item>
      <title>I Built an AI Sidekick to Tame My Research Workflow - Seeking Feedback!</title>
      <dc:creator>Shubhankar Madgulkar</dc:creator>
      <pubDate>Thu, 10 Apr 2025 13:37:27 +0000</pubDate>
      <link>https://dev.to/shubhankar_madgulkar_a4f1/i-built-an-ai-sidekick-to-tame-my-research-workflow-seeking-feedback-7h1</link>
      <guid>https://dev.to/shubhankar_madgulkar_a4f1/i-built-an-ai-sidekick-to-tame-my-research-workflow-seeking-feedback-7h1</guid>
      <description>&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%2Fuxz0829xonacswyayzi5.jpg" 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%2Fuxz0829xonacswyayzi5.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey Dev.to community,&lt;/p&gt;

&lt;p&gt;Like probably a lot of folks here, I spend a &lt;em&gt;ton&lt;/em&gt; of time digging through information online. By day, I'm an equity research analyst, which means constantly sifting through news, reports, press releases, you name it. It's easy to get lost in the tabs and struggle to connect the dots later.&lt;/p&gt;

&lt;p&gt;I kept thinking there had to be a better way than endless copy-pasting into notes or just hoping I'd remember where I saw that &lt;em&gt;one crucial stat&lt;/em&gt;. So, I decided to build something about it.&lt;/p&gt;

&lt;p&gt;I created &lt;strong&gt;Research Assistant&lt;/strong&gt;, a Chrome extension designed to be an AI-powered sidekick for web research. The idea is simple: hit the extension button on any webpage, and it uses AI (you plug in your own OpenAI or Anthropic key) to give you summaries and key takeaways.&lt;/p&gt;

&lt;p&gt;But the real goal was knowledge management. You can save these insights directly into a personal knowledge base &lt;em&gt;within the extension&lt;/em&gt;. You can create different 'workspaces' for projects (e.g., Q1 Earnings, Competitor Analysis) and tag stuff automatically by topic. Later, you can search across everything you've saved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key things I focused on:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Analysis:&lt;/strong&gt; Get the gist quickly without reading everything top-to-bottom.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Personal Knowledge Base:&lt;/strong&gt; Actually &lt;em&gt;retain&lt;/em&gt; what you find, organized your way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workspaces &amp;amp; Tagging:&lt;/strong&gt; Keep different research streams separate and find things easily.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy First:&lt;/strong&gt; This was crucial for me. All data stays &lt;em&gt;local&lt;/em&gt; on your machine. No tracking, no cloud sync of your research content. It uses your API key to talk to the AI provider, but your saved notes don't leave your computer.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Why I'm posting here:
&lt;/h3&gt;

&lt;p&gt;Honestly, this started as a tool for myself. Some folks in my office tried it and found it genuinely useful, which was encouraging. I even showed it to family members in school/college, and they seemed to like it too (though, you know, maybe they're just being nice!).&lt;/p&gt;

&lt;p&gt;Now, I'd love to get some &lt;em&gt;real&lt;/em&gt;, &lt;em&gt;honest&lt;/em&gt; feedback from a broader tech-savvy community like this one. Is this actually useful? What's missing? Does it break on certain sites?&lt;/p&gt;

&lt;p&gt;If you do a lot of online research, whether for work, learning, or personal projects, I'd be grateful if you'd give it a try and let me know what you think.&lt;/p&gt;

&lt;p&gt;You can grab it here: &lt;a href="https://chromewebstore.google.com/detail/idkghcjlmgaiodkjgfcfijjkdcoakanl?utm_source=item-share-cb" rel="noopener noreferrer"&gt;Link to Chrome Webstore&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out some of my other projects &lt;a href="//www.shubhankarmadgulkar.com"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading! Looking forward to any thoughts or suggestions.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>javascript</category>
      <category>extensions</category>
      <category>ai</category>
    </item>
    <item>
      <title>I Got Carried Away Coding a Simple Lander Game... Now I Can't Even Beat Level 1</title>
      <dc:creator>Shubhankar Madgulkar</dc:creator>
      <pubDate>Tue, 01 Apr 2025 20:47:51 +0000</pubDate>
      <link>https://dev.to/shubhankar_madgulkar_a4f1/i-got-carried-away-coding-a-simple-lander-game-now-i-cant-even-beat-level-1-35mh</link>
      <guid>https://dev.to/shubhankar_madgulkar_a4f1/i-got-carried-away-coding-a-simple-lander-game-now-i-cant-even-beat-level-1-35mh</guid>
      <description>&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%2Fe099vq2t9q9rdasntima.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%2Fe099vq2t9q9rdasntima.png" alt="The Impossible Lander Game" width="800" height="378"&gt;&lt;/a&gt;Hey dev community,&lt;/p&gt;

&lt;p&gt;Had one of those slower days at the office recently, you know the type. Got the itch to code something fun, just to keep the fingers moving. Decided on a classic lander game – nice and simple, right? The plan was straightforward: land on the Moon (Level 1), then Mars (Level 2), then Venus (Level 3). Easy peasy.&lt;/p&gt;

&lt;p&gt;So I started coding and putting stuff together. And honestly? I started getting &lt;em&gt;really&lt;/em&gt; into it. Tweaking the physics, adding little obstacles, adjusting the landing sensitivity... I was aiming for that satisfying retro challenge.&lt;/p&gt;

&lt;p&gt;Fast forward a bit, and I felt like the whole thing was ready to go. Time for the first proper playthrough! I fire it up, ready to nail that landing and move on to Mars.&lt;/p&gt;

&lt;p&gt;Except... I can't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I genuinely cannot land the damn ship.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Somewhere in the tweaking and "applying physics", I turned the difficulty dial up to 11 without realizing it. Now I am not a gamer by any means, and yes I wanted it to be challenging, sure, but &lt;em&gt;dammit&lt;/em&gt; i can't even get past the first level.&lt;/p&gt;

&lt;p&gt;The irony is killing me. I coded this thing, and I'm completely locked out of levels 2 and 3 because I can't beat my own creation. I haven't even &lt;em&gt;seen&lt;/em&gt; what Mars and Venus are supposed to look like in action yet!&lt;/p&gt;

&lt;p&gt;Is it just me who is so bad and playing this?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lunar-lander-flame.vercel.app/" rel="noopener noreferrer"&gt;Check out the game here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Feel free to check out my other silly projects [here].(&lt;a href="https://www.shubhankarmadgulkar.com" rel="noopener noreferrer"&gt;https://www.shubhankarmadgulkar.com&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>html</category>
      <category>gamedev</category>
    </item>
    <item>
      <title>Ditch the Google Searches: Streamlining My Terminal Workflow with Spren (and Rust!)</title>
      <dc:creator>Shubhankar Madgulkar</dc:creator>
      <pubDate>Tue, 11 Mar 2025 14:51:58 +0000</pubDate>
      <link>https://dev.to/shubhankar_madgulkar_a4f1/ditch-the-google-searches-streamlining-my-terminal-workflow-with-spren-and-rust-5333</link>
      <guid>https://dev.to/shubhankar_madgulkar_a4f1/ditch-the-google-searches-streamlining-my-terminal-workflow-with-spren-and-rust-5333</guid>
      <description>&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%2F42kehri78xume9lkvv04.jpg" 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%2F42kehri78xume9lkvv04.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;Let's be honest, my terminal workflow was a hot mess. Anyone else spend more time Googling commands than actually writing code? It wasn't just the typos (though, let's face it, those were a daily occurrence). It was the constant context switching: trying to remember complex commands, failing miserably, and then bouncing between Google searches and LLMs. Copy-pasting commands and hoping they worked? Not exactly efficient.&lt;/p&gt;

&lt;p&gt;And then I realized it wasn't just me. New programmers, especially those coming from non-Unix backgrounds, were struggling even more. Breaking their flow to find the right commands was a huge productivity killer. I knew there had to be a better way.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enter Spren: My LLM-Powered Terminal Assistant
&lt;/h2&gt;

&lt;p&gt;That's when Spren was born. The idea was simple: bring the power of LLMs directly into the terminal, eliminating the need for constant context switching. Imagine asking your terminal, in plain English, for the command you need, and having it appear instantly. That was the dream.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features (and Why I Built Them)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Direct LLM Integration (Why? To stay in the zone!):&lt;/strong&gt; Get terminal commands directly from your preferred LLM (Claude, OpenAI, and more to come!), without leaving your terminal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Platform Simplicity (Why? Because we all use different setups!):&lt;/strong&gt; Works seamlessly on Windows (PowerShell, CMD), Linux (Bash), and macOS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Easy Setup (Why? Because no one likes complex installations!):&lt;/strong&gt; Just download the executable, and you're ready to go. No dependencies needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flow Preservation (Why? To boost productivity, of course!):&lt;/strong&gt; Eliminate workflow interruptions and stay focused on your tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Empowering New Programmers (Why? Because the terminal shouldn't be intimidating!):&lt;/strong&gt; Makes the command-line interface more accessible and user-friendly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Flexibility is Key: Your LLM, Your Rules
&lt;/h2&gt;

&lt;p&gt;Spren's core design principle is flexibility. I wanted a tool that could adapt to any user's workflow, regardless of their preferred LLM. That's why Spren supports both Claude and OpenAI, with the ability to easily plug in other LLMs in the future. You're not locked into a specific ecosystem; you choose what works for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built with Rust: Performance and Safety First
&lt;/h2&gt;

&lt;p&gt;Building Spren with Rust has been an incredible learning experience. Rust's performance and safety features allowed me to create a lean and efficient tool that gets the job done without any unnecessary overhead. Plus, it was a great way to deepen my Rust skills!&lt;/p&gt;

&lt;h2&gt;
  
  
  Diving into the Technical Details
&lt;/h2&gt;

&lt;p&gt;Let's take a peek under the hood:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Configuration with &lt;code&gt;config.toml&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Spren uses a &lt;code&gt;config.toml&lt;/code&gt; file for easy customization. Here's an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[ai]&lt;/span&gt;
&lt;span class="py"&gt;provider&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"anthropic"&lt;/span&gt;
&lt;span class="py"&gt;anthropic_api_key&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"your-key-here"&lt;/span&gt;
&lt;span class="py"&gt;openai_api_key&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;""&lt;/span&gt;
&lt;span class="py"&gt;model&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"sonnet-3.5"&lt;/span&gt;
&lt;span class="py"&gt;max_tokens&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;4000&lt;/span&gt;

&lt;span class="nn"&gt;[security]&lt;/span&gt;
&lt;span class="py"&gt;require_confirmation&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="py"&gt;dangerous_commands&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"rm"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"sudo"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="nn"&gt;[display]&lt;/span&gt;
&lt;span class="py"&gt;show_execution_time&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="py"&gt;color_output&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;

&lt;span class="nn"&gt;[debug]&lt;/span&gt;
&lt;span class="py"&gt;show_raw_response&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="py"&gt;log_level&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"info"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This file allows you to set your AI provider, API keys, security settings, and display preferences.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Shell Detection and Command Execution: Adapting to Your Environment
&lt;/h3&gt;

&lt;p&gt;Spren intelligently detects your shell environment, ensuring commands are formatted correctly. Here's how it works:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Automatic Detection:&lt;/strong&gt; Spren determines your shell (Bash, PowerShell, or CMD) by examining environment variables and OS configurations.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Shell-Specific Formatting:&lt;/strong&gt; Once the shell is identified, Spren formats commands using the appropriate syntax. For instance, PowerShell commands are wrapped with specific encoding and output formatting to handle diverse data types correctly:&lt;br&gt;
&lt;/p&gt;
&lt;pre class="highlight rust"&gt;&lt;code&gt;&lt;span class="c1"&gt;// src/executor.rs&lt;/span&gt;
&lt;span class="k"&gt;pub&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;fn&lt;/span&gt; &lt;span class="nf"&gt;execute_command&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Result&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;CommandOutput&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// ...&lt;/span&gt;
    &lt;span class="k"&gt;let&lt;/span&gt; &lt;span class="n"&gt;formatted_command&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;match&lt;/span&gt; &lt;span class="n"&gt;shell_type&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nn"&gt;ShellType&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="n"&gt;PowerShell&lt;/span&gt; &lt;span class="k"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="nd"&gt;format!&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="s"&gt;"$OutputEncoding = [Console]::OutputEncoding = [Text.Encoding]::UTF8; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 $FormatEnumerationLimit = -1; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 $result = {}; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 if ($result -is [System.Array]) {{ &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                     $result | Format-Table -AutoSize -Wrap | Out-String -Width 120 &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 }} elseif ($null -ne $result) {{ &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                     $result | Format-Table -AutoSize -Wrap | Out-String -Width 120 &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 }} else {{ &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                     &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s"&gt;No output&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="err"&gt;\&lt;/span&gt;&lt;span class="s"&gt;
                 }}"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                &lt;span class="n"&gt;command&lt;/span&gt;
            &lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="k"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;shell_type&lt;/span&gt;&lt;span class="nf"&gt;.format_command&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;};&lt;/span&gt;
    &lt;span class="c1"&gt;// ...&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Execution:&lt;/strong&gt; Finally, Spren executes the formatted command in your detected shell, providing seamless integration with your existing workflow.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This ensures that Spren works consistently across different platforms and shells, without requiring manual configuration.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Security Measures
&lt;/h3&gt;

&lt;p&gt;Spren includes security features like command validation and confirmation prompts for dangerous commands (defined in config.toml).&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Get Started
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;Download Spren:&lt;/strong&gt; Grab the executable from &lt;a href="https://smadgulkar.github.io/spren" rel="noopener noreferrer"&gt;Get Spren&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Run it!&lt;/strong&gt; Spren is designed to be plug-and-play.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;Start asking questions!&lt;/strong&gt; Use natural language to get the commands you need.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Let's Build the Spren Community!
&lt;/h3&gt;

&lt;p&gt;I'd love to hear your feedback and see how Spren helps you streamline your workflow. If you're tired of breaking your flow or if you're a new programmer looking for a helping hand, give Spren a try.&lt;/p&gt;

</description>
      <category>rust</category>
      <category>cli</category>
      <category>productivity</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
