<?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: Emmanuel Saleem</title>
    <description>The latest articles on DEV Community by Emmanuel Saleem (@emmanuel_saleem_46200ad37).</description>
    <link>https://dev.to/emmanuel_saleem_46200ad37</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%2F3532370%2Fc03bb7bb-b5cc-4d1e-9e00-47749d7a89d6.jpg</url>
      <title>DEV Community: Emmanuel Saleem</title>
      <link>https://dev.to/emmanuel_saleem_46200ad37</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/emmanuel_saleem_46200ad37"/>
    <language>en</language>
    <item>
      <title>🚀 I Built a WhatsApp Web Automation Chrome Extension (Manifest V3)</title>
      <dc:creator>Emmanuel Saleem</dc:creator>
      <pubDate>Tue, 23 Dec 2025 13:07:59 +0000</pubDate>
      <link>https://dev.to/emmanuel_saleem_46200ad37/i-built-a-whatsapp-web-automation-chrome-extension-manifest-v3-5hl1</link>
      <guid>https://dev.to/emmanuel_saleem_46200ad37/i-built-a-whatsapp-web-automation-chrome-extension-manifest-v3-5hl1</guid>
      <description>&lt;p&gt;Hey devs 👋&lt;br&gt;
I want to share a project I recently launched: WhatsApp Automator, a Chrome extension that helps automate WhatsApp Web messaging in a safe, human-like, and privacy-focused way.&lt;/p&gt;

&lt;p&gt;🤔 Why I Built This&lt;/p&gt;

&lt;p&gt;Most WhatsApp automation tools I found were either:&lt;/p&gt;

&lt;p&gt;Too aggressive (high risk of bans), or&lt;/p&gt;

&lt;p&gt;Closed-source and ignored user privacy&lt;/p&gt;

&lt;p&gt;I wanted to build something:&lt;/p&gt;

&lt;p&gt;Developer-friendly&lt;/p&gt;

&lt;p&gt;Transparent&lt;/p&gt;

&lt;p&gt;Focused on safety and privacy&lt;/p&gt;

&lt;p&gt;Fully compatible with Chrome Manifest V3&lt;/p&gt;

&lt;p&gt;⚙️ What the Extension Can Do&lt;br&gt;
🔄 Smart Automation&lt;/p&gt;

&lt;p&gt;Send multiple messages automatically&lt;/p&gt;

&lt;p&gt;Random delays between messages to mimic human behavior&lt;/p&gt;

&lt;p&gt;Min/Max delay enforcement to avoid spam-like actions&lt;/p&gt;

&lt;p&gt;⏰ Scheduling&lt;/p&gt;

&lt;p&gt;Schedule message campaigns for a specific date and time&lt;/p&gt;

&lt;p&gt;Supports delayed start with Chrome alarms&lt;/p&gt;

&lt;p&gt;📥 Multiple Input Modes&lt;/p&gt;

&lt;p&gt;JSON mode – paste a raw array of messages&lt;/p&gt;

&lt;p&gt;Form Builder – add/remove messages via UI&lt;/p&gt;

&lt;p&gt;Profiles mode – load users with phone &amp;amp; messages&lt;/p&gt;

&lt;p&gt;API import (POST) – fetch campaigns from a backend&lt;/p&gt;

&lt;p&gt;Auto-polling – periodically check for new configs&lt;/p&gt;

&lt;p&gt;🎛️ Full Control&lt;/p&gt;

&lt;p&gt;Start, Pause, Resume, Stop at any time&lt;/p&gt;

&lt;p&gt;Settings persist even after closing Chrome&lt;/p&gt;

&lt;p&gt;🔒 Privacy-First Features&lt;/p&gt;

&lt;p&gt;I also added privacy tools for people who work in public or shared environments:&lt;/p&gt;

&lt;p&gt;Blur chat messages&lt;/p&gt;

&lt;p&gt;Blur recent chat previews&lt;/p&gt;

&lt;p&gt;Blur images &amp;amp; videos&lt;/p&gt;

&lt;p&gt;Blur profile photos&lt;/p&gt;

&lt;p&gt;Blur message input area&lt;/p&gt;

&lt;p&gt;Hover to reveal temporarily&lt;/p&gt;

&lt;p&gt;🧠 Tech Stack &amp;amp; Architecture&lt;/p&gt;

&lt;p&gt;Chrome Extension Manifest V3&lt;/p&gt;

&lt;p&gt;Pure JavaScript, HTML, CSS&lt;/p&gt;

&lt;p&gt;No external libraries&lt;/p&gt;

&lt;p&gt;Uses Chrome APIs:&lt;/p&gt;

&lt;p&gt;storage&lt;/p&gt;

&lt;p&gt;alarms&lt;/p&gt;

&lt;p&gt;scripting&lt;/p&gt;

&lt;p&gt;🔗 Links&lt;/p&gt;

&lt;p&gt;🔌 Chrome Extension&lt;br&gt;
&lt;a href="https://chromewebstore.google.com/detail/emmanuel-saleemwhatsapp/gccjilimefkejmimbkdimmcbjbhjakeb" rel="noopener noreferrer"&gt;https://chromewebstore.google.com/detail/emmanuel-saleemwhatsapp/gccjilimefkejmimbkdimmcbjbhjakeb&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📘 Documentation / Source&lt;br&gt;
&lt;a href="https://github.com/es-77/my-extension-support" rel="noopener noreferrer"&gt;https://github.com/es-77/my-extension-support&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🐞 Issues &amp;amp; Feedback&lt;br&gt;
&lt;a href="https://github.com/es-77/my-extension-support/issues" rel="noopener noreferrer"&gt;https://github.com/es-77/my-extension-support/issues&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔐 Privacy Policy&lt;br&gt;
&lt;a href="https://docs.google.com/document/d/1sd5VlmpUNA9LH2XjFFgn9XqDJvpGa32kBGWvFz8McHQ" rel="noopener noreferrer"&gt;https://docs.google.com/document/d/1sd5VlmpUNA9LH2XjFFgn9XqDJvpGa32kBGWvFz8McHQ&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🙌 Feedback Welcome&lt;/p&gt;

&lt;p&gt;I’d love feedback from the community:&lt;/p&gt;

&lt;p&gt;Does the UX feel intuitive?&lt;/p&gt;

&lt;p&gt;What features would you add?&lt;/p&gt;

&lt;p&gt;Any concerns about Manifest V3 limitations?&lt;/p&gt;

&lt;p&gt;Thanks for reading, and happy coding! 🚀&lt;br&gt;
— Emmanuel Saleem&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>automation</category>
      <category>showdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>New NPM Package button – Fun &amp; Interactive Buttons for React/Next.js</title>
      <dc:creator>Emmanuel Saleem</dc:creator>
      <pubDate>Fri, 21 Nov 2025 13:43:28 +0000</pubDate>
      <link>https://dev.to/emmanuel_saleem_46200ad37/new-npm-package-button-fun-interactive-buttons-for-reactnextjs-4h67</link>
      <guid>https://dev.to/emmanuel_saleem_46200ad37/new-npm-package-button-fun-interactive-buttons-for-reactnextjs-4h67</guid>
      <description>&lt;p&gt;Hi Devs!&lt;/p&gt;

&lt;p&gt;video link &lt;a href="https://www.linkedin.com/posts/es77_reactjs-nextjs-npm-activity-7397623625312464896-74YM?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACpHnRMB8FtAQEF_vQcQ-7oZwcMgmiRbboI" rel="noopener noreferrer"&gt;https://www.linkedin.com/posts/es77_reactjs-nextjs-npm-activity-7397623625312464896-74YM?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACpHnRMB8FtAQEF_vQcQ-7oZwcMgmiRbboI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I just released &lt;strong&gt;&lt;code&gt;@emmanuel-saleem/moving-button&lt;/code&gt;&lt;/strong&gt;, a lightweight React/Next.js package that adds &lt;strong&gt;playful, moving buttons&lt;/strong&gt; to your apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  ✨ Key Feature
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If a user enters the &lt;strong&gt;wrong email or password&lt;/strong&gt;, the button &lt;strong&gt;moves away&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If credentials are &lt;strong&gt;correct&lt;/strong&gt;, the button stays still.
This makes login forms more interactive and fun while giving instant visual feedback.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🛠 Tech Compatibility
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;React.js&lt;/li&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;Works smoothly with Vite + React projects&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  💻 Installation
&lt;/h3&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; @emmanuel-saleem/moving-button
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🔧 Usage
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;MovingButton&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@emmanuel-saleem/moving-button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MovingButton&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  Login
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;MovingButton&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It’s perfect for adding a &lt;strong&gt;fun, gamified, or playful touch&lt;/strong&gt; to your UI.&lt;/p&gt;

&lt;p&gt;I’d love to hear your thoughts, feedback, or ideas for new features!&lt;/p&gt;

&lt;h1&gt;
  
  
  ReactJS #NextJS #Frontend #JavaScript #NPM #OpenSource #UIUX #WebDevelopment
&lt;/h1&gt;




</description>
      <category>nextjs</category>
      <category>react</category>
      <category>ui</category>
      <category>showdev</category>
    </item>
    <item>
      <title>🚀 Introducing Laravel Chatbot – A simple &amp; powerful chatbot for your Laravel apps!</title>
      <dc:creator>Emmanuel Saleem</dc:creator>
      <pubDate>Wed, 19 Nov 2025 18:09:29 +0000</pubDate>
      <link>https://dev.to/emmanuel_saleem_46200ad37/introducing-laravel-chatbot-a-simple-powerful-chatbot-for-your-laravel-apps-2kdl</link>
      <guid>https://dev.to/emmanuel_saleem_46200ad37/introducing-laravel-chatbot-a-simple-powerful-chatbot-for-your-laravel-apps-2kdl</guid>
      <description>&lt;p&gt;Hey fellow developers! I just released a &lt;strong&gt;Laravel package&lt;/strong&gt; that makes it easy to add a &lt;strong&gt;database-driven chatbot&lt;/strong&gt; to your applications. Features include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keyword-based Q&amp;amp;A with AND/OR logic&lt;/li&gt;
&lt;li&gt;Conditional responses and session variables&lt;/li&gt;
&lt;li&gt;Buttons and dynamic replies&lt;/li&gt;
&lt;li&gt;Admin UI to manage intents/questions&lt;/li&gt;
&lt;li&gt;Floating web chat widget or embedded web page&lt;/li&gt;
&lt;li&gt;API support for programmatic messaging&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you want a &lt;strong&gt;customer support bot&lt;/strong&gt;, &lt;strong&gt;FAQ bot&lt;/strong&gt;, or just an interactive chat, this package has you covered.&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Check out the demo video here:&lt;/strong&gt; &lt;a href="https://www.linkedin.com/posts/es77_ikonic-laravel-php-activity-7396969086359994368-uYL1?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACpHnRMB8FtAQEF_vQcQ-7oZwcMgmiRbboI" rel="noopener noreferrer"&gt;LinkedIn Video&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;📦 &lt;strong&gt;Get it on Packagist:&lt;/strong&gt; &lt;a href="https://packagist.org/packages/emmanuel-saleem/laravel-chatbot" rel="noopener noreferrer"&gt;Laravel Chatbot&lt;/a&gt;&lt;/p&gt;

</description>
      <category>database</category>
      <category>showdev</category>
      <category>php</category>
      <category>laravel</category>
    </item>
    <item>
      <title>Laravel package — Social Auth!</title>
      <dc:creator>Emmanuel Saleem</dc:creator>
      <pubDate>Fri, 24 Oct 2025 19:49:40 +0000</pubDate>
      <link>https://dev.to/emmanuel_saleem_46200ad37/laravel-package-social-auth-2edb</link>
      <guid>https://dev.to/emmanuel_saleem_46200ad37/laravel-package-social-auth-2edb</guid>
      <description>&lt;p&gt;🚀** Excited to share my new Laravel package — Social Auth!**&lt;/p&gt;

&lt;p&gt;👉 emmanuel-saleem/social-auth&lt;/p&gt;

&lt;p&gt;💻 GitHub: github.com/es-77/social-auth&lt;a href="https://dev.tourl"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔐 What it does&lt;/p&gt;

&lt;p&gt;This package makes it super easy to integrate Google, Microsoft, and other OAuth providers into your Laravel projects — whether you’re building a web app or an API.&lt;/p&gt;

&lt;p&gt;Built on top of Laravel Socialite, but with extended power and flexibility 💪&lt;br&gt;
**&lt;br&gt;
✨ New Features in Latest Release&lt;/p&gt;

&lt;p&gt;🧩 Modern UI Support**&lt;/p&gt;

&lt;p&gt;Clean and ready-to-use authentication views&lt;/p&gt;

&lt;p&gt;Easily customizable frontend templates&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🗺️ Data Mapping Functionality&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Map provider data (like name, email, or avatar) to your own user model fields&lt;/p&gt;

&lt;p&gt;Supports custom column mapping&lt;/p&gt;

&lt;p&gt;Define default values, mark fields as required, or make them optional&lt;/p&gt;

&lt;p&gt;⚙️** Advanced Customization&lt;br&gt;
**&lt;br&gt;
Add your own validation rules per field&lt;/p&gt;

&lt;p&gt;Modify how data is saved or merged&lt;/p&gt;

&lt;p&gt;Fully extendable — you can override any controller or service&lt;/p&gt;

&lt;p&gt;💾** Database Ready**&lt;/p&gt;

&lt;p&gt;Includes migration setup for storing provider information&lt;/p&gt;

&lt;p&gt;Supports dynamic mapping and defaults on user creation&lt;/p&gt;

&lt;p&gt;🔧 Tech Details&lt;/p&gt;

&lt;p&gt;Compatible with Laravel 8 → 11&lt;/p&gt;

&lt;p&gt;Works with PHP 8.0+&lt;/p&gt;

&lt;p&gt;Built for both session-based and token-based (API) authentication flows&lt;/p&gt;

&lt;p&gt;👨‍💻 Author&lt;/p&gt;

&lt;p&gt;Built with ❤️ by Emmanuel Saleem&lt;br&gt;
Full Stack Developer (Laravel + React)&lt;br&gt;
📦 Packagist: emmanuel-saleem/social-auth&lt;/p&gt;

&lt;p&gt;🐙 GitHub: github.com/es-77/social-auth&lt;/p&gt;

&lt;p&gt;video here &lt;br&gt;
&lt;a href="https://www.linkedin.com/posts/es77_excited-to-share-my-activity-7387552145891377152-Yinm?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACpHnRMB8FtAQEF_vQcQ-7oZwcMgmiRbboI" rel="noopener noreferrer"&gt;https://www.linkedin.com/posts/es77_excited-to-share-my-activity-7387552145891377152-Yinm?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAACpHnRMB8FtAQEF_vQcQ-7oZwcMgmiRbboI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>laravel</category>
      <category>opensource</category>
      <category>php</category>
    </item>
    <item>
      <title>🚀 Introducing Laravel Stripe Manager – Manage Stripe Customers, Products &amp; Subscriptions Easily in Laravel</title>
      <dc:creator>Emmanuel Saleem</dc:creator>
      <pubDate>Fri, 26 Sep 2025 17:51:49 +0000</pubDate>
      <link>https://dev.to/emmanuel_saleem_46200ad37/introducing-laravel-stripe-manager-manage-stripe-customers-products-subscriptions-easily-in-3j0l</link>
      <guid>https://dev.to/emmanuel_saleem_46200ad37/introducing-laravel-stripe-manager-manage-stripe-customers-products-subscriptions-easily-in-3j0l</guid>
      <description>&lt;p&gt;I’m excited to share a package I recently built: Laravel Stripe Manager&lt;br&gt;
.&lt;br&gt;
It’s a Laravel package that helps developers manage Stripe customers, cards, products, pricing, and subscriptions directly from a simple dashboard and API.&lt;/p&gt;

&lt;p&gt;🔹 &lt;strong&gt;Why I Built This&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Working with Stripe in Laravel usually means:&lt;/p&gt;

&lt;p&gt;Writing a lot of custom code.&lt;/p&gt;

&lt;p&gt;Struggling with webhooks and sync issues.&lt;/p&gt;

&lt;p&gt;Repeating the same boilerplate (customers, products, plans, etc).&lt;/p&gt;

&lt;p&gt;Laravel already has Cashier&lt;br&gt;
, but I wanted something that goes further with:&lt;br&gt;
✅ A web interface for managing Stripe resources.&lt;br&gt;
✅ Local database syncing.&lt;br&gt;
✅ Easier subscription lifecycle handling.&lt;/p&gt;

&lt;p&gt;So, I built Laravel Stripe Manager. 🎉&lt;/p&gt;

&lt;p&gt;🔹 Features&lt;/p&gt;

&lt;p&gt;Manage Customers (create, update, link payment methods).&lt;/p&gt;

&lt;p&gt;Manage Cards &amp;amp; Payment Methods.&lt;/p&gt;

&lt;p&gt;Manage Products &amp;amp; Pricing (one-time + recurring).&lt;/p&gt;

&lt;p&gt;Manage Subscriptions (create, cancel, resume).&lt;/p&gt;

&lt;p&gt;Automatic Webhook Handling (sync invoices, payments, etc).&lt;/p&gt;

&lt;p&gt;Prebuilt UI pages: /stripe-manager/customers, /stripe-manager/products, /stripe-manager/subscriptions.&lt;/p&gt;

&lt;p&gt;Links&lt;/p&gt;

&lt;p&gt;📦 Packagist: emmanuelsaleem/laravel-stripe-manager&lt;/p&gt;

&lt;p&gt;💻 GitHub: es-77/laravel-stripe-managers&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>laravel</category>
    </item>
  </channel>
</rss>
