<?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>Forem: PRAS Samin</title>
    <description>The latest articles on Forem by PRAS Samin (@prassamin).</description>
    <link>https://forem.com/prassamin</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%2F1340341%2F5e4247f2-6222-49be-9925-dc23698b78f5.jpg</url>
      <title>Forem: PRAS Samin</title>
      <link>https://forem.com/prassamin</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/prassamin"/>
    <language>en</language>
    <item>
      <title>Introducing Redenv - A Zero-Knowledge, End-to-End Encrypted Secret Manager Built for the Serverless Era</title>
      <dc:creator>PRAS Samin</dc:creator>
      <pubDate>Tue, 25 Nov 2025 15:38:51 +0000</pubDate>
      <link>https://forem.com/prassamin/introducing-redenv-a-zero-knowledge-end-to-end-encrypted-secret-manager-built-for-the-serverless-48me</link>
      <guid>https://forem.com/prassamin/introducing-redenv-a-zero-knowledge-end-to-end-encrypted-secret-manager-built-for-the-serverless-48me</guid>
      <description>&lt;p&gt;For months, I’ve been quietly building something I felt the JavaScript/TypeScript ecosystem desperately needed… a modern alternative to .env files that isn’t just another wrapper, but a complete rethink of how we manage application secrets.&lt;/p&gt;

&lt;p&gt;Today, I’m excited to finally share it publicly.&lt;/p&gt;

&lt;p&gt;Redenv - A Zero-Knowledge Secret Management System&lt;br&gt;
A developer-first, fully end-to-end encrypted CLI + runtime client designed so teams can finally stop treating secrets as afterthoughts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Built This:&lt;/strong&gt;&lt;br&gt;
Every developer today faces the same pains:&lt;br&gt;
 • .env files get out of sync&lt;br&gt;
 • Secrets leak in logs, terminals, Git history&lt;br&gt;
 • Sharing secrets in teams becomes a mess&lt;br&gt;
 • Serverless platforms force the "rebuild to rotate" cycle&lt;/p&gt;

&lt;p&gt;Rotating a single API key requires redeploying the entire application&lt;br&gt;
This felt outdated. So I built Redenv around one belief:&lt;br&gt;
Configuration should be dynamic, secure, and completely decoupled from deployment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Makes Redenv Different:&lt;/strong&gt;&lt;br&gt;
 • Zero-Knowledge Architecture: All secrets are encrypted using AES-256-GCM with keys derived from PBKDF2-HMAC-SHA256 (310k iterations). Your Redis database never sees plaintext. Not even for a millisecond.&lt;br&gt;
 • Redis as a Universal Backend: Built exclusively on Upstash Redis for instant cold starts, global edge performance, serverless pricing, and connectivity from anywhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Redenv includes:&lt;/strong&gt;&lt;br&gt;
— CLI (@redenv/cli)&lt;br&gt;
 A polished, full-featured command-line tool with commands like add, edit, view, history, rollback, diff, clone, backup, restore, token create, and so on.&lt;/p&gt;

&lt;p&gt;— Runtime Client (@redenv/client)&lt;br&gt;
 A lightweight, zero-knowledge client library with:&lt;br&gt;
 • In-memory stale-while-revalidate caching&lt;br&gt;
 • Instant startup&lt;br&gt;
 • Auto population of process.env&lt;br&gt;
 • Dynamic updates without redeploying&lt;br&gt;
 • Programmatic writes using service tokens&lt;/p&gt;

&lt;p&gt;You can rotate an API key and your deployed applications will pick it up automatically, without any rebuild or redeployment. This is a game changer for serverless workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comparison:&lt;/strong&gt;&lt;br&gt;
There are many enterprise secret managers and vault systems out there, and they are great for large companies. The difference here is simple: Redenv is fully open-source, developer-first, extremely fast to set up, and gives you maximum control without locking you into a vendor ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts:&lt;/strong&gt;&lt;br&gt;
I believe Redenv can simplify your workflow massively. It’s a fully documented, production-ready open-source project that I’m genuinely proud of.&lt;br&gt;
If you're building:&lt;br&gt;
 • Serverless apps&lt;br&gt;
 • Edge functions&lt;br&gt;
 • SaaS products&lt;br&gt;
 • Multi-env systems&lt;br&gt;
 • Microservices&lt;br&gt;
 • Anything where secrets matter&lt;/p&gt;

&lt;p&gt;GitHub Repo:  &lt;a href="https://github.com/PRASSamin/redenv" rel="noopener noreferrer"&gt;https://github.com/PRASSamin/redenv&lt;/a&gt;&lt;br&gt;
 CLI: @redenv/cli&lt;br&gt;
 Runtime Client: @redenv/client&lt;br&gt;
If you find it valuable, I would love your feedback.&lt;br&gt;
 Stars, suggestions, critiques, contributions, everything is welcome.&lt;/p&gt;

</description>
      <category>redenv</category>
      <category>serverless</category>
      <category>opensource</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Thinking of building a modern CLI for managing custom commands - would you use it?</title>
      <dc:creator>PRAS Samin</dc:creator>
      <pubDate>Tue, 07 Oct 2025 05:13:58 +0000</pubDate>
      <link>https://forem.com/prassamin/thinking-of-building-a-modern-cli-for-managing-custom-commands-would-you-use-it-ego</link>
      <guid>https://forem.com/prassamin/thinking-of-building-a-modern-cli-for-managing-custom-commands-would-you-use-it-ego</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hey 👋&lt;/strong&gt;&lt;br&gt;
I’m experimenting with an idea for a new command-line tool to enable developers to build, organize and run their own custom commands in JavaScript - it’s like a modern version of hacking together bash scripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧩 The Problem:&lt;/strong&gt;&lt;br&gt;
Shell scripting is ugly and non-portable (across MacOS, Linux, Windows).&lt;br&gt;
You start hacking up. &lt;strong&gt;sh&lt;/strong&gt; scripts.&lt;br&gt;
Working with personal scripts (so you make them executable, list them, sync your changes) is awkward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚡ The Idea:&lt;/strong&gt;&lt;br&gt;
A CLI that serves as your personal command manager, you can:&lt;br&gt;
Scripting in JavaScript (with a little helper API).&lt;br&gt;
Save them to a place — immediately usable elsewhere as subcommands, e.g., &lt;em&gt;mycli deploy&lt;/em&gt; or &lt;em&gt;mycli clean&lt;/em&gt;.&lt;br&gt;
Manage them as easily: &lt;em&gt;mycli add&lt;/em&gt;, &lt;em&gt;mycli list&lt;/em&gt;, &lt;em&gt;mycli remove&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;(Later) sync/backup them cloud or even per-project automation through devDependencies.&lt;/p&gt;

&lt;p&gt;It's like if npm, bash and VS Code snippets had a baby 😅&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🧭 Tech Vision:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Built as a Node. js CLI (via NPM).&lt;br&gt;
Load your JS scripts dynamically at runtime using libraries such as Commander and Yargs.&lt;br&gt;
Each one is run right inside the cli’s fancy, stand-alone JS runtime (fast and also portable).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I’m curious:&lt;/strong&gt;&lt;br&gt;
👉 Will you would use something like as a replacement of little bash scripts or task runners?&lt;/p&gt;

&lt;p&gt;I would like to receive some feedback prior to actively developing it.&lt;/p&gt;

</description>
      <category>cli</category>
      <category>terminal</category>
      <category>programming</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I made an open-source, ad-free content downloader that simply works</title>
      <dc:creator>PRAS Samin</dc:creator>
      <pubDate>Sun, 05 Oct 2025 15:19:04 +0000</pubDate>
      <link>https://forem.com/prassamin/i-made-an-open-source-ad-free-content-downloader-that-simply-works-3j5c</link>
      <guid>https://forem.com/prassamin/i-made-an-open-source-ad-free-content-downloader-that-simply-works-3j5c</guid>
      <description>&lt;h2&gt;
  
  
  I made an open-source, ad-free content downloader that simply works
&lt;/h2&gt;

&lt;p&gt;Every time I tried downloading a video online, I ended up on some shady website full of popups, fake buttons, and trackers. All I wanted was a clean, safe way to download content for &lt;strong&gt;offline viewing, education, and inspiration&lt;/strong&gt; - without ads or hidden scripts.&lt;/p&gt;

&lt;p&gt;So I created &lt;a href="https://gofetchy.app" rel="noopener noreferrer"&gt;Fetchy&lt;/a&gt; an &lt;strong&gt;open source ad free content downloader&lt;/strong&gt; which is fast, privacy-friendly and operates directly from your browser.&lt;/p&gt;




&lt;h3&gt;
  
  
  Why I built it
&lt;/h3&gt;

&lt;p&gt;I grew tired of fake “Download” links, annoying redirect loops and websites that use your bandwidth to display ads.&lt;/p&gt;

&lt;p&gt;Fetchy was created on a premise that transparent and user respectful utilities should be open demoninator.&lt;/p&gt;




&lt;h3&gt;
  
  
  What's unique about it
&lt;/h3&gt;

&lt;p&gt;🚫 &lt;strong&gt;No ads or tracking&lt;/strong&gt; - first and foremost, privacy.&lt;br&gt;
🌍 &lt;strong&gt;Open source&lt;/strong&gt; - inspect, fork, or contribute to it on GitHub.&lt;br&gt;
⚡ &lt;strong&gt;Just works&lt;/strong&gt; - clean interface, no extensions or sign up needed.&lt;br&gt;
🧱 &lt;strong&gt;Modern solutions&lt;/strong&gt; - lightweight front-end and moderate back-end that doesn't bag down on popular sites.&lt;/p&gt;




&lt;p&gt;🌐 Try it&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gofetchy.app" rel="noopener noreferrer"&gt;&lt;strong&gt;fetchy.app&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/prassamin/fetchy" rel="noopener noreferrer"&gt;github.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you find it useful, or just plain interesting, then a ⭐ on GitHub means the world.&lt;/p&gt;

&lt;p&gt;And if you have thoughts on making it better, open an issue or get in the discussion - I’d love to collaborate with the community.&lt;/p&gt;

</description>
      <category>privacy</category>
      <category>opensource</category>
      <category>tooling</category>
      <category>showdev</category>
    </item>
    <item>
      <title>PRAS Spectrum Theme Extension</title>
      <dc:creator>PRAS Samin</dc:creator>
      <pubDate>Wed, 27 Mar 2024 15:57:08 +0000</pubDate>
      <link>https://forem.com/prassamin/pras-spectrum-theme-extension-50kf</link>
      <guid>https://forem.com/prassamin/pras-spectrum-theme-extension-50kf</guid>
      <description>&lt;p&gt;🎉 Exciting news! PRAS Spectrum Theme Extension v0.3.0 update is live:&lt;/p&gt;

&lt;p&gt;🎨 Introducing PRAS Twilight Slate dark theme! &lt;br&gt;
🖼️ Revamped folder icons &lt;br&gt;
🌟 Expanded icon library &lt;br&gt;
🛠️ Bug fixes &amp;amp; performance improvements&lt;/p&gt;

&lt;p&gt;Download now! 💻✨ bit.ly/download-ext #VSCode #Extensions&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ny264va10ffbh1f1mrd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7ny264va10ffbh1f1mrd.jpg" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Portfolio</title>
      <dc:creator>PRAS Samin</dc:creator>
      <pubDate>Fri, 15 Mar 2024 14:27:21 +0000</pubDate>
      <link>https://forem.com/prassamin/portfolio-23og</link>
      <guid>https://forem.com/prassamin/portfolio-23og</guid>
      <description>&lt;p&gt;Just launched my portfolio website v1.0.0(Stable) on GitHub! 🌟 I'd love to hear your thoughts and feedback. Check it out and let's connect!&lt;/p&gt;

&lt;p&gt;Website Link: &lt;a href="https://prassamin.github.io/portfolio/"&gt;https://prassamin.github.io/portfolio/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmc4cstt47qb1ry31jlu7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmc4cstt47qb1ry31jlu7.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vyqhevwougkc2mrjby7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7vyqhevwougkc2mrjby7.png" alt="Image description" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>portfolio</category>
      <category>github</category>
    </item>
  </channel>
</rss>
