<?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: Aditya Sorathiya</title>
    <description>The latest articles on DEV Community by Aditya Sorathiya (@aditya_sorathiya_069252f4).</description>
    <link>https://dev.to/aditya_sorathiya_069252f4</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4023995%2F485e9466-24ea-4f21-b88a-2a5fb850b430.png</url>
      <title>DEV Community: Aditya Sorathiya</title>
      <link>https://dev.to/aditya_sorathiya_069252f4</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aditya_sorathiya_069252f4"/>
    <language>en</language>
    <item>
      <title>I Found a “Case Study” About My Open-Source Project — But Its Development History Didn't Match Reality</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Wed, 09 Sep 2026 16:09:05 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-found-a-case-study-about-my-open-source-project-but-its-development-history-didnt-match-1i4k</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-found-a-case-study-about-my-open-source-project-but-its-development-history-didnt-match-1i4k</guid>
      <description>&lt;p&gt;I recently discovered an article about PasteDB, an open-source project I built.&lt;/p&gt;

&lt;p&gt;At first, I was actually happy to see someone writing about the project.&lt;/p&gt;

&lt;p&gt;Then I started reading it.&lt;br&gt;
I found that several parts of the article described PasteDB's technology, development process, and history in ways that don't match the actual project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The article
&lt;/h2&gt;

&lt;p&gt;The article is titled:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“Crafting a Product in Three Months: The Journey of Building PasteDB”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://ayubbaba.in/blog/crafting-a-product-in-three-months-the-journey-of-building-pastedb" rel="noopener noreferrer"&gt;Read the article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Several important details don't match the actual project.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. The technology stack is incorrect
&lt;/h2&gt;

&lt;p&gt;The article claims that PasteDB uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Flask&lt;/li&gt;
&lt;li&gt;React.js&lt;/li&gt;
&lt;li&gt;PostgreSQL&lt;/li&gt;
&lt;li&gt;Heroku&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It even provides a Flask/PostgreSQL code example as part of the supposed PasteDB development process.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F35ajomftgw8b07xtc8w1.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F35ajomftgw8b07xtc8w1.png" alt="Screenshot showing the technology stack claimed in the article" width="800" height="1579"&gt;&lt;/a&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff1oqac5hcbgv1to0zzjo.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff1oqac5hcbgv1to0zzjo.png" alt="Screenshot showing the Flask and PostgreSQL code example in the article" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, that isn't the technology stack of my actual PasteDB project.&lt;/p&gt;

&lt;p&gt;The real repository is here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sorathiya903/pastedb" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/pastedb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository and its history provide the actual implementation and development record.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. The article describes a development process that wasn't mine
&lt;/h2&gt;

&lt;p&gt;The article describes things such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;specific development sprints&lt;/li&gt;
&lt;li&gt;a Flask REST API&lt;/li&gt;
&lt;li&gt;PostgreSQL models&lt;/li&gt;
&lt;li&gt;React components&lt;/li&gt;
&lt;li&gt;unit and integration testing&lt;/li&gt;
&lt;li&gt;deployment to Heroku&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are presented as the development journey of PasteDB.&lt;/p&gt;

&lt;p&gt;But they don't represent how I actually built the project.&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdkqlf15egv8dlopsiqkj.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdkqlf15egv8dlopsiqkj.png" alt="half site shot of article" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The article's footer identifies the website as being designed and developed by its operator:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvo8ojhtxeykgkxfognt.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkvo8ojhtxeykgkxfognt.png" alt="Image containing the footer of the false article" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is what surprised me the most.&lt;/p&gt;

&lt;p&gt;It's one thing to write an article about an open-source project.&lt;/p&gt;

&lt;p&gt;It's another thing to present a development history as the project's actual history when that history does not match the project's repository and documented development.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. What PasteDB actually is
&lt;/h2&gt;

&lt;p&gt;PasteDB is a developer-focused paste-sharing platform that I've been building from my own repository.&lt;/p&gt;

&lt;p&gt;The project has evolved considerably over time.&lt;/p&gt;

&lt;p&gt;Some of the things I've built include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;End-to-end encryption&lt;/li&gt;
&lt;li&gt;Public, private and unlisted pastes&lt;/li&gt;
&lt;li&gt;Expiration and burn-after-read options&lt;/li&gt;
&lt;li&gt;Markdown and syntax highlighting&lt;/li&gt;
&lt;li&gt;Image sharing&lt;/li&gt;
&lt;li&gt;QR sharing&lt;/li&gt;
&lt;li&gt;Nearby transfer&lt;/li&gt;
&lt;li&gt;Search and Explore&lt;/li&gt;
&lt;li&gt;Version history&lt;/li&gt;
&lt;li&gt;REST API&lt;/li&gt;
&lt;li&gt;Python/Node tooling&lt;/li&gt;
&lt;li&gt;CLI&lt;/li&gt;
&lt;li&gt;VS Code extension&lt;/li&gt;
&lt;li&gt;Code execution&lt;/li&gt;
&lt;li&gt;Dashboard and analytics&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;PasteDB: &lt;a href="https://pastedb.netlify.app" rel="noopener noreferrer"&gt;https://pastedb.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/sorathiya903/pastedb" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/pastedb&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  4. I tried contacting the website
&lt;/h2&gt;

&lt;p&gt;Before escalating the issue, I tried contacting the website using the email addresses available to me.&lt;/p&gt;

&lt;p&gt;I found the following email addresses on the website's pages:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ayubbaba.in/terms-conditions" rel="noopener noreferrer"&gt;https://ayubbaba.in/terms-conditions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ayubbaba.in/" rel="noopener noreferrer"&gt;https://ayubbaba.in/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjpi6m42rg8ipgmrm8dhe.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjpi6m42rg8ipgmrm8dhe.jpg" alt="image prove for emails found" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unfortunately, the messages weren't delivered.&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 1
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;me@ayubbaba.in&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;554 5.7.1 — Relay access denied&lt;/p&gt;
&lt;/blockquote&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyzra1a0m1mm9gh04e7wo.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyzra1a0m1mm9gh04e7wo.png" alt="email not exists" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Attempt 2
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;legal@ayubbaba.in&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Result:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;554 5.7.1 — Relay access denied&lt;/p&gt;
&lt;/blockquote&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1dzemf24wrl9dg91v4zw.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1dzemf24wrl9dg91v4zw.png" alt="email not exists" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I wasn't able to establish contact through those addresses.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. Why I'm writing this
&lt;/h2&gt;

&lt;p&gt;I'm not writing this post to start a fight with anyone.&lt;/p&gt;

&lt;p&gt;I'm writing it because I think there's an important lesson here for open-source developers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your repository isn't just your code. It's also evidence of your work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Commit history, releases, documentation, licenses and timestamps can help establish what a project actually contains and how it evolved.&lt;/p&gt;

&lt;p&gt;If you're building something publicly, it's worth keeping that history organized.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Keep your repository history
&lt;/h3&gt;

&lt;p&gt;Don't treat Git history as something disposable.&lt;/p&gt;

&lt;p&gt;It can become an important record of how a project evolved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep your documentation accurate
&lt;/h3&gt;

&lt;p&gt;A clear README and changelog make it easier for others to understand what your project actually does.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keep licenses visible
&lt;/h3&gt;

&lt;p&gt;Open-source licenses explain what other people can and cannot do with your code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Verify claims before publishing them
&lt;/h3&gt;

&lt;p&gt;A project being publicly available doesn't mean its development history can simply be invented.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I'm doing now
&lt;/h2&gt;

&lt;p&gt;I've documented the discrepancies and preserved screenshots of the relevant sections.&lt;/p&gt;

&lt;p&gt;I'm also contacting the hosting provider through its abuse/copyright reporting process to ask them to review the reported material.&lt;/p&gt;

&lt;p&gt;I'm not claiming that every inaccurate statement automatically constitutes copyright infringement.&lt;/p&gt;

&lt;p&gt;My concern is that the article presents incorrect technical and authorship information as the history of my project.&lt;/p&gt;




&lt;h2&gt;
  
  
  I'd like to hear from other developers
&lt;/h2&gt;

&lt;p&gt;Have you ever found an article, video, tutorial, or website describing your open-source project incorrectly?&lt;/p&gt;

&lt;p&gt;How did you handle it?&lt;/p&gt;

&lt;p&gt;Did you contact the author first, report it to the platform, or simply leave it alone?&lt;/p&gt;

&lt;p&gt;I'd be interested in hearing how other developers handle situations like this.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;PasteDB:&lt;/strong&gt; &lt;a href="https://pastedb.netlify.app" rel="noopener noreferrer"&gt;https://pastedb.netlify.app&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/sorathiya903/pastedb" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/pastedb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Original project development story:&lt;/strong&gt; &lt;a href="https://pastedb.netlify.app/about" rel="noopener noreferrer"&gt;https://pastedb.netlify.app/about&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>showdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>I built a Neo-Brutalist website for MagicDrop — a local-network file sharing CLI</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Mon, 07 Sep 2026 16:24:08 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-built-a-neo-brutalist-website-for-magicdrop-a-local-network-file-sharing-cli-531i</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-built-a-neo-brutalist-website-for-magicdrop-a-local-network-file-sharing-cli-531i</guid>
      <description>&lt;p&gt;I just launched a new website for MagicDrop, my local-network file and text sharing CLI.&lt;/p&gt;

&lt;p&gt;I wanted the website to feel as unique as the project itself, so I redesigned it with a bold neo-brutalist UI — thick borders, hard shadows, high-contrast typography, and vibrant lime accents.&lt;/p&gt;

&lt;p&gt;For now, the website has two pages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🏠 Landing / Home page — introduces MagicDrop, features, installation, commands, browser sharing, local-network architecture, and the latest release.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;📦 Releases page — a dedicated release history showing MagicDrop 0.0.2 and the first 0.0.1 release.&lt;br&gt;
The site is built with plain HTML, CSS and JavaScript, with responsive navigation and small reveal/copy interactions.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1udq28vrrgo5pg6vxyyq.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1udq28vrrgo5pg6vxyyq.png" alt="Home page shot" width="800" height="1579"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MagicDrop: a simple way to share files and text between terminal and browser over the same local network, without cloud storage.&lt;/p&gt;

&lt;p&gt;🔗 Website: &lt;a href="https://magicdrop-cli.netlify.app" rel="noopener noreferrer"&gt;https://magicdrop-cli.netlify.app&lt;/a&gt;&lt;br&gt;
📦 NPM: &lt;a href="https://www.npmjs.com/package/magicdrop-cli" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/magicdrop-cli&lt;/a&gt;&lt;br&gt;
💻 GitHub: &lt;a href="https://github.com/sorathiya903/MagicDrop" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/MagicDrop&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why only 2 pages for now?
&lt;/h2&gt;

&lt;p&gt;I m a student,so now my tests are going one.&lt;br&gt;
The other pages can be released after 20/9/26&lt;/p&gt;

&lt;p&gt;I'd love to hear what you think about the design and what I could improve in future pages!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>css</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I Added Server-Side File Size Limits to a WebSocket File Sharing App</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Fri, 04 Sep 2026 10:06:29 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/magicdrop-002-added-configurable-file-size-limits-3hm</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/magicdrop-002-added-configurable-file-size-limits-3hm</guid>
      <description>&lt;h2&gt;
  
  
  🚀 MagicDrop 0.0.2 is here!
&lt;/h2&gt;

&lt;p&gt;I just added a configurable file-size limit to MagicDrop, my local-network file and text sharing tool for terminal and browser.&lt;/p&gt;

&lt;p&gt;📦 &lt;strong&gt;Default limit: 512 MB&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can now set your own limit when starting MagicDrop:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md start &lt;span class="nt"&gt;--limit&lt;/span&gt; 1GB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Supported:&lt;br&gt;
• KB&lt;br&gt;
• MB&lt;br&gt;
• GB&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsp3513r056jco5e19xaq.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsp3513r056jco5e19xaq.jpg" alt="Setting File limit example" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The limit is enforced on the server, with browser-side validation too.&lt;/p&gt;

&lt;p&gt;I also improved the browser UI and fixed several file-transfer issues.&lt;/p&gt;

&lt;p&gt;📦 NPM:&lt;br&gt;
&lt;a href="https://www.npmjs.com/package/magicdrop-cli" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/magicdrop-cli&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⭐ GitHub:&lt;br&gt;
&lt;a href="https://github.com/sorathiya903/magicdrop" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/magicdrop&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love to hear your feedback! 🙌&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>showdev</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>A tool which can share files and text between your terminal and browser over your local network. No cloud storage or internet needed.</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Thu, 03 Sep 2026 01:19:24 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-built-magicdrop-share-files-and-text-between-your-terminal-and-browser-over-your-local-network-p8e</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-built-magicdrop-share-files-and-text-between-your-terminal-and-browser-over-your-local-network-p8e</guid>
      <description>&lt;p&gt;Have you ever needed to quickly move a file or some text between your phone and computer without uploading it to a cloud service?&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;MagicDrop&lt;/strong&gt;, a simple local-network file and text sharing tool that connects your terminal with a browser.&lt;/p&gt;

&lt;p&gt;You start MagicDrop from the terminal, scan a QR code, and your browser becomes a connected device.&lt;br&gt;
MagicDrop supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;💻 Terminal → Browser file sharing&lt;/li&gt;
&lt;li&gt;🌐 Browser → Terminal file sharing&lt;/li&gt;
&lt;li&gt;🌐 Browser → Browser file sharing&lt;/li&gt;
&lt;li&gt;💬 Text sharing between devices&lt;/li&gt;
&lt;li&gt;📱 Multiple connected devices&lt;/li&gt;
&lt;li&gt;📷 QR-code connection&lt;/li&gt;
&lt;li&gt;✅ Transfer approval/rejection&lt;/li&gt;
&lt;li&gt;📦 Chunk-based file transfers&lt;/li&gt;
&lt;li&gt;📁 Automatic downloads on the terminal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The first version, v0.0.1, is now released.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Github: &lt;a href="https://github.com/sorathiya903/MagicDrop" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/MagicDrop&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  🚀 Install
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; magicdrop-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Start it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;MagicDrop starts a local server and displays a QR code. Scan it from another device connected to the same local network.&lt;/p&gt;

&lt;h2&gt;
  
  
  📁 Send a file
&lt;/h2&gt;

&lt;p&gt;From the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;md&amp;gt; send photo.jpg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The receiving device gets an approval request. Once accepted, the file is transferred in chunks.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Send text
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;md&amp;gt; send-text Hello from MagicDrop!
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No quotes are required.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔢 Check version
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;md &lt;span class="nt"&gt;-v&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MagicDrop 0.0.1 by Aditya Sorathiya
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Version might be different as new version come.&lt;/strong&gt;&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkxzurgo1kgh4eggmov9h.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkxzurgo1kgh4eggmov9h.png" alt="MagicDrop Logo" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is my first release of MagicDrop, and I'm planning to keep improving it.&lt;br&gt;
I'd love to hear what features you think would make MagicDrop more useful. 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>javascript</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I built LavinderAI — an AI FAQ chatbot platform for businesses 🤖</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Sat, 29 Aug 2026 13:48:59 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-built-lavinderai-an-ai-faq-chatbot-platform-for-businesses-40ij</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-built-lavinderai-an-ai-faq-chatbot-platform-for-businesses-40ij</guid>
      <description>&lt;h1&gt;
  
  
  I built LavinderAI — an AI FAQ chatbot platform for businesses 🤖
&lt;/h1&gt;

&lt;p&gt;Today I added and launched &lt;strong&gt;LavinderAI&lt;/strong&gt;, a small AI chatbot SaaS project I've been building.&lt;/p&gt;

&lt;p&gt;NOTE: &lt;strong&gt;IT WAS A OLD PROJECT, updating now😅&lt;/strong&gt;&lt;br&gt;
The idea is simple:&lt;/p&gt;

&lt;p&gt;Businesses often have the same questions asked repeatedly. LavinderAI lets them create an AI-powered FAQ chatbot that can answer those questions automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What can LavinderAI do?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🤖 Create an AI chatbot from your business information&lt;/li&gt;
&lt;li&gt;🔗 Get a public shareable chatbot link&lt;/li&gt;
&lt;li&gt;💬 Let visitors ask questions and receive AI-generated answers&lt;/li&gt;
&lt;li&gt;📊 Track chatbot visitors and questions&lt;/li&gt;
&lt;li&gt;🔐 Google authentication&lt;/li&gt;
&lt;li&gt;⚙️ Manage chatbots from a dashboard&lt;/li&gt;
&lt;li&gt;🎨 Customize and manage chatbot content&lt;/li&gt;
&lt;li&gt;💰 Free plan for creating and testing a chatbot&lt;/li&gt;
&lt;li&gt;⚡ Pro plan for deploying chatbots with AI responses&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🛠️ How I built it
&lt;/h2&gt;

&lt;p&gt;The project uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Flask&lt;/li&gt;
&lt;li&gt;Firebase&lt;/li&gt;
&lt;li&gt;AI APIs&lt;/li&gt;
&lt;li&gt;Google OAuth&lt;/li&gt;
&lt;li&gt;Razorpay&lt;/li&gt;
&lt;li&gt;HTML/CSS/JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built the project from the ground up and kept improving it as I added features.&lt;/p&gt;

&lt;h2&gt;
  
  
  📈 What's next?
&lt;/h2&gt;

&lt;p&gt;LavinderAI is still an early project, so there are plenty of things I want to improve.&lt;/p&gt;

&lt;p&gt;Some things on my roadmap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better chatbot customization&lt;/li&gt;
&lt;li&gt;More analytics&lt;/li&gt;
&lt;li&gt;Better AI controls&lt;/li&gt;
&lt;li&gt;Improved performance&lt;/li&gt;
&lt;li&gt;More integrations&lt;/li&gt;
&lt;li&gt;More ways to embed chatbots into websites&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you're interested in AI, SaaS, or chatbot development, I'd love to hear your feedback.&lt;/p&gt;

&lt;p&gt;👉 Try LavinderAI: &lt;a href="https://lavinderai-yp7v.onrender.com" rel="noopener noreferrer"&gt;https://lavinderai-yp7v.onrender.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What feature would you want in a simple AI chatbot platform?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>saas</category>
      <category>webdev</category>
      <category>python</category>
    </item>
    <item>
      <title>I built and launched my first AI chatbot SaaS — LavinderAI 🚀</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Sat, 29 Aug 2026 03:37:30 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-built-lavinderai-create-an-ai-faq-chatbot-for-your-business-in-under-a-minute-3gn8</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-built-lavinderai-create-an-ai-faq-chatbot-for-your-business-in-under-a-minute-3gn8</guid>
      <description>&lt;p&gt;What if a small business could have its own AI chatbot without needing a developer?&lt;br&gt;
I built LavinderAI, an AI-powered FAQ chatbot platform designed for small businesses such as gyms, salons, tuition classes, and local businesses.&lt;/p&gt;

&lt;p&gt;With LavinderAI, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🤖 Create an AI-powered FAQ chatbot&lt;/li&gt;
&lt;li&gt;⚡ Set it up in under a minute&lt;/li&gt;
&lt;li&gt;🔗 Get a custom chatbot URL&lt;/li&gt;
&lt;li&gt;📝 Provide your business information and FAQs&lt;/li&gt;
&lt;li&gt;📱 Share the chatbot with customers&lt;/li&gt;
&lt;li&gt;🔐 Sign in securely with Google&lt;/li&gt;
&lt;li&gt;🗑️ Maintain control over your chatbot and account data&lt;/li&gt;
&lt;li&gt;🚀 &lt;strong&gt;Try 5 free AI responses before upgrading&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built LavinderAI as a solo developer project and I'm now looking for feedback from developers, founders, and small-business owners.&lt;/p&gt;

&lt;p&gt;Try it: &lt;a href="https://lavinderai-yp7v.onrender.com/" rel="noopener noreferrer"&gt;https://lavinderai-yp7v.onrender.com/&lt;/a&gt;&lt;br&gt;
Demo: &lt;a href="https://lavinderai-yp7v.onrender.com/demo" rel="noopener noreferrer"&gt;https://lavinderai-yp7v.onrender.com/demo&lt;/a&gt;&lt;br&gt;
Github: &lt;a href="https://github.com/sorathiya903/lavinderai/" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/lavinderai/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd especially love to hear: Would an AI FAQ chatbot like this be useful for your business? What feature would you add?&lt;/p&gt;

</description>
      <category>product</category>
      <category>productivity</category>
      <category>startup</category>
      <category>ai</category>
    </item>
    <item>
      <title>Node.js Express vs. Python FastAPI: Which Should You Choose in 2026?</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Mon, 24 Aug 2026 15:54:00 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/nodejs-express-vs-python-fastapi-which-should-you-choose-in-2026-198k</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/nodejs-express-vs-python-fastapi-which-should-you-choose-in-2026-198k</guid>
      <description>&lt;h2&gt;
  
  
  Node.js Express vs. Python FastAPI: The Definitive Guide for Choosing Your Next Backend
&lt;/h2&gt;

&lt;p&gt;Choosing a backend framework used to be simple. If you liked JavaScript, you built with Express. If you liked Python, you went with Flask or Django.&lt;br&gt;
But the landscape has fundamentally shifted.&lt;br&gt;
With the explosion of AI, machine learning, and strict type safety, Python FastAPI has emerged as a powerhouse alternative to the traditional JavaScript runtime. Meanwhile, Node.js Express remains the unopinionated king of the enterprise web.&lt;/p&gt;
&lt;h2&gt;
  
  
  If you are starting a new project today, which one should you choose? Let’s break down the technical trade-offs, developer experience, and code structures of both frameworks.
&lt;/h2&gt;
&lt;h2&gt;
  
  
  🚀 The Core Philosophy
&lt;/h2&gt;
&lt;h2&gt;
  
  
  Node.js Express: The Minimalist Canvas
&lt;/h2&gt;

&lt;p&gt;Express is a minimalist, unopinionated framework. It doesn't care how you structure your folders, how you validate data, or how you handle errors. It gives you a robust set of HTTP tools and steps out of your way.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Catch: You have to build or install your own solutions for data validation, ORM mapping, and API documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Python FastAPI: The Automated Powerhouse
&lt;/h2&gt;

&lt;p&gt;FastAPI is built on modern Python 3.8+ features like type hints and asynchronous ASGI (asyncio). It is highly opinionated about data handling, leveraging Pydantic to automate input validation and schema serialization.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Catch: It forces you into a specific way of handling data types from day one, which can feel restrictive if you prefer absolute freedom.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  📊 Feature Breakdown
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Node.js Express&lt;/th&gt;
&lt;th&gt;Python FastAPI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Language&lt;/td&gt;
&lt;td&gt;JavaScript / TypeScript&lt;/td&gt;
&lt;td&gt;Python&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Validation&lt;/td&gt;
&lt;td&gt;Manual / Third-Party (Zod, Joi)&lt;/td&gt;
&lt;td&gt;Native via Pydantic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;API Docs&lt;/td&gt;
&lt;td&gt;Manual Setup (Swagger UI plugin)&lt;/td&gt;
&lt;td&gt;Automatic (Interactive Swagger UI &amp;amp; ReDoc)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best For&lt;/td&gt;
&lt;td&gt;Real-time I/O, WebSockets, Full-stack JS&lt;/td&gt;
&lt;td&gt;AI/ML APIs, Data pipelines, Type-safe apps&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;


&lt;h2&gt;
  
  
  🛠️ Code Comparison: Creating a Validated POST Route
&lt;/h2&gt;

&lt;p&gt;Let’s look at how both frameworks handle a common task: creating a POST endpoint that accepts an item, validates that the data format is correct, and returns a success status.&lt;/p&gt;
&lt;h2&gt;
  
  
  The Express Way (JavaScript)
&lt;/h2&gt;

&lt;p&gt;In Express, validating a request body requires manual conditional blocks or external middleware.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;express&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;express&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;express&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;use&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;express&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/items&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="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="c1"&gt;// Manual validation logic&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="k"&gt;typeof&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="o"&gt;!==&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;number&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="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Invalid data format&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="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;201&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;created&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;price&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="nx"&gt;app&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;listen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3000&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;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Server running on port 3000&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The FastAPI Way (Python)
&lt;/h2&gt;

&lt;p&gt;FastAPI uses Python type hints to parse and validate incoming data automatically. If the client sends an invalid string for price, FastAPI catches it and throws a structured 422 Unprocessable Entity error before the function code even runs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;fastapi&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;FastAPI&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pydantic&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;BaseModel&lt;/span&gt;
&lt;span class="n"&gt;app&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;FastAPI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="c1"&gt;# Data schema definitionclass Item(BaseModel):
&lt;/span&gt;    &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;
    &lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;float&lt;/span&gt;

&lt;span class="nd"&gt;@app.post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/items&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;status_code&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;201&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create_item&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Item&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# Data is already validated and parsed into an 'item' object here
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;status&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;created&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;price&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;item&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;price&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bonus FastAPI Feature: By just running the code above and navigating to /docs in your browser, you get a fully interactive, production-ready Swagger UI playground instantly. No extra configuration required.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 Performance &amp;amp; Ecosystem Trade-offs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  High Concurrency vs. High Automation
&lt;/h3&gt;

&lt;p&gt;Because Node.js runs on an event-driven event loop, Express excels at massive concurrent I/O operations (like a live chat application, IoT streaming, or real-time gaming backends). Express handles thousands of lightweight open connections with ease.&lt;br&gt;
FastAPI is incredibly fast for a Python framework—lightyears ahead of Flask or Django. However, Python's runtime environment introduces slightly more CPU overhead during massive data serialization compared to Node.js.&lt;/p&gt;

&lt;h2&gt;
  
  
  The AI &amp;amp; Data Science Reality
&lt;/h2&gt;

&lt;p&gt;If your project touches Large Language Models (LLMs), LangChain, PyTorch, NumPy, or automated data processing, FastAPI is the undisputed winner.&lt;br&gt;
The entire AI ecosystem is built on Python. Forcing a Node.js server to orchestrate local Python ML models requires messy child processes or heavy microservice architecture. FastAPI acts as a seamless gateway to your data layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  On the flip side, if your frontend is built with React, Vue, or Next.js, using Express allows your team to write JavaScript end-to-end. This lets you share typescript interfaces across the repository, keeping your cognitive load low.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🏁 The Verdict: Which Should You Write Next?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stick with Node.js Express if: You are building real-time applications with heavy WebSocket reliance, your team consists entirely of JavaScript/TypeScript developers, or you want absolute control over your backend architecture.&lt;/li&gt;
&lt;li&gt;Switch to Python FastAPI if: You are building APIs interacting with data science pipelines, AI agents, or machine learning models. It's also the best choice if you want automated, interactive documentation and native input validation right out of the box.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  👇 What's your take?
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Are you team Express or team FastAPI? Do you prefer the absolute freedom of the Node ecosystem, or the automated safety guards of modern Python type checking? Let's discuss in the comments below!
&lt;/h2&gt;

</description>
      <category>webdev</category>
      <category>node</category>
      <category>fastapi</category>
      <category>backend</category>
    </item>
    <item>
      <title>darkURL — A Beautiful CLI for Formatting and Viewing HTTP Responses🚀</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Sun, 23 Aug 2026 09:51:39 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/darkurl-a-beautiful-cli-for-formatting-and-viewing-http-responses-4m05</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/darkurl-a-beautiful-cli-for-formatting-and-viewing-http-responses-4m05</guid>
      <description>&lt;h1&gt;
  
  
  darkURL
&lt;/h1&gt;

&lt;p&gt;is a developer-focused command-line tool that makes raw HTTP responses easier to read directly in the terminal.&lt;/p&gt;

&lt;p&gt;Instead of staring at unformatted curl output, pipe your HTTP response into dark and get a cleaner, more readable terminal view with formatted JSON, syntax highlighting, HTTP status information, and a polished dark-themed interface.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-i&lt;/span&gt; https://example.com | dark
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For example:&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="err"&gt;◆&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;darkURL&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;────────────────────────────────────────&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;Response&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Code&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Success&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;────────────────────────────────────────&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;span class="nl"&gt;"status"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ok"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"message"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hello world"&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;darkURL is designed for developers who frequently work with curl, REST APIs, HTTP requests, JSON APIs, web services, and terminal-based debugging.&lt;br&gt;
The project is currently focused on a simple, fast CLI experience, with more HTTP tooling planned for the future.&lt;/p&gt;

&lt;p&gt;Install: npm install -g darkurl-cli &lt;br&gt;
GitHub: &lt;a href="https://github.com/sorathiya903/darkurl-cli" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/darkurl-cli&lt;/a&gt;&lt;br&gt;
NPM JS: &lt;a href="https://www.npmjs.com/package/darkurl-cli" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/darkurl-cli&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz7e03xotuao3kczpfqzl.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz7e03xotuao3kczpfqzl.png" alt=" " width="800" height="309"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After:&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw238l0xwnz2qfg6771zu.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw238l0xwnz2qfg6771zu.png" alt=" " width="800" height="1176"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cli</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>showdev</category>
    </item>
    <item>
      <title>PasteDB Hackathon August 2026 - Offline Web App Submission</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Fri, 21 Aug 2026 15:12:15 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/pastedb-hackathon-august-2026-offline-web-app-submission-67f</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/pastedb-hackathon-august-2026-offline-web-app-submission-67f</guid>
      <description>&lt;h2&gt;
  
  
  🏆 PDB Hackathon 2026
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎯 Theme
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Build a web app that runs without an internet connection.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Your app should be usable after the required files/resources have been loaded locally. Be creative — the goal is to build something genuinely useful, interesting, or unique for offline use.&lt;/p&gt;

&lt;h3&gt;
  
  
  📅 Hackathon Schedule
&lt;/h3&gt;

&lt;p&gt;🟢 Start: 21 August 2026&lt;/p&gt;

&lt;p&gt;🔴 Submission Deadline: 28 August 2026 at 11:59 PM IST&lt;/p&gt;

&lt;p&gt;🏆 Results: 30 August 2026&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Duration: 7 days&lt;br&gt;
Judging period: 29–30 August 2026&lt;/p&gt;

&lt;p&gt;Build Period: 21–28 August 2026&lt;br&gt;
Results Day: 30 August 2026&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How to participate
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Build your project around the theme:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Build a web app that runs without an internet connection.&lt;br&gt;
&lt;strong&gt;Old projects are allowed too&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Open to all ages&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Create a PasteDB submission
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href="https://pastedb.netlify.app/create?t=r" rel="noopener noreferrer"&gt;PasteDB submission page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Use the provided submission template.&lt;/li&gt;
&lt;li&gt;Add your project details in Markdown or plain text.&lt;/li&gt;
&lt;li&gt;Include your GitHub repository link.&lt;/li&gt;
&lt;li&gt;Include a short description of your project.&lt;/li&gt;
&lt;li&gt;Explain how your app works offline.&lt;/li&gt;
&lt;li&gt;Add instructions for running/testing it.&lt;/li&gt;
&lt;li&gt;Comment your PasteDB URL in this post&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;One submission per participant.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Multiple submission from one participant&amp;gt;&amp;gt; Disqualified&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make sure your PasteDB URL is accessible to the judges.&lt;br&gt;
Do not modify or delete your submission after submitting it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deadline: 28 August 2026, 11:59 PM IST.&lt;br&gt;
Late submissions may not be considered&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅️ Comment &lt;strong&gt;in&lt;/strong&gt; this way(This is vaild)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;URL:https://pastedb.netlify.app/paste/xxxxx
Project:Name of Project (optional)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;❌️ &lt;strong&gt;Do not&lt;/strong&gt; Comment in this way(this is invalid)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Project: Name here 
Url: pastedb paste URL
Github: Guthub url
How to start?: whole process...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  🏆 I Have No Money, But I Have Respect
&lt;/h2&gt;

&lt;p&gt;There are no cash prizes for this hackathon. Instead, winners and participants will receive something that can stay with them long after the hackathon ends: recognition for what they built.&lt;/p&gt;

&lt;h3&gt;
  
  
  🥇 1st Place — PDB Hackathon Champion
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Your name and project will be featured on the dedicated PDB Hackathon Winners page.&lt;/li&gt;
&lt;li&gt;You will receive a unique PDB Hackathon 1st Place badge with your name.&lt;/li&gt;
&lt;li&gt;Your winning project will be showcased on the winners page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🥈 2nd Place — PDB Hackathon Runner-Up
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Your name and project will be featured on the dedicated PDB Hackathon Winners page.&lt;/li&gt;
&lt;li&gt;You will receive a unique PDB Hackathon 2nd Place badge with your name.&lt;/li&gt;
&lt;li&gt;Your project will be showcased on the winners page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🥉 3rd Place — PDB Hackathon 3rd Place
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Your name and project will be featured on the dedicated PDB Hackathon Winners page.&lt;/li&gt;
&lt;li&gt;You will receive a unique PDB Hackathon 3rd Place badge with your name.&lt;/li&gt;
&lt;li&gt;Your project will be showcased on the winners page.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  👥 Every Participant
&lt;/h3&gt;

&lt;p&gt;Every valid participant will have their name and project listed on the dedicated PDB Hackathon Participants page.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace money with a fake prize. It's to give builders a permanent record that they participated, built something, and were recognized for it.&lt;/p&gt;

&lt;p&gt;Build something. Earn your place. Leave your mark. 🏆&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The participants showcase page is not made now, it will be made when 1ST participant participates&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🏅 Recognition&lt;/p&gt;

&lt;p&gt;All valid participants will be listed on the official PDB Hackathon 2026 Participants page.&lt;/p&gt;

&lt;p&gt;Winners will be displayed in a separate Winners section and will receive a unique PDB Hackathon winner badge with their name, helping verify that the badge belongs to the actual winner.&lt;/p&gt;

&lt;p&gt;Build offline. Share on PasteDB. Submit on Dev.to. 🚀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>ai</category>
    </item>
    <item>
      <title>I added an interactive dashboard to the PasteDB CLI — manage pastes from your terminal</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Mon, 17 Aug 2026 14:40:05 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-added-an-interactive-dashboard-to-the-pastedb-cli-manage-pastes-from-your-terminal-59nk</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-added-an-interactive-dashboard-to-the-pastedb-cli-manage-pastes-from-your-terminal-59nk</guid>
      <description>&lt;h2&gt;
  
  
  PasteDB CLI
&lt;/h2&gt;

&lt;p&gt;just got a new interactive dashboard! 🚀 Browse, navigate, open, delete, and refresh your pastes directly from the terminal — without constantly switching to the browser.&lt;/p&gt;

&lt;p&gt;I've been working on PasteDB, a paste-sharing platform for code, notes, text, and more.&lt;/p&gt;

&lt;p&gt;Today I added something I've wanted in the CLI for a while:&lt;/p&gt;

&lt;h2&gt;
  
  
  🗂️ An interactive paste dashboard — directly in the terminal
&lt;/h2&gt;

&lt;p&gt;Instead of running separate commands every time I want to manage a paste, I can now run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb pastes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and get an interactive dashboard showing my pastes.&lt;/p&gt;

&lt;p&gt;It looks something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╭──────────────────────────────────────────────────────────────╮
│                         PasteDB                              │
│                       Your Pastes                            │
╰──────────────────────────────────────────────────────────────╯

  3 pastes

  ❯ app.py
      ID:       abc123
      Language: python
      Preview:  print("Hello from PasteDB!")

    website.html
      ID:       xyz789
      Language: html
      Preview:  &amp;lt;!DOCTYPE html&amp;gt;...

    notes.md
      ID:       note456
      Language: markdown
      Preview:  My project notes...

──────────────────────────────────────────────────────────────
↑ ↓ Navigate   O Open   d Delete   r Refresh   q Quit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;What can it do?&lt;/p&gt;

&lt;p&gt;⬆️⬇️ Navigate through your pastes&lt;/p&gt;

&lt;p&gt;🌐 Open the selected paste in your browser&lt;/p&gt;

&lt;p&gt;🗑️ Delete a paste directly from the dashboard&lt;/p&gt;

&lt;p&gt;🔄 Refresh the list without restarting the CLI&lt;/p&gt;

&lt;p&gt;🔐 Handle encrypted/private paste data without dumping the encrypted objects into the terminal&lt;/p&gt;

&lt;p&gt;📋 Show useful information such as the paste ID, language, title, and preview&lt;/p&gt;

&lt;p&gt;The goal is to make the CLI feel less like a collection of commands and more like a small terminal application.&lt;/p&gt;

&lt;p&gt;Why did I add this?&lt;/p&gt;

&lt;p&gt;Previously, managing several pastes from the CLI meant remembering individual commands and paste IDs.&lt;/p&gt;

&lt;p&gt;Now I can simply run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pdb pastes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and navigate through everything from one place.&lt;/p&gt;

&lt;p&gt;I'm still improving it. I initially experimented with adding search to the dashboard, but I've temporarily removed it while I work on making the handling of encrypted/private pastes more robust.&lt;/p&gt;

&lt;p&gt;PasteDB CLI is built with Node.js and is available on npm.&lt;/p&gt;

&lt;p&gt;If you're interested in trying it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; pastedb-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb auth
pdb pastes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'd love to hear what other features would make a terminal-based paste manager more useful.&lt;/p&gt;

&lt;p&gt;Want to view Docs?See them here &lt;br&gt;
&lt;a href="https://pastedb.netlify.app/cli" rel="noopener noreferrer"&gt;https://pastedb.netlify.app/cli&lt;/a&gt;&lt;br&gt;
Source Code:&lt;br&gt;
&lt;a href="https://github.com/sorathiya903/pastedb-cli" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/pastedb-cli&lt;/a&gt;&lt;br&gt;
NPM JS : &lt;a href="https://www.npmjs.com/package/pastedb-cli" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/pastedb-cli&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>node</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I Built PasteDB CLI in 1 Day — Tool to upload files to the Web with pdb create 🚀</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Fri, 14 Aug 2026 13:20:33 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-built-pastedb-cli-in-1-day-upload-files-to-the-web-with-pdb-create-k0a</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-built-pastedb-cli-in-1-day-upload-files-to-the-web-with-pdb-create-k0a</guid>
      <description>&lt;h2&gt;
  
  
  Want to do this?
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb create app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;…and have your file uploaded online with a shareable PasteDB link returned instantly?&lt;/p&gt;

&lt;p&gt;Now it's possible. 🚀&lt;/p&gt;

&lt;p&gt;I built PasteDB CLI in just 1 day — a lightweight command-line tool for developers to upload files, retrieve pastes, update them, delete them, explore public pastes, and manage API keys without leaving the terminal.&lt;/p&gt;

&lt;p&gt;The CLI is built with JavaScript / Node.js and connects directly to the PasteDB API.&lt;/p&gt;

&lt;p&gt;⚡ What it can do&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb create app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Upload a local file and get a PasteDB link.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb get abc123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fetch a paste directly from the terminal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb update abc123 app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Update an existing paste.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pdb delete abc123
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Delete a paste.&lt;/p&gt;

&lt;p&gt;It also includes API-key authentication, public paste exploration, code execution support, and other developer-focused commands.&lt;/p&gt;

&lt;p&gt;🛠 Tech Stack&lt;br&gt;
JavaScript / Node.js&lt;br&gt;
The goal was to keep the CLI simple, fast, and easy to use while making PasteDB accessible directly from the terminal.&lt;/p&gt;

&lt;p&gt;🔗 Check it out&lt;br&gt;
Source code: &lt;a href="https://github.com/sorathiya903/pastedb-cli" rel="noopener noreferrer"&gt;https://github.com/sorathiya903/pastedb-cli&lt;/a&gt;&lt;br&gt;
CLI documentation: &lt;a href="https://pastedb.netlify.app/cli" rel="noopener noreferrer"&gt;https://pastedb.netlify.app/cli&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was a one-day build, and I'm planning to keep improving the CLI with more developer-friendly features.&lt;/p&gt;

&lt;p&gt;PasteDB CLI is a tool of &lt;a href="https://pastedb.netlify.app" rel="noopener noreferrer"&gt;PasteDB&lt;/a&gt;, a text, code snippets and images sharing web app.&lt;/p&gt;

&lt;p&gt;What would you want to see added to a my pastebin CLI? 👀&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>cli</category>
      <category>javascript</category>
    </item>
    <item>
      <title>I removed live cursors from PasteDB — and replaced them with line-level editing presence</title>
      <dc:creator>Aditya Sorathiya</dc:creator>
      <pubDate>Wed, 12 Aug 2026 16:04:10 +0000</pubDate>
      <link>https://dev.to/aditya_sorathiya_069252f4/i-removed-live-cursors-from-pastedb-and-replaced-them-with-line-level-editing-presence-1j4m</link>
      <guid>https://dev.to/aditya_sorathiya_069252f4/i-removed-live-cursors-from-pastedb-and-replaced-them-with-line-level-editing-presence-1j4m</guid>
      <description>&lt;h2&gt;
  
  
  I recently made a small but important change to PasteDB's collaborative editor.
&lt;/h2&gt;

&lt;p&gt;Previously, PasteDB showed live cursors for other users while they were editing. While this was useful, I found that multiple cursors could make the editor feel cluttered, especially when several people were working at the same time.&lt;/p&gt;

&lt;p&gt;So I removed the live cursor UI and replaced it with a simpler line-level editing indicator.&lt;br&gt;
Now, when another user is editing a line:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A small colored dot appears in the editor gutter.&lt;/li&gt;
&lt;li&gt;The dot shows exactly which line the user is working on.&lt;/li&gt;
&lt;li&gt;Hovering over the dot reveals the user's name.&lt;/li&gt;
&lt;li&gt;The indicator stays out of the code itself, keeping the editor cleaner.&lt;/li&gt;
&lt;li&gt;Multiple users can be shown editing different lines at the same time.&lt;/li&gt;
&lt;/ul&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fruabknlxqe9g5uzccfo3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fruabknlxqe9g5uzccfo3.png" alt="Demo" width="800" height="1733"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The goal was to make collaboration feel less distracting while still letting everyone know what others are working on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try PasteDB
&lt;/h2&gt;

&lt;p&gt;You can try the collaborative editor and other PasteDB features here:&lt;/p&gt;

&lt;p&gt;Try PasteDB →&lt;br&gt;
&lt;a href="https://pastedb.netlify.app/" rel="noopener noreferrer"&gt;https://pastedb.netlify.app/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'd love to know which approach you prefer for collaborative editors: live cursors or lightweight line-level presence?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>productivity</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
