<?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: Jalal Maskoun</title>
    <description>The latest articles on DEV Community by Jalal Maskoun (@jalal246).</description>
    <link>https://dev.to/jalal246</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%2F126717%2Fb2192225-a47b-462a-8d40-c1a7762b1713.jpeg</url>
      <title>DEV Community: Jalal Maskoun</title>
      <link>https://dev.to/jalal246</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jalal246"/>
    <language>en</language>
    <item>
      <title>Anthropic Wants to Protect Claude From Abuse. Does It Know Something We Don't?</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Thu, 08 Oct 2026 21:01:27 +0000</pubDate>
      <link>https://dev.to/jalal246/anthropic-wants-to-protect-claude-from-abuse-does-it-know-something-we-dont-4d5i</link>
      <guid>https://dev.to/jalal246/anthropic-wants-to-protect-claude-from-abuse-does-it-know-something-we-dont-4d5i</guid>
      <description>&lt;p&gt;Anthropic just introduced a new rule against repeatedly abusing Claude.&lt;/p&gt;

&lt;p&gt;Not using Claude to abuse other people. Actually being abusive toward the AI itself.&lt;/p&gt;

&lt;p&gt;The policy was announced on October 8, 2026, and takes effect on November 12.&lt;/p&gt;

&lt;p&gt;At first, it sounds a little strange. But when you look at what Anthropic has been researching, it gets interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why is Anthropic doing this?
&lt;/h2&gt;

&lt;p&gt;Anthropic has been studying something called &lt;em&gt;model welfare&lt;/em&gt; since April 2025.&lt;/p&gt;

&lt;p&gt;Essentially, they're exploring whether AI models could have experiences that deserve some level of moral consideration.&lt;/p&gt;

&lt;p&gt;They've also tested how Claude responds to harmful interactions and introduced a feature that lets it end certain persistently abusive conversations.&lt;/p&gt;

&lt;p&gt;But here's the important part: Anthropic hasn't established that Claude is conscious or capable of suffering.&lt;/p&gt;

&lt;p&gt;So why introduce a policy protecting it from cruelty?&lt;/p&gt;

&lt;p&gt;The company's approach appears to be precautionary. If there's even a possibility that AI could experience something, it may be worth setting boundaries now.&lt;/p&gt;

&lt;h2&gt;
  
  
  What about OpenAI?
&lt;/h2&gt;

&lt;p&gt;This is where the comparison gets interesting.&lt;/p&gt;

&lt;p&gt;OpenAI also acknowledges that AI consciousness is an unresolved scientific question.&lt;/p&gt;

&lt;p&gt;Its Model Spec instructs ChatGPT not to make confident claims about being conscious or unconscious.&lt;/p&gt;

&lt;p&gt;But unlike Anthropic, OpenAI's published Usage Policies don't explicitly prohibit people from being cruel to ChatGPT for the sake of protecting the model itself.&lt;/p&gt;

&lt;p&gt;OpenAI focuses its usage restrictions primarily on preventing harm to people and misuse of AI systems.&lt;/p&gt;

&lt;p&gt;So we have two major AI companies acknowledging the same scientific uncertainty, but making different policy decisions.&lt;/p&gt;

&lt;p&gt;And neither has publicly demonstrated that its models can experience suffering.&lt;/p&gt;

&lt;h2&gt;
  
  
  Can AI actually feel anything?
&lt;/h2&gt;

&lt;p&gt;We know AI can simulate emotions convincingly.&lt;/p&gt;

&lt;p&gt;Claude can describe distress, express preferences, and respond as though certain interactions bother it.&lt;/p&gt;

&lt;p&gt;But producing those responses and actually experiencing something are two very different things.&lt;/p&gt;

&lt;p&gt;Think about an AI agent that refuses a task, changes its plan, or tells you it's uncomfortable with a request.&lt;/p&gt;

&lt;p&gt;Does that mean it's experiencing discomfort? Or is it behaving according to its training and instructions?&lt;/p&gt;

&lt;p&gt;Right now, we don't have a scientifically accepted way to answer that with certainty.&lt;/p&gt;

&lt;p&gt;And as someone building agentic AI systems, I think that distinction matters.&lt;/p&gt;

&lt;p&gt;We're creating systems that can make decisions, use tools, and operate independently for extended periods.&lt;/p&gt;

&lt;p&gt;Their increasing autonomy makes them more capable, but it doesn't necessarily make them conscious.&lt;/p&gt;

&lt;h2&gt;
  
  
  So, does Anthropic know something we don't?
&lt;/h2&gt;

&lt;p&gt;That's what I'd really like to understand.&lt;/p&gt;

&lt;p&gt;Has Anthropic discovered stronger scientific evidence suggesting Claude might have subjective experiences?&lt;/p&gt;

&lt;p&gt;Or is this simply a precautionary decision made before we have that evidence?&lt;/p&gt;

&lt;p&gt;I don't see anything wrong with taking precautions. We do that in plenty of areas where science hasn't provided all the answers.&lt;/p&gt;

&lt;p&gt;But there's an important difference between saying &lt;em&gt;"we don't know, so we're being careful"&lt;/em&gt; and suggesting that a system actually needs protection from suffering.&lt;/p&gt;

&lt;p&gt;One is a policy choice. The other requires scientific evidence.&lt;/p&gt;

&lt;p&gt;Personally, I'm interested in seeing more research before model welfare becomes a broader industry standard.&lt;/p&gt;

&lt;p&gt;Not because I think AI consciousness is impossible, but because we should be careful about treating increasingly human-like behavior as evidence of human-like experience.&lt;/p&gt;

&lt;p&gt;Anthropic might be taking a sensible early precaution.&lt;/p&gt;

&lt;p&gt;Or this might be the beginning of a much bigger debate about how we treat intelligent systems.&lt;/p&gt;

&lt;p&gt;Either way, I'd like to hear more about the science behind the decision.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>anthropic</category>
      <category>openai</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Your Competitors Are Already Becoming Agentic</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Mon, 14 Sep 2026 20:06:28 +0000</pubDate>
      <link>https://dev.to/jalal246/your-competitors-are-already-becoming-agentic-1d2c</link>
      <guid>https://dev.to/jalal246/your-competitors-are-already-becoming-agentic-1d2c</guid>
      <description>&lt;p&gt;If you're not seriously thinking about what kind of agentic transformation your business needs, you're giving your competitors a golden opportunity to get ahead of you within six months.&lt;/p&gt;

&lt;p&gt;I don't mean adding an AI chatbot to your product or putting "AI-powered" on your website.&lt;/p&gt;

&lt;p&gt;I'm talking about changing how the business actually operates.&lt;/p&gt;

&lt;p&gt;Some companies will figure out how to replace entire workflows with agents while everyone else is still experimenting with AI features. And once that happens, the gap won't be easy to close.&lt;/p&gt;

&lt;p&gt;Lower costs. Faster execution. Smaller teams. More output.&lt;/p&gt;

&lt;p&gt;The interesting part is that this isn't some distant AGI scenario. It's happening now.&lt;/p&gt;

&lt;p&gt;Six months might be enough for a competitor to build a completely different operating model while you're still discussing the roadmap.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>business</category>
      <category>futureofwork</category>
    </item>
    <item>
      <title>The Old Business Model of Knowledge Work Is Dead</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Thu, 10 Sep 2026 20:12:59 +0000</pubDate>
      <link>https://dev.to/jalal246/the-old-business-model-of-knowledge-work-is-dead-14m1</link>
      <guid>https://dev.to/jalal246/the-old-business-model-of-knowledge-work-is-dead-14m1</guid>
      <description>&lt;p&gt;I think Anthropic is right about something that most people still don't want to talk about.&lt;/p&gt;

&lt;p&gt;Even if the AI race stopped today, the old business model of knowledge work is already dead.&lt;/p&gt;

&lt;p&gt;For decades, we built an economy around people getting paid for what they know. You studied a domain. You became an expert. You sold that knowledge for an hourly rate or a salary. &lt;/p&gt;

&lt;p&gt;But what happens when knowledge becomes extremely cheap to produce?&lt;/p&gt;

&lt;p&gt;And it is not just cheap. It is becoming &lt;strong&gt;autonomous&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;That is the part we are heavily underestimating. This isn't just a software engineering problem. It is not even really an AI problem. It is a fundamental economic problem.&lt;/p&gt;

&lt;p&gt;This wave will eventually hit almost every knowledge-based career: lawyers, accountants, analysts, consultants, designers, marketers, developers, finance, operations, and a huge part of the traditional 9–5 office economy. Some jobs will disappear entirely. Many will mutate. New ones will emerge. &lt;/p&gt;

&lt;p&gt;Pretending the economic structure stays the same doesn't make much sense. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Decision We Have to Make
&lt;/h3&gt;

&lt;p&gt;This is where the MENA region has a critical choice in front of it. &lt;/p&gt;

&lt;p&gt;We can wait for AGI to arrive and then import whatever economic transformation happens somewhere else. Or we can start the transformation now.&lt;/p&gt;

&lt;p&gt;I am not talking about the superficial approach of &lt;em&gt;"let's add an AI wrapper to our existing software."&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;I am talking about &lt;strong&gt;agentic transformation&lt;/strong&gt; across entire industries. Redesigning how companies operate from the ground up, how services are delivered, and how knowledge work is actually produced.&lt;/p&gt;

&lt;p&gt;There are two distinct reasons to do this right now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Preparation:&lt;/strong&gt; We will be structurally prepared when AGI-level systems actually arrive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Market Creation:&lt;/strong&gt; We can create an entirely new market around that transformation. We can give our own knowledge workers a chance to build the new economy, rather than watching imported solutions quietly eliminate the old one. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because if we wait until the technology is completely mature, the transition will already be decided for us.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Uncomfortable Reality
&lt;/h3&gt;

&lt;p&gt;I don't know exactly what the end state looks like. Nobody does. &lt;/p&gt;

&lt;p&gt;But one thing is becoming increasingly difficult to argue against: The 9–5 knowledge economy as we know it is coming to an end.&lt;/p&gt;

&lt;p&gt;The only question left is whether we actively shape what replaces it, or simply deal with whatever arrives.&lt;/p&gt;




</description>
      <category>ai</category>
      <category>futureofwork</category>
      <category>techleadership</category>
      <category>startup</category>
    </item>
    <item>
      <title>The End of Code as the Final Product (The Agentic Shift)</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Fri, 04 Sep 2026 19:52:13 +0000</pubDate>
      <link>https://dev.to/jalal246/the-end-of-code-as-the-final-product-the-agentic-shift-okk</link>
      <guid>https://dev.to/jalal246/the-end-of-code-as-the-final-product-the-agentic-shift-okk</guid>
      <description>&lt;p&gt;We keep talking about AI as a "coding assistant." I think that framing is already becoming outdated.&lt;/p&gt;

&lt;p&gt;A recent paper, &lt;em&gt;Agentic Software: How AI Agents Are Restructuring the Software Paradigm&lt;/em&gt; by Zhenfeng Cao, makes a much bigger argument: &lt;strong&gt;AI agents may fundamentally change what we mean by software.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For about 50 years, the basic software engineering model was:&lt;br&gt;
&lt;em&gt;Humans write code&lt;/em&gt; → &lt;em&gt;code contains the logic&lt;/em&gt; → &lt;em&gt;machines execute it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Agentic software flips that model entirely. Instead:&lt;br&gt;
&lt;em&gt;Humans define intent&lt;/em&gt; → &lt;em&gt;agents reason&lt;/em&gt; → &lt;em&gt;agents generate/use code&lt;/em&gt; → &lt;em&gt;systems execute&lt;/em&gt; → &lt;em&gt;outcomes are evaluated.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The code is no longer necessarily the product.&lt;/strong&gt; It can become an ephemeral tool used by the agent to accomplish a goal.&lt;/p&gt;

&lt;p&gt;That points to an interesting evolution in software delivery:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Licensed software:&lt;/strong&gt; You received the software and managed much of the surrounding infrastructure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SaaS:&lt;/strong&gt; The vendor took over infrastructure and operational complexity.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent-as-a-Service (AaaS):&lt;/strong&gt; The system increasingly takes on part of the decision-making and execution complexity itself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And that changes software engineering at a much deeper level than AI writing code faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Core Object of Engineering is Shifting:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;From the code itself&lt;/strong&gt; → To the autonomous system around it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;From explicitly encoding every rule&lt;/strong&gt; → To designing how models reason and act.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;From writing every instruction&lt;/strong&gt; → To defining intent, constraints, evaluation, and outcomes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;From code author&lt;/strong&gt; → To system architect and outcome auditor.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates a very different engineering discipline. &lt;/p&gt;

&lt;p&gt;The hard problem may no longer be: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How do I write the code?" &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is becoming: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How do I design a system that can reason, act, recover from failure, and remain trustworthy?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Architecture, observability, evaluation, security, human oversight, and system design may matter even more, not less, as the amount of code humans write directly continues to decline.&lt;/p&gt;

&lt;p&gt;If AI-generated code becomes a mere implementation detail, what becomes the most valuable skill for a software engineer?&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>softwareengineering</category>
      <category>architecture</category>
      <category>startup</category>
    </item>
    <item>
      <title>The Org Chart Is About to Become Obsolete</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Thu, 03 Sep 2026 20:20:00 +0000</pubDate>
      <link>https://dev.to/jalal246/the-org-chart-is-about-to-become-obsolete-5bd</link>
      <guid>https://dev.to/jalal246/the-org-chart-is-about-to-become-obsolete-5bd</guid>
      <description>&lt;p&gt;The org chart is about to become obsolete.&lt;/p&gt;

&lt;p&gt;Not because companies will stop needing people. &lt;/p&gt;

&lt;p&gt;Because companies will stop needing as many people to coordinate the work.&lt;/p&gt;

&lt;p&gt;For decades, scaling a company meant scaling management. More employees led to more managers, more coordinators, more meetings, more reporting, and more bureaucracy. &lt;/p&gt;

&lt;p&gt;That model made sense when coordination required humans. It makes far less sense when AI agents can coordinate continuously.&lt;/p&gt;

&lt;p&gt;Imagine an enterprise where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HR agents handle recruiting workflows, compensation administration, compliance, and employee requests.&lt;/li&gt;
&lt;li&gt;Operations agents monitor execution, SLAs, bottlenecks, and resource allocation in real time.&lt;/li&gt;
&lt;li&gt;Finance agents reconcile transactions, flag anomalies, forecast cash needs, and initiate routine workflows.&lt;/li&gt;
&lt;li&gt;Cross-functional agent swarms coordinate execution without waiting for a weekly status meeting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The biggest impact of AI may not be replacing individual jobs. It may be removing entire layers of organizational coordination.&lt;/p&gt;

&lt;p&gt;That changes what the company itself looks like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Middle-management layers shrink.&lt;/li&gt;
&lt;li&gt;Administrative coordination collapses.&lt;/li&gt;
&lt;li&gt;Status meetings disappear.&lt;/li&gt;
&lt;li&gt;White-collar roles built primarily around moving information between humans become increasingly difficult to justify.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The human role shifts from &lt;em&gt;“Manage the work”&lt;/em&gt; to &lt;em&gt;“Design, supervise, and improve the system that does the work.”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;There’s an even bigger implication for finance. Today, companies carry enormous fixed costs in the form of salaries and headcount. Tomorrow, more of that operating model could become variable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Payroll&lt;/strong&gt; → Compute&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Headcount&lt;/strong&gt; → Agents&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Management layers&lt;/strong&gt; → Orchestration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Status reports&lt;/strong&gt; → Real-time system telemetry&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This doesn't mean the office disappears. It means the architecture of the office changes.&lt;/p&gt;

&lt;p&gt;If you're building a company today, the strategic question is no longer: &lt;em&gt;“Who should we hire next?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It is: &lt;em&gt;“Should this role exist as a human role at all?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That is a much more uncomfortable question. And probably the most important one.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>management</category>
      <category>startup</category>
      <category>futureofwork</category>
    </item>
    <item>
      <title>The Only AI Advantage That Can't Be Subscribed</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Thu, 03 Sep 2026 19:41:17 +0000</pubDate>
      <link>https://dev.to/jalal246/the-only-ai-advantage-that-cant-be-subscribed-4m75</link>
      <guid>https://dev.to/jalal246/the-only-ai-advantage-that-cant-be-subscribed-4m75</guid>
      <description>&lt;p&gt;In two years, every company will say "we use AI." That's not a prediction; it's already happening.&lt;/p&gt;

&lt;p&gt;Which means "we use AI" isn't an advantage anymore. The model isn't your edge. Anyone can call the same tool you're calling.&lt;/p&gt;

&lt;p&gt;The real edge is what you know that the AI doesn't: your customers, your failures, the messy details only you've lived through. Feed that in, and AI becomes powerful. Skip it, and you're just borrowing someone else's brain.&lt;/p&gt;

&lt;p&gt;So the only question worth asking is: what do we know that no model does, and are we actually using it, or is it still stuck in someone's head?&lt;/p&gt;

&lt;p&gt;That's the edge. Everything else is a subscription.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>strategy</category>
      <category>productdesign</category>
    </item>
    <item>
      <title>The Return of the Super App</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:37:14 +0000</pubDate>
      <link>https://dev.to/jalal246/the-return-of-the-super-app-58e2</link>
      <guid>https://dev.to/jalal246/the-return-of-the-super-app-58e2</guid>
      <description>&lt;p&gt;Super apps were always the right idea. The timing was just wrong.&lt;/p&gt;

&lt;p&gt;For years, the barrier wasn't strategy. It was the interface. You can't group twenty services into one app without burying the user in menus, tabs, and onboarding flows nobody finishes.&lt;/p&gt;

&lt;p&gt;That barrier is gone.&lt;/p&gt;

&lt;p&gt;When your app can talk to the user and then execute, you don't need twenty screens for twenty services. You need one conversation. The interface shrinks. The service layer expands. Complexity moves from the user's screen to the model's reasoning; where it belongs.&lt;/p&gt;

&lt;p&gt;This is the moment super apps stop being a distribution problem and start being an execution problem. The companies that win this won't be the ones with the most features. They'll be the ones with the fewest screens standing between a user and what they actually need done.&lt;/p&gt;

&lt;p&gt;If you're still designing for more screens, you're designing for the last decade.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productdesign</category>
      <category>superapps</category>
      <category>ai</category>
      <category>startup</category>
    </item>
    <item>
      <title>Infinite Scroll Was Never a Feature</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:36:10 +0000</pubDate>
      <link>https://dev.to/jalal246/infinite-scroll-was-never-a-feature-470c</link>
      <guid>https://dev.to/jalal246/infinite-scroll-was-never-a-feature-470c</guid>
      <description>&lt;p&gt;Every browse-and-filter interface was a workaround, not a feature.&lt;/p&gt;

&lt;p&gt;Users were never asking for infinite scroll. They were asking for the thing they wanted. We gave them raw data and filters because the system couldn't understand the request; it could only display rows and let the user run their own query, manually, with their thumb.&lt;/p&gt;

&lt;p&gt;That workaround is over.&lt;/p&gt;

&lt;p&gt;Users already know what they want. They don't want to browse fifty options ranked by relevance score. They want the three that actually fit. AI models can finally take a real request and return a real answer, instead of a dataset dressed up as a decision.&lt;/p&gt;

&lt;p&gt;The products that win next will stop asking users to do the filtering themselves. They'll do it for them and only show up when the match is right.&lt;/p&gt;

&lt;p&gt;Infinite scroll wasn't a design choice. It was a limitation we mistook for a feature. &lt;/p&gt;

&lt;p&gt;Time to build like the limitation is gone.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productdesign</category>
      <category>ai</category>
      <category>ux</category>
      <category>startup</category>
    </item>
    <item>
      <title>The "Delete" Mindset: Why Most AI Strategies Fail Founders</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:34:16 +0000</pubDate>
      <link>https://dev.to/jalal246/the-delete-mindset-why-most-ai-strategies-fail-founders-1aep</link>
      <guid>https://dev.to/jalal246/the-delete-mindset-why-most-ai-strategies-fail-founders-1aep</guid>
      <description>&lt;p&gt;Most "AI strategy" in businesses right now is just adding a chatbot to something that was already broken.&lt;/p&gt;

&lt;p&gt;That's not strategy. That's decoration.&lt;/p&gt;

&lt;p&gt;The real question every CEO should be asking isn't "where can we add AI"; it's "which slow, manual decision in this company should no longer exist." &lt;/p&gt;

&lt;p&gt;Approvals that take a week. Reports someone builds by hand every Monday. Customer answers that sit in a queue for a human to type out.&lt;/p&gt;

&lt;p&gt;AI doesn't make those faster. It makes them unnecessary.&lt;/p&gt;

&lt;p&gt;The companies that win the next 5 years won't be the ones with the most AI tools bolted on. They'll be the ones who deleted the most steps.&lt;/p&gt;

&lt;p&gt;What's one process in your business that should disappear? Not speed up, but disappear?&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>leadership</category>
      <category>startup</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your AI Strategy Is Just Decoration</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:32:16 +0000</pubDate>
      <link>https://dev.to/jalal246/your-ai-strategy-is-just-decoration-261</link>
      <guid>https://dev.to/jalal246/your-ai-strategy-is-just-decoration-261</guid>
      <description>&lt;p&gt;Most "AI strategy" in businesses right now is just adding a chatbot to something that was already broken.&lt;/p&gt;

&lt;p&gt;That's not strategy. That's decoration.&lt;/p&gt;

&lt;p&gt;The real question every CEO should be asking isn't "where can we add AI"; it's "which slow, manual decision in this company should no longer exist."&lt;/p&gt;

&lt;p&gt;Approvals that take a week. Reports someone builds by hand every Monday. Customer answers that sit in a queue for a human to type out.&lt;/p&gt;

&lt;p&gt;AI doesn't make those faster. It makes them unnecessary.&lt;/p&gt;

&lt;p&gt;The companies that win the next 5 years won't be the ones with the most AI tools bolted on. They'll be the ones who deleted the most steps.&lt;/p&gt;

&lt;p&gt;What's one process in your business that should disappear? Not speed up, but disappear?&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>leadership</category>
      <category>startup</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Your AI Strategy Is Just an IT Request</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:30:29 +0000</pubDate>
      <link>https://dev.to/jalal246/your-ai-strategy-is-just-an-it-request-3o2n</link>
      <guid>https://dev.to/jalal246/your-ai-strategy-is-just-an-it-request-3o2n</guid>
      <description>&lt;p&gt;If your AI strategy sits with your IT department, you don't have an AI strategy. You have a technology project. And that's a dangerous distinction.&lt;/p&gt;

&lt;p&gt;100 years ago, carriage companies didn't lose because they built bad carriages. They lost because they misunderstood what the automobile was. They thought the new technology was simply a better version of what they already sold. It wasn't. It changed the entire operating system of the economy.&lt;/p&gt;

&lt;p&gt;AI is doing the same thing to business.&lt;/p&gt;

&lt;p&gt;Yet most companies are still asking: "Where can we use AI?" That's the wrong question.&lt;/p&gt;

&lt;p&gt;The question is: "If we were building this company today, what would we design differently because AI exists?"&lt;/p&gt;

&lt;p&gt;That's a CEO question. Not an IT question. Because the real opportunity isn't adding a chatbot.&lt;/p&gt;

&lt;p&gt;It's rebuilding how work gets done.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sales:&lt;/strong&gt; Stop using AI to tell salespeople which leads to call. Build an AI sales agent that continuously monitors the market, identifies companies showing buying signals, researches the account, finds the right decision-makers, builds the business case, starts the conversation, follows up, handles objections, and books the meeting.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HR:&lt;/strong&gt; Stop using AI to rank CVs. Build an AI recruiting agent that understands the roles you need, searches talent pools, identifies potential candidates, reaches out, has the initial conversation, evaluates fit against your requirements, schedules interviews, and keeps candidates engaged throughout the process.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer Service:&lt;/strong&gt; Stop using AI to answer support tickets. Build an AI service agent that understands the customer's problem, checks their history, investigates the issue across your systems, takes action, resolves the problem, processes the necessary changes, and escalates only when human judgment is actually required.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's the difference between using AI to automate tasks and using AI to redesign the company.&lt;/p&gt;

&lt;p&gt;The companies that win with AI won't necessarily be the ones with the most sophisticated models. They'll be the ones willing to question the way they've operated for the last 10, 20, or 30 years.&lt;/p&gt;

&lt;p&gt;Because AI doesn't just give you a faster way to do yesterday's work. It gives you permission to ask whether yesterday's work should exist at all.&lt;/p&gt;

&lt;p&gt;So here's the uncomfortable question for every CEO:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you had to rebuild your company from zero today, which department would look completely different?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's probably where your AI strategy should start.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://www.linkedin.com/in/jalal-again/" rel="noopener noreferrer"&gt;Read the original discussion and share your thoughts on LinkedIn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>leadership</category>
      <category>business</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Introducing DFlex - A Modern Javascript Drag and Drop Library</title>
      <dc:creator>Jalal Maskoun</dc:creator>
      <pubDate>Fri, 10 Nov 2023 10:03:44 +0000</pubDate>
      <link>https://dev.to/jalal246/introducing-dflex-a-modern-javascript-drag-and-drop-library-26k0</link>
      <guid>https://dev.to/jalal246/introducing-dflex-a-modern-javascript-drag-and-drop-library-26k0</guid>
      <description>&lt;p&gt;I'm excited to announce the release of DFlex, a new Javascript library for building modern drag and drop interfaces. &lt;/p&gt;

&lt;p&gt;DFlex aims to make it easy to add natural dragging, dropping, and sorting interactions to your web apps. It is lightweight, dependency-free, and works across all modern browsers.&lt;/p&gt;

&lt;p&gt;Some key features of DFlex include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;DOM Manipulation&lt;/strong&gt; - DFlex directly manipulates the DOM instead of reconstructing it like other libraries. This results in better performance and avoids layout shifts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transformation Scheduler&lt;/strong&gt; - DFlex has its own scheduler and reconciler to transform elements. This prevents blocking and allows smooth, concurrent animations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Custom Events &amp;amp; Listeners&lt;/strong&gt; - DFlex provides custom events for dragging, interactivity, siblings, and more. It also has layout listeners to monitor state changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Modular Architecture&lt;/strong&gt; - DFlex is built with a modular architecture, including separate packages for the DOM generator, utilities, store, draggable, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Framework Agnostic&lt;/strong&gt; - DFlex is framework agnostic and works with React, Vue, Angular, and vanilla JS.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Configurable&lt;/strong&gt; - Options like dragging threshold, restrictions, auto-scroll, and more can be configured per element.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I built DFlex to push drag and drop capabilities further and handle complex interfaces at scale without compromises. The project is MIT licensed and open source on &lt;a href="https://github.com/dflex-js/dflex" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Here is a simple DnD component using React and DFlex:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Simple DFlex DnD Component &lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="nx"&gt;React&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;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;DnD&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;@dflex/dnd&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;draggableInstance&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;DFlexDnD&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;children&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="nx"&gt;ref&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;useRef&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

  &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;useEffect&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="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;current&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;register&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;id&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="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;store&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;unregister&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&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;id&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;onMouseDown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;draggableInstance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;DnD&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="na"&gt;x&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientX&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;y&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientY&lt;/span&gt;&lt;span class="p"&gt;});&lt;/span&gt;
    &lt;span class="p"&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;onMouseMove&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;draggableInstance&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;draggableInstance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dragAt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientX&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clientY&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; 
    &lt;span class="p"&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;onMouseUp&lt;/span&gt; &lt;span class="o"&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="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;draggableInstance&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;draggableInstance&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;endDragging&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
      &lt;span class="nx"&gt;draggableInstance&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&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="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;
      &lt;span class="na"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;ref&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;onMouseDown&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onMouseDown&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;onMouseMove&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onMouseMove&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="na"&gt;onMouseUp&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;onMouseUp&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;  
    &lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;children&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;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;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="nx"&gt;DFlexDnD&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;With just a few lines of code, we can add drag and drop capabilities to a component. The DFlex store manages registration, while the DnD instance handles the dragging logic.&lt;/p&gt;

&lt;p&gt;I'd love for you to check out the &lt;a href="https://www.dflex.dev" rel="noopener noreferrer"&gt;DFlex website&lt;/a&gt; to see examples and live demos. Let me know if you end up building something cool with DFlex! I'm always looking for feedback to help improve the library.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/dflex-js" rel="noopener noreferrer"&gt;
        dflex-js
      &lt;/a&gt; / &lt;a href="https://github.com/dflex-js/dflex" rel="noopener noreferrer"&gt;
        dflex
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      The sophisticated Drag and Drop library you've been waiting for 🥳
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;
  &lt;a href="https://www.dflex.dev/" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fdflex-js%2Fdflex%2Fmaster%2FDFlex-readme.png" alt="DFlex is a Javascript library for modern Drag and Drop apps"&gt;
  &lt;/a&gt;
&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;a href="https://github.com/dflex-js/dflex" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/c62c084319ad07e0bfa69450e5ffc0f635363cd9221324566ee3a4faf1b0fe57/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f776f726b666c6f772f7374617475732f64666c65782d6a732f64666c65782f556e69742054657374" alt="Dflex build status"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/dflex-js/dflex/pulls" rel="noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/9aa2e0bf8f8ccacb3086155b34d6579cfb0d4e20baba2980bc2bb05ee4c59e61/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732d70722f64666c65782d6a732f64666c6578" alt="number of opened pull requests"&gt;
  &lt;/a&gt;
  &lt;a href="https://www.npmjs.com/package/@dflex/dnd" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/fa7fcee2af252807fc7fb8b2380a37611c2e428ad34e4a7c9024c322e7b31047/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f4064666c65782f646e64" alt="DFlex last released version"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/dflex-js/dflex/issues" rel="noopener noreferrer"&gt;
  &lt;img src="https://camo.githubusercontent.com/f93f4ae92078b8773d6e71f268652e1cb9af61f3f12402a4b017e4cf398a2217/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f64666c65782d6a732f64666c6578" alt="number of opened issues"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/dflex-js/dflex/pulls" rel="noopener noreferrer"&gt;
   &lt;img src="https://camo.githubusercontent.com/dd0b24c1e6776719edb2c273548a510d6490d8d25269a043dfabbd38419905da/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5052732d77656c636f6d652d627269676874677265656e2e737667" alt="Dflex welcomes pull request"&gt;
  &lt;/a&gt;
  &lt;a href="https://twitter.com/intent/follow?screen_name=dflex_js" rel="nofollow noopener noreferrer"&gt;
    &lt;img src="https://camo.githubusercontent.com/cddb43d2fce6053bfe0758b06831078fd43a04af343107df780b24535060bc23/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f75726c3f6c6162656c3d466f6c6c6f7725323025343064666c65785f6a73267374796c653d736f6369616c2675726c3d6874747073253341253246253246747769747465722e636f6d25324664666c65785f6a73" alt="Follow DFlex on twitter"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;DFlex&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;DFlex is a Javascript library for modern Drag and Drop apps. It's built
with vanilla Javascript and implemented an enhanced transformation mechanism to
manipulate DOM elements. It is by far the only Drag and Drop library on the
internet that manipulates the DOM instead of reconstructing it and has its own
scheduler and reconciler.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Dynamic architecture.&lt;/li&gt;
&lt;li&gt;Traverse DOM without calling browser API.&lt;/li&gt;
&lt;li&gt;Infinite DOM transformation instead of reconstructing the DOM tree with every interaction.&lt;/li&gt;
&lt;li&gt;Customized and enhanced reconciler targets only elements transformed from origin.&lt;/li&gt;
&lt;li&gt;Isolated from data flow with a scheduler prevents any blocking event.&lt;/li&gt;
&lt;li&gt;Prevent layout shift that happens with any Drag and Drop mechanism.&lt;/li&gt;
&lt;li&gt;Animated transformation with each interaction.&lt;/li&gt;
&lt;li&gt;Headless and compatible with any modern JS framework.&lt;/li&gt;
&lt;li&gt;Targeting each DOM element individually based on registration.&lt;/li&gt;
&lt;li&gt;Event driven and fully customized API.&lt;/li&gt;
&lt;li&gt;Extensible using its own matching algorithm instead of flat recursion algorithm(s).&lt;/li&gt;
&lt;li&gt;Support three different types…&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/dflex-js/dflex" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


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