<?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: Saiful Siam</title>
    <description>The latest articles on DEV Community by Saiful Siam (@motionmind2007).</description>
    <link>https://dev.to/motionmind2007</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%2F3979365%2F9abed9cf-00b7-4008-8a9d-28e92bca4283.jpeg</url>
      <title>DEV Community: Saiful Siam</title>
      <link>https://dev.to/motionmind2007</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/motionmind2007"/>
    <language>en</language>
    <item>
      <title>Motion Mind Is Now Motion Mind X</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Sun, 11 Oct 2026 12:12:14 +0000</pubDate>
      <link>https://dev.to/motionmind2007/motion-mind-is-now-motion-mind-x-5deb</link>
      <guid>https://dev.to/motionmind2007/motion-mind-is-now-motion-mind-x-5deb</guid>
      <description>&lt;h2&gt;
  
  
  Motion Mind Is Now Motion Mind X
&lt;/h2&gt;

&lt;p&gt;Today, I'm officially announcing a name change for my brand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Motion Mind is now Motion Mind X.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🌐 Official website: &lt;a href="https://motionmindx.com" rel="noopener noreferrer"&gt;https://motionmindx.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Did I Change the Name?
&lt;/h3&gt;

&lt;p&gt;When I first started programming, I chose the name &lt;strong&gt;Motion Mind&lt;/strong&gt; for my own brand. At that time, I didn't know that the name was already being used elsewhere.&lt;/p&gt;

&lt;p&gt;Over time, I introduced my projects under this name and continued building my identity around it. Projects like LeveloJS and Kivex became part of the Motion Mind ecosystem.&lt;/p&gt;

&lt;p&gt;So, changing the entire name wasn't something I wanted to do. I wanted a name that felt more unique while keeping the identity I had already built.&lt;/p&gt;

&lt;p&gt;That's why I decided to change the name to &lt;strong&gt;Motion Mind X&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I haven't come across another brand using this exact name so far, and I believe it gives my brand a more distinctive identity without losing its connection to the original Motion Mind.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Changes Now?
&lt;/h3&gt;

&lt;p&gt;The official brand name is now &lt;strong&gt;Motion Mind X&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;However, my nickname, &lt;strong&gt;MotionMind2007&lt;/strong&gt;, which I've used across different platforms, will remain unchanged.&lt;/p&gt;

&lt;p&gt;My existing projects and the identity I've built around Motion Mind will continue under the new brand name.&lt;/p&gt;

&lt;p&gt;From now on, In-sha-Allah, you'll find my projects under Motion Mind X.&lt;/p&gt;

&lt;h3&gt;
  
  
  A New Name, The Same Journey
&lt;/h3&gt;

&lt;p&gt;This isn't the beginning of a completely new brand. It's the next step for something I've already been building.&lt;/p&gt;

&lt;p&gt;I'm grateful to everyone who has followed my journey so far, and I hope you'll continue being part of it.&lt;/p&gt;

&lt;p&gt;Thank you for being here.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Welcome to Motion Mind X.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;🌐 &lt;a href="https://motionmindx.com" rel="noopener noreferrer"&gt;https://motionmindx.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
      <category>career</category>
    </item>
    <item>
      <title>LeveloJS Went Quiet. We Were Rebuilding the Foundation.</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Fri, 25 Sep 2026 19:39:36 +0000</pubDate>
      <link>https://dev.to/motionmind2007/levelojs-went-quiet-we-were-rebuilding-the-foundation-4812</link>
      <guid>https://dev.to/motionmind2007/levelojs-went-quiet-we-were-rebuilding-the-foundation-4812</guid>
      <description>&lt;h2&gt;
  
  
  LeveloJS Went Quiet. We Were Rebuilding the Foundation.
&lt;/h2&gt;

&lt;p&gt;It has been almost a month since we shared a major update about LeveloJS.&lt;/p&gt;

&lt;p&gt;If you have been following the project, you may have noticed that we have been unusually quiet.&lt;/p&gt;

&lt;p&gt;LeveloJS has not stopped.&lt;/p&gt;

&lt;p&gt;Actually, quite the opposite.&lt;/p&gt;

&lt;p&gt;For the last month, we have been working on a much bigger change than another framework feature or API improvement.&lt;/p&gt;

&lt;p&gt;We are rethinking the architecture of LeveloJS with one long-term goal in mind:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can LeveloJS become a true multi-platform framework?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And that question has changed a lot of things.&lt;/p&gt;

&lt;h2&gt;
  
  
  A New Collaboration
&lt;/h2&gt;

&lt;p&gt;This work is now being done by two developers: me and &lt;strong&gt;Joseph&lt;/strong&gt;, a Nigerian developer with more than 10 years of programming experience.&lt;/p&gt;

&lt;p&gt;Joseph is not new to building software.&lt;/p&gt;

&lt;p&gt;We previously worked together on &lt;strong&gt;Kivex&lt;/strong&gt;, an icon library, where I had the opportunity to review and work with his code. That experience also gave me the opportunity to learn from the way a developer with many years of experience approaches architecture and implementation.&lt;/p&gt;

&lt;p&gt;I have been programming for a little over a year.&lt;/p&gt;

&lt;p&gt;Joseph has been programming for more than a decade.&lt;/p&gt;

&lt;p&gt;That difference in experience is one of the reasons this collaboration has been valuable for me personally as well.&lt;/p&gt;

&lt;p&gt;Now we are bringing that collaboration into LeveloJS.&lt;/p&gt;

&lt;p&gt;The objective is simple to describe, even though the engineering behind it is not:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We want to take LeveloJS beyond the browser.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  But Why Multi-platform?
&lt;/h2&gt;

&lt;p&gt;This is probably the biggest question.&lt;/p&gt;

&lt;p&gt;Why not simply keep building LeveloJS as a web framework?&lt;/p&gt;

&lt;p&gt;The web already has extremely strong frameworks.&lt;/p&gt;

&lt;p&gt;React, Next.js, Vue, Svelte, SolidJS, and many others have already solved many of the problems developers face when building modern web applications.&lt;/p&gt;

&lt;p&gt;We looked at that ecosystem and asked ourselves something:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If we build another framework that mainly tries to compete with those frameworks, what new thing are we actually giving to the next generation of developers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We don't want LeveloJS to exist simply as another React-like, Solid-like, or Svelte-like framework.&lt;/p&gt;

&lt;p&gt;Those projects are already doing excellent work.&lt;/p&gt;

&lt;p&gt;Instead, we want to explore a different direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Build on What Already Exists
&lt;/h2&gt;

&lt;p&gt;Programming history has many examples where progress did not necessarily come from replacing an existing idea with another version of the same thing.&lt;/p&gt;

&lt;p&gt;One well-known example is the evolution from C toward C++.&lt;/p&gt;

&lt;p&gt;Bjarne Stroustrup did not simply try to create "another C."&lt;/p&gt;

&lt;p&gt;C++ extended the ideas of C and introduced a different programming model on top of them.&lt;/p&gt;

&lt;p&gt;Another modern example is Next.js.&lt;/p&gt;

&lt;p&gt;Next.js did not attempt to replace React with an unrelated rendering model. Instead, it built on React and expanded what developers could build around it.&lt;/p&gt;

&lt;p&gt;These examples represent an idea that we find interesting:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sometimes the next step is not to replace the existing foundation. It is to expand where that foundation can go.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the philosophy we want to apply to LeveloJS.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"How can we build another web framework?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;we started asking:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"What can we build if LeveloJS is not limited to the web?"&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And that question eventually led us to multi-platform development.&lt;/p&gt;




&lt;h2&gt;
  
  
  Our Goal: Write Once, Run Anywhere
&lt;/h2&gt;

&lt;p&gt;The idea behind our current research is simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write LeveloJS code once and target multiple platforms.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our long-term target includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android&lt;/li&gt;
&lt;li&gt;iOS&lt;/li&gt;
&lt;li&gt;Windows&lt;/li&gt;
&lt;li&gt;macOS&lt;/li&gt;
&lt;li&gt;Linux&lt;/li&gt;
&lt;li&gt;Web&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We are inspired by the general idea behind "write once, run anywhere" development.&lt;/p&gt;

&lt;p&gt;But we are not claiming that LeveloJS has already achieved this.&lt;/p&gt;

&lt;p&gt;It hasn't.&lt;/p&gt;

&lt;p&gt;We are researching how far it is actually possible to take the idea.&lt;/p&gt;

&lt;p&gt;There are many difficult technical problems ahead.&lt;/p&gt;

&lt;p&gt;And we don't know yet how many of our current ideas will survive the research.&lt;/p&gt;

&lt;p&gt;But we believe the problem is worth exploring.&lt;/p&gt;




&lt;h2&gt;
  
  
  But Doesn't React Native Already Do This?
&lt;/h2&gt;

&lt;p&gt;Yes.&lt;/p&gt;

&lt;p&gt;React Native already provides a way to build applications for platforms such as Android and iOS using React and JavaScript.&lt;/p&gt;

&lt;p&gt;So why are we researching another approach?&lt;/p&gt;

&lt;p&gt;The answer is that our goals are different.&lt;/p&gt;

&lt;p&gt;One thing we find interesting about React Native is that developers work with platform-oriented components such as:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;View&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Text&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;TouchableOpacity&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For a web developer moving into React Native, this means learning a new set of components and a different UI vocabulary.&lt;/p&gt;

&lt;p&gt;We are exploring whether LeveloJS can take a different approach.&lt;/p&gt;

&lt;p&gt;Instead of asking a web developer to abandon the familiar JSX elements they already know, we are researching whether the &lt;strong&gt;same JSX development model and familiar web-style elements&lt;/strong&gt; can be used as the input for a multi-platform rendering architecture.&lt;/p&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We want to explore how far the existing JavaScript + JSX experience can travel.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is still research.&lt;/p&gt;

&lt;p&gt;We are not saying that every browser element can magically become a native component on every operating system.&lt;/p&gt;

&lt;p&gt;The challenge is precisely figuring out how such a system could work.&lt;/p&gt;




&lt;h2&gt;
  
  
  We Are Thinking Beyond Android and iOS
&lt;/h2&gt;

&lt;p&gt;Another reason we are approaching this problem differently is platform coverage.&lt;/p&gt;

&lt;p&gt;React Native's core ecosystem primarily targets Android and iOS, while projects such as React Native for Windows provide additional platform support with platform-specific architecture.&lt;/p&gt;

&lt;p&gt;That is useful, but it also demonstrates how difficult true multi-platform rendering actually is.&lt;/p&gt;

&lt;p&gt;Our research is aimed at a broader question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can one LeveloJS architecture be designed to target fundamentally different operating systems without forcing developers to learn a completely separate application architecture for each one?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That means thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mobile&lt;/li&gt;
&lt;li&gt;desktop&lt;/li&gt;
&lt;li&gt;web&lt;/li&gt;
&lt;li&gt;operating-system differences&lt;/li&gt;
&lt;li&gt;rendering&lt;/li&gt;
&lt;li&gt;platform APIs&lt;/li&gt;
&lt;li&gt;performance&lt;/li&gt;
&lt;li&gt;type safety&lt;/li&gt;
&lt;li&gt;security&lt;/li&gt;
&lt;li&gt;and developer experience&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is much larger than simply adding another renderer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rethinking the LeveloJS Architecture
&lt;/h2&gt;

&lt;p&gt;Once we decided that multi-platform was the direction, we realized that the old browser-oriented architecture could not simply remain unchanged.&lt;/p&gt;

&lt;p&gt;The original LeveloJS architecture was designed primarily around the web.&lt;/p&gt;

&lt;p&gt;That made sense.&lt;/p&gt;

&lt;p&gt;But a multi-platform framework needs a foundation that is not tightly coupled to one platform's rendering model.&lt;/p&gt;

&lt;p&gt;So we started redesigning parts of the architecture.&lt;/p&gt;

&lt;p&gt;The JSX tree is now being treated much more deliberately.&lt;/p&gt;

&lt;p&gt;We are experimenting with representing individual elements and their relationships in a way that gives the renderer greater control over what each part of the application actually represents.&lt;/p&gt;

&lt;p&gt;This is one of the reasons the architecture is becoming more complex—and potentially more capable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Type Safety Is Becoming More Important
&lt;/h2&gt;

&lt;p&gt;Another major direction of the new architecture is type safety.&lt;/p&gt;

&lt;p&gt;We are trying to make the system as type-safe as realistically possible.&lt;/p&gt;

&lt;p&gt;For us, this isn't just about getting better autocomplete.&lt;/p&gt;

&lt;p&gt;When the same application is expected to target multiple environments, the underlying representation becomes much more important.&lt;/p&gt;

&lt;p&gt;We want the architecture to make invalid states harder to create and the relationship between the application structure and rendering system more explicit.&lt;/p&gt;

&lt;p&gt;There is still work to do here.&lt;/p&gt;

&lt;p&gt;But type safety is now part of the architectural direction rather than something we want to add later.&lt;/p&gt;




&lt;h2&gt;
  
  
  Security Is Also Part of the Redesign
&lt;/h2&gt;

&lt;p&gt;The new architecture is also being designed with stronger security considerations.&lt;/p&gt;

&lt;p&gt;Because we are treating the JSX tree and individual elements more explicitly, we have more control over how those pieces are represented and processed.&lt;/p&gt;

&lt;p&gt;This gives us a better foundation for introducing stronger boundaries and safer behavior.&lt;/p&gt;

&lt;p&gt;We are still researching and implementing these changes, so we don't want to make exaggerated claims about security.&lt;/p&gt;

&lt;p&gt;What we can say is:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security is being considered as part of the architecture itself, rather than as an afterthought.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Rust?
&lt;/h2&gt;

&lt;p&gt;One of the more interesting things we are currently researching is the renderer.&lt;/p&gt;

&lt;p&gt;We are experimenting with using &lt;strong&gt;Rust&lt;/strong&gt; in the rendering architecture.&lt;/p&gt;

&lt;p&gt;The reason is straightforward.&lt;/p&gt;

&lt;p&gt;When you start targeting multiple platforms, performance and low-level control become increasingly important.&lt;/p&gt;

&lt;p&gt;A browser framework can rely heavily on browser APIs and the browser's rendering environment.&lt;/p&gt;

&lt;p&gt;A multi-platform framework has to think beyond that.&lt;/p&gt;

&lt;p&gt;We want a rendering layer that can potentially provide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;high performance&lt;/li&gt;
&lt;li&gt;predictable behavior&lt;/li&gt;
&lt;li&gt;stronger type guarantees&lt;/li&gt;
&lt;li&gt;low-level control&lt;/li&gt;
&lt;li&gt;and a foundation suitable for multiple platforms&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rust is one of the technologies we are exploring to help achieve that.&lt;/p&gt;

&lt;p&gt;This is still experimental.&lt;/p&gt;

&lt;p&gt;We are not announcing a final renderer architecture yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  There Is One Part We Are Keeping Secret
&lt;/h2&gt;

&lt;p&gt;There is one particularly important part of our multi-platform architecture that we are intentionally not revealing yet.&lt;/p&gt;

&lt;p&gt;It concerns &lt;strong&gt;how the rendering system will actually work across different platforms.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We already have a direction and ongoing research around it.&lt;/p&gt;

&lt;p&gt;But we want to reveal that part together with the relevant LeveloJS feature release.&lt;/p&gt;

&lt;p&gt;So for now, we will simply say:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The renderer is being designed around the multi-platform goal from the beginning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When the implementation is ready, we will explain the architecture publicly.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why We Chose This Direction
&lt;/h2&gt;

&lt;p&gt;At the end of the day, this isn't about trying to prove that LeveloJS is better than React, Svelte, SolidJS, Vue, or any other framework.&lt;/p&gt;

&lt;p&gt;Those frameworks already have strong ecosystems and solve real problems.&lt;/p&gt;

&lt;p&gt;We simply don't want to spend our time rebuilding something that already exists in many forms.&lt;/p&gt;

&lt;p&gt;We want to explore a problem that is different.&lt;/p&gt;

&lt;p&gt;If a developer already knows JavaScript and JSX, could they use that knowledge to build software for multiple platforms?&lt;/p&gt;

&lt;p&gt;Could the same development philosophy extend from a website to a desktop application, mobile application, and other environments?&lt;/p&gt;

&lt;p&gt;Could we reduce the amount of platform-specific knowledge required to get started?&lt;/p&gt;

&lt;p&gt;Those are the questions behind LeveloJS Multi-platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  What We Want for the Next Generation of Developers
&lt;/h2&gt;

&lt;p&gt;We don't believe developers should stop learning native technologies.&lt;/p&gt;

&lt;p&gt;Learning Kotlin, Swift, Flutter, Rust, platform APIs, or other technologies can be extremely valuable.&lt;/p&gt;

&lt;p&gt;But we also believe that every platform should not necessarily require a developer to start from zero.&lt;/p&gt;

&lt;p&gt;A web developer already knows how to think in JavaScript.&lt;/p&gt;

&lt;p&gt;They already understand components, state, events, JSX, and application logic.&lt;/p&gt;

&lt;p&gt;If LeveloJS can preserve more of that knowledge while allowing developers to reach other platforms, we think that could make application development more accessible.&lt;/p&gt;

&lt;p&gt;That is the opportunity we see.&lt;/p&gt;

&lt;p&gt;Not replacing native development.&lt;/p&gt;

&lt;p&gt;Not replacing existing frameworks.&lt;/p&gt;

&lt;p&gt;But creating another path.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where We Are Now
&lt;/h2&gt;

&lt;p&gt;At the moment, LeveloJS Multi-platform is still under active research and development.&lt;/p&gt;

&lt;p&gt;We are working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;architectural redesign&lt;/li&gt;
&lt;li&gt;multi-platform rendering research&lt;/li&gt;
&lt;li&gt;JSX tree representation&lt;/li&gt;
&lt;li&gt;type-safety improvements&lt;/li&gt;
&lt;li&gt;security considerations&lt;/li&gt;
&lt;li&gt;Rust-based rendering experiments&lt;/li&gt;
&lt;li&gt;and the overall "write once, run anywhere" direction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We don't know exactly where this research will end.&lt;/p&gt;

&lt;p&gt;Some ideas will work.&lt;/p&gt;

&lt;p&gt;Some will need to change.&lt;/p&gt;

&lt;p&gt;Some may fail completely.&lt;/p&gt;

&lt;p&gt;That's part of building something new.&lt;/p&gt;

&lt;p&gt;But the work is ongoing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Help Us Explore This
&lt;/h2&gt;

&lt;p&gt;This is also where the community can help.&lt;/p&gt;

&lt;p&gt;If you have experience with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;multi-platform frameworks&lt;/li&gt;
&lt;li&gt;rendering engines&lt;/li&gt;
&lt;li&gt;compiler architecture&lt;/li&gt;
&lt;li&gt;Rust&lt;/li&gt;
&lt;li&gt;JavaScript runtimes&lt;/li&gt;
&lt;li&gt;native application architecture&lt;/li&gt;
&lt;li&gt;cross-platform UI systems&lt;/li&gt;
&lt;li&gt;or "write once, run anywhere" technologies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;we would genuinely like to hear your ideas.&lt;/p&gt;

&lt;p&gt;If you have already researched a similar problem, found an interesting architecture, or simply have an idea that could help us think about LeveloJS differently, share it with us.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your research may help us avoid mistakes.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It may even help shape the architecture.&lt;/p&gt;

&lt;p&gt;We are not trying to pretend that we already know everything.&lt;/p&gt;

&lt;p&gt;We are researching.&lt;/p&gt;

&lt;p&gt;We are learning.&lt;/p&gt;

&lt;p&gt;And we are building.&lt;/p&gt;




&lt;h2&gt;
  
  
  So, Why Was LeveloJS Quiet for a Month?
&lt;/h2&gt;

&lt;p&gt;Now you know.&lt;/p&gt;

&lt;p&gt;For almost a month, we didn't have a major public update because we were working on something that required us to rethink the foundation of LeveloJS.&lt;/p&gt;

&lt;p&gt;Joseph and I started this collaboration with a bigger goal:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;to explore whether LeveloJS can evolve from a web framework into a multi-platform framework.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That requires architectural changes.&lt;/p&gt;

&lt;p&gt;It requires research.&lt;/p&gt;

&lt;p&gt;It requires experimentation.&lt;/p&gt;

&lt;p&gt;And it requires accepting that we may not have all the answers yet.&lt;/p&gt;

&lt;p&gt;But that's okay.&lt;/p&gt;

&lt;p&gt;We don't know how far we can take this.&lt;/p&gt;

&lt;p&gt;We are putting our trust in Allah and doing the work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In-sha-Allah, LeveloJS will have a very different story to tell in its next chapter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is not the end of LeveloJS as a web framework.&lt;/p&gt;

&lt;p&gt;It's an exploration of what LeveloJS could become beyond the web.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The foundation is changing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The research has started.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And the next chapter is being built.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
      <category>javascript</category>
      <category>rust</category>
    </item>
    <item>
      <title>Why I Built NGCBD: A Dedicated Community for Passionate Bangladeshi Developers</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Wed, 12 Aug 2026 10:41:05 +0000</pubDate>
      <link>https://dev.to/motionmind2007/why-i-built-ngcbd-a-dedicated-community-for-passionate-bangladeshi-developers-3ha9</link>
      <guid>https://dev.to/motionmind2007/why-i-built-ngcbd-a-dedicated-community-for-passionate-bangladeshi-developers-3ha9</guid>
      <description>&lt;h2&gt;
  
  
  NGCBD(Next-Gen CodeCrafters BD): A Dedicated Community for Passionate Bangladeshi Developers
&lt;/h2&gt;

&lt;p&gt;Bangladesh has a growing community of passionate developers, students, researchers, freelancers, and technology enthusiasts. Every day, many of them learn, build, experiment, contribute to open source, and create meaningful digital products.&lt;/p&gt;

&lt;p&gt;Yet many of these builders face the same silent problem: &lt;strong&gt;they build in isolation&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;A project may take months of research, design, debugging, and optimization, but after publishing it online, the creator often receives only a few generic comments such as &lt;em&gt;“Nice project!”&lt;/em&gt;. Encouragement is valuable, but it rarely helps a developer grow.&lt;/p&gt;

&lt;p&gt;Serious builders need serious feedback:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the architecture scalable?&lt;/li&gt;
&lt;li&gt;Is the code modular and maintainable?&lt;/li&gt;
&lt;li&gt;Are there performance bottlenecks?&lt;/li&gt;
&lt;li&gt;Is the UI accessible and production-ready?&lt;/li&gt;
&lt;li&gt;Is the repository documented well enough for contributors?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This gap is exactly why &lt;strong&gt;NGCBD (Next-Gen CodeCrafters BD)&lt;/strong&gt; was created.&lt;/p&gt;

&lt;p&gt;Official website: &lt;a href="https://ngcbd.motionmind.me" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Origin &amp;amp; Vision
&lt;/h2&gt;

&lt;p&gt;Building high-quality engineering tools requires more than technical skill—it requires &lt;strong&gt;passion, persistence, and a community that believes in builders&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;As the creator and CEO of &lt;strong&gt;Motion Mind&lt;/strong&gt;, I built &lt;strong&gt;Levelo.js&lt;/strong&gt;, a lightweight custom frontend framework, and the &lt;strong&gt;Kivex Ecosystem&lt;/strong&gt;, a family of developer packages featuring &lt;strong&gt;300+ handcrafted icons&lt;/strong&gt;. These tools were created through countless late nights of experimentation, debugging, and learning.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Levelo.js: &lt;a href="https://github.com/motionmind2007/Levelo-Js" rel="noopener noreferrer"&gt;https://github.com/motionmind2007/Levelo-Js&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Kivex Icons: &lt;a href="https://github.com/motionmind2007/kivex" rel="noopener noreferrer"&gt;https://github.com/motionmind2007/kivex&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But after building production-ready software, I discovered a painful truth:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Great software can still remain invisible when there is no strong engineering community around it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I realized that this was not only my problem. Across Bangladesh, thousands of talented developers are creating frameworks, libraries, SaaS products, mobile apps, research projects, and open-source tools without receiving meaningful technical feedback or collaboration opportunities.&lt;/p&gt;

&lt;p&gt;That realization became the seed of &lt;strong&gt;NGCBD&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We built NGCBD so that every Bangladeshi developer can find a peer circle, gain inspiration, receive honest engineering feedback, and build software that truly matters.&lt;/p&gt;

&lt;p&gt;Our dream is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;No talented Bangladeshi developer should feel isolated while building something meaningful.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whether you are a student coding on a low-end laptop, a freelancer shipping client products, or a researcher exploring new ideas, this community is built for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Makes NGCBD Different?
&lt;/h2&gt;

&lt;p&gt;Most programming communities eventually become tutorial-sharing groups, job-posting boards, or noisy social feeds.&lt;/p&gt;

&lt;p&gt;NGCBD was designed with a different philosophy: &lt;strong&gt;high signal, low noise&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We prioritize:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;research-level project showcases,&lt;/li&gt;
&lt;li&gt;architecture discussions,&lt;/li&gt;
&lt;li&gt;performance engineering,&lt;/li&gt;
&lt;li&gt;open-source collaboration,&lt;/li&gt;
&lt;li&gt;peer code reviews,&lt;/li&gt;
&lt;li&gt;and production-quality software practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a place for endless forwarded posts or course marketing. It is a place for builders who are actively creating technology.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://ngcbd.motionmind.me/about" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/about&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  A Platform for Research-Level Projects
&lt;/h2&gt;

&lt;p&gt;We encourage submissions that go beyond beginner tutorials. Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;custom frameworks,&lt;/li&gt;
&lt;li&gt;compilers and tooling,&lt;/li&gt;
&lt;li&gt;developer utilities,&lt;/li&gt;
&lt;li&gt;AI/ML experiments,&lt;/li&gt;
&lt;li&gt;system design projects,&lt;/li&gt;
&lt;li&gt;SaaS platforms,&lt;/li&gt;
&lt;li&gt;mobile applications,&lt;/li&gt;
&lt;li&gt;and open-source libraries.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal is to create a public &lt;strong&gt;Proof of Work&lt;/strong&gt; archive that demonstrates real engineering depth.&lt;/p&gt;

&lt;p&gt;Project Showcase: &lt;a href="https://ngcbd.motionmind.me/showcase" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/showcase&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Expert Code Reviews That Actually Help
&lt;/h2&gt;

&lt;p&gt;Every serious submission is evaluated on multiple dimensions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;architecture and scalability,&lt;/li&gt;
&lt;li&gt;code organization,&lt;/li&gt;
&lt;li&gt;performance optimization,&lt;/li&gt;
&lt;li&gt;UI/UX quality,&lt;/li&gt;
&lt;li&gt;accessibility,&lt;/li&gt;
&lt;li&gt;documentation,&lt;/li&gt;
&lt;li&gt;and maintainability.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A good review should help a project become better, not simply judge it. We want developers to leave with actionable improvements they can implement immediately.&lt;/p&gt;

&lt;p&gt;Review guidelines: &lt;a href="https://ngcbd.motionmind.me/docs" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/docs&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Zero Pressure Philosophy
&lt;/h2&gt;

&lt;p&gt;One of the biggest problems in developer communities is unhealthy competition. Weekly sprints, daily streaks, and unrealistic targets often discourage builders instead of motivating them.&lt;/p&gt;

&lt;p&gt;NGCBD follows a &lt;strong&gt;Zero Pressure Philosophy&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bi-Monthly League Cycles
&lt;/h3&gt;

&lt;p&gt;Our leagues run in &lt;strong&gt;2-month cycles&lt;/strong&gt;, giving members enough time to build meaningful projects alongside studies, jobs, or freelance work.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Forced Participation
&lt;/h3&gt;

&lt;p&gt;If you skip a cycle, nothing happens. You can observe reviews, improve privately, and submit whenever you feel ready.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Course Upsells
&lt;/h3&gt;

&lt;p&gt;NGCBD is not built to sell courses. Growth is self-paced, research-driven, and based on real engineering effort.&lt;/p&gt;




&lt;h2&gt;
  
  
  Compete, Learn, and Get Recognized
&lt;/h2&gt;

&lt;p&gt;At the end of each cycle, outstanding projects and contributors receive recognition through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;leaderboard rankings,&lt;/li&gt;
&lt;li&gt;featured showcases,&lt;/li&gt;
&lt;li&gt;verified badges,&lt;/li&gt;
&lt;li&gt;and exclusive community rewards.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Recognition is based on &lt;strong&gt;merit and engineering quality&lt;/strong&gt;, not popularity.&lt;/p&gt;

&lt;p&gt;Current leaderboard: &lt;a href="https://ngcbd.motionmind.me/leaderboard" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/leaderboard&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Motion Mind Ecosystem
&lt;/h2&gt;

&lt;p&gt;NGCBD operates under the &lt;strong&gt;Motion Mind&lt;/strong&gt; open-source ecosystem. Developers may also experiment with tools such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Levelo.js&lt;/strong&gt; — a custom high-performance frontend framework,&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kivex&lt;/strong&gt; — a cross-platform icon ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Community members who adopt and provide feedback on these tools help strengthen homegrown Bangladeshi developer infrastructure.&lt;/p&gt;

&lt;p&gt;Explore the ecosystem:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/motionmind2007/levelo-js" rel="noopener noreferrer"&gt;https://github.com/motionmind2007/levelo-js&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/motionmind2007/kivex" rel="noopener noreferrer"&gt;https://github.com/motionmind2007/kivex&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Peer Review Matters for Your Career
&lt;/h2&gt;

&lt;p&gt;A reviewed repository tells a very different story from an unreviewed one.&lt;/p&gt;

&lt;p&gt;When recruiters or collaborators see:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;public commits,&lt;/li&gt;
&lt;li&gt;documented architecture,&lt;/li&gt;
&lt;li&gt;review discussions,&lt;/li&gt;
&lt;li&gt;and iteration history,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;they can evaluate not only what you built but also &lt;strong&gt;how you think as an engineer&lt;/strong&gt;. In many technical interviews, that is far more valuable than a polished screenshot.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open Source Is at the Heart of the Community
&lt;/h2&gt;

&lt;p&gt;We encourage members to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;open issues,&lt;/li&gt;
&lt;li&gt;submit pull requests,&lt;/li&gt;
&lt;li&gt;review peer repositories,&lt;/li&gt;
&lt;li&gt;improve documentation,&lt;/li&gt;
&lt;li&gt;and contribute beyond their own projects.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A GitHub profile filled with meaningful contributions demonstrates collaboration, problem-solving, and long-term engineering engagement.&lt;/p&gt;

&lt;p&gt;GitHub organization: &lt;a href="https://github.com/Motion-Mind-Lab/Next-Gen-CodeCrafters-BD" rel="noopener noreferrer"&gt;https://github.com/Motion-Mind-Lab/Next-Gen-CodeCrafters-BD&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Integrity Above Everything
&lt;/h2&gt;

&lt;p&gt;We welcome inspiration, libraries, and open-source foundations with proper attribution. What we do not accept is plagiarism.&lt;/p&gt;

&lt;p&gt;A healthy engineering ecosystem depends on trust, transparency, and respect for original work.&lt;/p&gt;

&lt;p&gt;Community rules: &lt;a href="https://ngcbd.motionmind.me/rules" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/rules&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Who Should Join?
&lt;/h2&gt;

&lt;p&gt;NGCBD is open to &lt;strong&gt;Bangladeshi programmer or aspiring programmer&lt;/strong&gt; who loves technology and wants to grow through building and learning.&lt;/p&gt;

&lt;p&gt;Whether you are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a school student writing your first lines of code,&lt;/li&gt;
&lt;li&gt;a college or university student,&lt;/li&gt;
&lt;li&gt;a hobbyist experimenting with programming,&lt;/li&gt;
&lt;li&gt;a freelancer working with clients,&lt;/li&gt;
&lt;li&gt;a professional software engineer,&lt;/li&gt;
&lt;li&gt;an open-source contributor,&lt;/li&gt;
&lt;li&gt;or a researcher exploring advanced ideas,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;you are welcome here.&lt;/p&gt;

&lt;p&gt;Age is not a barrier. A curious 7-year-old beginner and an experienced 45-year-old developer can both learn from the same community.&lt;/p&gt;

&lt;p&gt;If you enjoy coding, creating projects, sharing ideas, and growing together with fellow Bangladeshi developers, &lt;strong&gt;NGCBD&lt;/strong&gt; is for you.”&lt;/p&gt;




&lt;h2&gt;
  
  
  Join the Community
&lt;/h2&gt;

&lt;p&gt;If this vision resonates with you, start exploring the ecosystem today:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://ngcbd.motionmind.me" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Documentation: &lt;a href="https://ngcbd.motionmind.me/docs" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://ngcbd.motionmind.me/showcase" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/showcase&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Leaderboard: &lt;a href="https://ngcbd.motionmind.me/leaderboard" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/leaderboard&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;About: &lt;a href="https://ngcbd.motionmind.me/about" rel="noopener noreferrer"&gt;https://ngcbd.motionmind.me/about&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/Motion-Mind-Lab/Next-Gen-CodeCrafters-BD" rel="noopener noreferrer"&gt;https://github.com/Motion-Mind-Lab/Next-Gen-CodeCrafters-BD&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Facebook Group: &lt;a href="https://facebook.com/groups/916416137573001" rel="noopener noreferrer"&gt;https://facebook.com/groups/916416137573001&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;WhatsApp Community: &lt;a href="https://wa.me/8801804187223?text=Hi%20NGCBD%20Team!%20I%20want%20to%20get%20an%20invite%20for%20the%20developer%20community" rel="noopener noreferrer"&gt;https://wa.me/8801804187223?text=Hi%20NGCBD%20Team!%20I%20want%20to%20get%20an%20invite%20for%20the%20developer%20community&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;I started programming with limited resources and learned largely through experimentation and open-source communities. I know how difficult it can be to grow without a strong technical network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NGCBD is our attempt to build the community we wish we had when we started.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have ever worked on a project and wished someone would truly understand it, review it, improve it, or be inspired by it, then this community was built for people like you.&lt;/p&gt;

&lt;p&gt;Let us create a future where Bangladeshi developers are not only consumers of technology, but &lt;strong&gt;creators of world-class engineering products together&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Built for builders, by builders.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>bangladesh</category>
      <category>programming</category>
      <category>community</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Building Dynamic Routing for My JavaScript Framework (Levelo JS 2.2.0) — One Last Test Before Bed Changed Everything 🚀</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Mon, 10 Aug 2026 14:59:37 +0000</pubDate>
      <link>https://dev.to/motionmind2007/building-dynamic-routing-for-my-javascript-framework-levelo-js-220-one-last-test-before-bed-4m12</link>
      <guid>https://dev.to/motionmind2007/building-dynamic-routing-for-my-javascript-framework-levelo-js-220-one-last-test-before-bed-4m12</guid>
      <description>&lt;h2&gt;
  
  
  Building Dynamic Routing for My JavaScript Framework (Levelo JS 2.2.0) — One Last Test Before Bed Changed Everything 🚀
&lt;/h2&gt;

&lt;p&gt;I'm a student who enjoys building things from scratch.&lt;/p&gt;

&lt;p&gt;For the past few months, I've been researching and building my own JavaScript framework called &lt;strong&gt;Levelo JS&lt;/strong&gt;. Every feature I add teaches me something new about how modern frameworks work internally.&lt;/p&gt;

&lt;p&gt;Today I'm releasing &lt;strong&gt;Levelo JS v2.2.0&lt;/strong&gt;, a feature-focused update that introduces dynamic routing, a new &lt;code&gt;params&lt;/code&gt; API, &lt;code&gt;ref&lt;/code&gt; support, and several improvements to the routing system.&lt;/p&gt;




&lt;h2&gt;
  
  
  It Worked... Until I Tested It 😅
&lt;/h2&gt;

&lt;p&gt;After hours of work, I finally finished implementing dynamic routing.&lt;/p&gt;

&lt;p&gt;I added route pattern parsing.&lt;/p&gt;

&lt;p&gt;I added parameter extraction.&lt;/p&gt;

&lt;p&gt;I connected everything together.&lt;/p&gt;

&lt;p&gt;Everything looked correct.&lt;/p&gt;

&lt;p&gt;It was already late at night, and before going to sleep I thought,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Let me test it one last time."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That one decision completely changed my evening.&lt;/p&gt;

&lt;p&gt;The router simply refused to work.&lt;/p&gt;

&lt;p&gt;No dynamic routes.&lt;/p&gt;

&lt;p&gt;No page switching.&lt;/p&gt;

&lt;p&gt;Nothing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bug I Couldn't Stop Thinking About
&lt;/h2&gt;

&lt;p&gt;Since Levelo JS is a Single Page Application framework, page navigation happens without reloading the browser.&lt;/p&gt;

&lt;p&gt;When I tested the new router, something felt completely wrong.&lt;/p&gt;

&lt;p&gt;At first, I thought the bug was somewhere inside my route matching logic.&lt;/p&gt;

&lt;p&gt;So I checked the regular expressions.&lt;/p&gt;

&lt;p&gt;I checked parameter parsing.&lt;/p&gt;

&lt;p&gt;I checked the navigation flow.&lt;/p&gt;

&lt;p&gt;Everything looked fine.&lt;/p&gt;

&lt;p&gt;But the router still wasn't working.&lt;/p&gt;

&lt;p&gt;It was already late, so I decided to stop for the night and get some sleep.&lt;/p&gt;

&lt;p&gt;Even then, the bug stayed in the back of my mind.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Next Morning
&lt;/h2&gt;

&lt;p&gt;The next morning, I opened my editor almost immediately.&lt;/p&gt;

&lt;p&gt;Instead of writing new code, I started reading my existing implementation.&lt;/p&gt;

&lt;p&gt;Then I suddenly remembered something.&lt;/p&gt;

&lt;p&gt;I had actually faced a very similar problem before...&lt;/p&gt;

&lt;p&gt;...and somehow completely forgot about it. 😂&lt;/p&gt;

&lt;p&gt;Sometimes your own old code becomes the best documentation.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Real Problem
&lt;/h2&gt;

&lt;p&gt;The router wasn't the problem.&lt;/p&gt;

&lt;p&gt;The route matching wasn't the problem.&lt;/p&gt;

&lt;p&gt;The History API wasn't the problem.&lt;/p&gt;

&lt;p&gt;The real issue was how I was updating the DOM.&lt;/p&gt;

&lt;p&gt;Instead of trying to reuse the existing rendered page, I discovered that removing the old page node completely and creating a fresh one worked much better for Levelo JS.&lt;/p&gt;

&lt;p&gt;The change itself was surprisingly small:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nx"&gt;container&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;removeChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;currentRenderedNode&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After removing the previous page, the framework creates a new component instance and mounts it again.&lt;/p&gt;

&lt;p&gt;That simple architectural change fixed the routing issue.&lt;/p&gt;

&lt;p&gt;Looking back, solving it the next morning taught me an important lesson about how my framework should manage DOM updates.&lt;/p&gt;




&lt;h2&gt;
  
  
  Dynamic Routing is Finally Here 🎉
&lt;/h2&gt;

&lt;p&gt;With that solved, Levelo JS now supports routes like this:&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="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Page&lt;/span&gt; &lt;span class="na"&gt;path&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"/user/:id"&lt;/span&gt; &lt;span class="na"&gt;component&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;UserPage&lt;/span&gt;&lt;span class="si"&gt;}&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;You can access route parameters directly:&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;params&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="s2"&gt;levelojs&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&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="nx"&gt;params&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Internally, Levelo JS now:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Parses route patterns into optimized regular expressions.&lt;/li&gt;
&lt;li&gt;Extracts dynamic parameters automatically.&lt;/li&gt;
&lt;li&gt;Updates pages without refreshing the browser.&lt;/li&gt;
&lt;li&gt;Integrates with the History API for SPA navigation.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  A Cleaner Router Architecture
&lt;/h2&gt;

&lt;p&gt;While implementing dynamic routing, I also decided to reorganize the routing system.&lt;/p&gt;

&lt;p&gt;Previously, most of the routing logic lived inside a single runtime file.&lt;/p&gt;

&lt;p&gt;Now it's separated into dedicated modules:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;src/router/
├── Page.ts
├── Pages.ts
└── params.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This structure is much easier to maintain and gives me a better foundation for future routing features.&lt;/p&gt;




&lt;h2&gt;
  
  
  A New &lt;code&gt;params&lt;/code&gt; API
&lt;/h2&gt;

&lt;p&gt;Since dynamic routes are now supported, I wanted accessing route parameters to feel simple.&lt;/p&gt;

&lt;p&gt;That's why Levelo JS now officially exports a &lt;code&gt;params&lt;/code&gt; API, making it easy to read URL parameters anywhere they're needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  &lt;code&gt;ref&lt;/code&gt; Support
&lt;/h2&gt;

&lt;p&gt;After finishing the routing system, I thought,&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Why not add &lt;code&gt;ref&lt;/code&gt; support as well?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Fortunately, this feature was much smoother to implement.&lt;/p&gt;

&lt;p&gt;Levelo JS now supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Object refs&lt;/li&gt;
&lt;li&gt;Callback refs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;along with proper TypeScript typings for native DOM elements.&lt;/p&gt;




&lt;h2&gt;
  
  
  Better SPA Title Handling
&lt;/h2&gt;

&lt;p&gt;This update also fixes a small but important SPA issue.&lt;/p&gt;

&lt;p&gt;Previously, if a page didn't define its own &lt;code&gt;head()&lt;/code&gt; configuration, the previous page title could remain visible.&lt;/p&gt;

&lt;p&gt;Now Levelo JS automatically restores the default document title whenever necessary, making navigation behave much more naturally.&lt;/p&gt;




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

&lt;p&gt;Building a framework isn't only about adding features.&lt;/p&gt;

&lt;p&gt;It's also about questioning your own assumptions.&lt;/p&gt;

&lt;p&gt;This time, I was convinced the router itself was broken.&lt;/p&gt;

&lt;p&gt;In reality, the routing algorithm was working.&lt;/p&gt;

&lt;p&gt;The regular expressions were working.&lt;/p&gt;

&lt;p&gt;The parameter extraction was working.&lt;/p&gt;

&lt;p&gt;The actual problem was the DOM update strategy.&lt;/p&gt;

&lt;p&gt;Sometimes the hardest bugs aren't caused by complicated code—they're caused by a small architectural decision hiding in plain sight.&lt;/p&gt;




&lt;h2&gt;
  
  
  Still Learning
&lt;/h2&gt;

&lt;p&gt;One thing I'd like to mention is that I'm still a student.&lt;/p&gt;

&lt;p&gt;Levelo JS isn't a commercial framework—it's a research project that I build to understand how modern JavaScript frameworks work internally.&lt;/p&gt;

&lt;p&gt;Every new feature, every bug, and every refactor teaches me something new.&lt;/p&gt;

&lt;p&gt;Version &lt;strong&gt;2.2.0&lt;/strong&gt; is another step in that learning journey, and I'm excited to keep improving it.&lt;/p&gt;

&lt;p&gt;If you're interested in framework development or enjoy seeing how things work under the hood, I'd love to hear your feedback.&lt;/p&gt;

&lt;p&gt;Thanks for reading! ❤️&lt;/p&gt;

</description>
      <category>levelojs</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Kivex Just Crossed 300+ Icons — 107 New Icons and Package Fixes</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Thu, 06 Aug 2026 15:02:01 +0000</pubDate>
      <link>https://dev.to/motionmind2007/kivex-just-crossed-300-icons-107-new-icons-and-package-fixes-53eh</link>
      <guid>https://dev.to/motionmind2007/kivex-just-crossed-300-icons-107-new-icons-and-package-fixes-53eh</guid>
      <description>&lt;h2&gt;
  
  
  Kivex Just Crossed 300+ Icons — 107 New Icons and Package Fixes
&lt;/h2&gt;

&lt;p&gt;Kivex just got a pretty big update. 🚀&lt;/p&gt;

&lt;p&gt;With the latest update, &lt;strong&gt;107 new icons&lt;/strong&gt; have been added to the Kivex ecosystem, bringing the total collection to &lt;strong&gt;309 icons&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That means Kivex has officially crossed the &lt;strong&gt;300+ icon milestone&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And while the icon collection is the main highlight of this update, there were also a few small but important improvements under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎨 107 New Icons
&lt;/h2&gt;

&lt;p&gt;The biggest part of this update is, of course, the icons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;107 new icons&lt;/strong&gt; have been added to Kivex, expanding the collection from its previous size to &lt;strong&gt;309 icons&lt;/strong&gt; in total.&lt;/p&gt;

&lt;p&gt;This gives developers a much broader set of icons to work with while keeping Kivex focused on a consistent and reusable icon system.&lt;/p&gt;

&lt;p&gt;Whether you're building a web application, developer tool, dashboard, mobile application, or something completely different, having a larger icon set makes it easier to stay within the same visual language instead of mixing icons from multiple libraries.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Kivex Is Now a 300+ Icon Ecosystem
&lt;/h2&gt;

&lt;p&gt;Kivex isn't just a single icon package.&lt;/p&gt;

&lt;p&gt;It's an ecosystem designed to make the same icon collection available across different platforms and frameworks.&lt;/p&gt;

&lt;p&gt;With &lt;strong&gt;309 icons&lt;/strong&gt; now available, the ecosystem is continuing to grow while keeping the goal simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One icon collection. Multiple platforms. Consistent design.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The goal isn't simply to keep increasing the number of icons.&lt;/p&gt;

&lt;p&gt;It's to build a collection that developers can actually use across their projects without having to constantly search for another icon library whenever they need something new.&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ Small Package Fixes
&lt;/h2&gt;

&lt;p&gt;Along with the new icons, a few small bugs were also fixed in the package ecosystem.&lt;/p&gt;

&lt;p&gt;Packages including &lt;strong&gt;Kivex React&lt;/strong&gt; and &lt;strong&gt;Kivex Solid&lt;/strong&gt;, along with some other Kivex packages, received fixes to their &lt;code&gt;package.json&lt;/code&gt; files.&lt;/p&gt;

&lt;p&gt;These weren't major API changes or flashy new features, but they were important cleanup fixes to make the packages more reliable and consistent for developers using them.&lt;/p&gt;

&lt;p&gt;Sometimes the small fixes matter just as much as the big features.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What's Next for Kivex?
&lt;/h2&gt;

&lt;p&gt;Crossing 300 icons is a nice milestone, but this isn't the finish line.&lt;/p&gt;

&lt;p&gt;Kivex is still evolving, and the focus remains on expanding the icon collection while improving the ecosystem around it.&lt;/p&gt;

&lt;p&gt;For now:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;107 new icons.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;309 icons total.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;A few package fixes.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;And Kivex keeps moving forward.&lt;/strong&gt; ❤️&lt;/p&gt;

&lt;p&gt;If you've been using Kivex already, thank you for being part of the journey.&lt;/p&gt;

&lt;p&gt;And if you haven't tried it yet, now might be a pretty good time to take a look.&lt;/p&gt;

&lt;h2&gt;
  
  
  ❤️ Like Kivex?
&lt;/h2&gt;

&lt;p&gt;If you find the Kivex ecosystem useful or simply like what we're building, consider giving the project a ⭐ &lt;strong&gt;Star on GitHub&lt;/strong&gt;. It helps the project get more visibility and motivates us to keep improving and expanding the ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/MotionMind2007/Kivex" rel="noopener noreferrer"&gt;⭐ Star Kivex on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And if you'd like to become a &lt;strong&gt;contributor to the Kivex ecosystem&lt;/strong&gt;, you're more than welcome!&lt;/p&gt;

&lt;p&gt;One of the best ways to contribute is by &lt;strong&gt;creating new icons&lt;/strong&gt; and helping expand the Kivex icon collection. If you have ideas for useful icons that you'd like to see in Kivex, we'd love to have you contribute them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your icons could become part of Kivex.&lt;/strong&gt; 🎨&lt;/p&gt;

&lt;p&gt;Kivex is still growing, and we'd love to build that growth together with the community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;309 icons today. More to come, In-sha-Allah. 🚀&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>kivex</category>
      <category>webdev</category>
      <category>svgicons</category>
    </item>
    <item>
      <title>LeveloJS v2.1.2 — A Cleaner JSX Runtime Architecture</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Thu, 23 Jul 2026 12:35:06 +0000</pubDate>
      <link>https://dev.to/motionmind2007/levelojs-v212-a-cleaner-jsx-runtime-architecture-4hoj</link>
      <guid>https://dev.to/motionmind2007/levelojs-v212-a-cleaner-jsx-runtime-architecture-4hoj</guid>
      <description>&lt;h3&gt;
  
  
  LeveloJS v2.1.2 — A Cleaner JSX Runtime Architecture
&lt;/h3&gt;

&lt;p&gt;After releasing &lt;strong&gt;LeveloJS v2.1.1&lt;/strong&gt;, I started writing the documentation for the new JSX type support. While reviewing the implementation, I realized that although everything worked correctly, there was a flaw in the internal architecture.&lt;/p&gt;

&lt;p&gt;The JSX runtime and its type definitions were connected in a way that wasn't as clean or maintainable as I wanted. Instead of leaving it that way, I paused the documentation work and decided to refactor the entire JSX module before moving forward.&lt;/p&gt;

&lt;p&gt;The result is &lt;strong&gt;LeveloJS v2.1.2&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why another update so soon?
&lt;/h2&gt;

&lt;p&gt;Sometimes a feature is &lt;strong&gt;functionally correct&lt;/strong&gt;, but the implementation behind it isn't ideal.&lt;/p&gt;

&lt;p&gt;As I prepared to write the documentation, I noticed that the JSX module structure could become difficult to maintain as the framework grows. Rather than building more features on top of that design, I chose to improve the foundation first.&lt;/p&gt;

&lt;p&gt;This release is mostly about &lt;strong&gt;internal architecture&lt;/strong&gt;, &lt;strong&gt;TypeScript integration&lt;/strong&gt;, and &lt;strong&gt;developer experience&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Changed
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Reorganized the JSX Runtime
&lt;/h3&gt;

&lt;p&gt;Previously, the JSX runtime and its type declarations lived in different locations.&lt;/p&gt;

&lt;p&gt;They have now been reorganized into a dedicated module:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;src/runtime/jsx/
├── jsx-runtime.ts
└── jsx.d.ts
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Keeping the runtime implementation and its type definitions together makes the project structure much easier to understand and maintain.&lt;/p&gt;




&lt;h3&gt;
  
  
  Removed Unnecessary Coupling
&lt;/h3&gt;

&lt;p&gt;Previously, &lt;code&gt;jsx.d.ts&lt;/code&gt; relied on the package entry (&lt;code&gt;index.ts&lt;/code&gt;) to expose JSX types.&lt;/p&gt;

&lt;p&gt;In v2.1.2, the type definitions are linked directly with &lt;code&gt;jsx-runtime.ts&lt;/code&gt;, allowing the runtime to manage its own typings without depending on the root entry point.&lt;/p&gt;

&lt;p&gt;This creates a cleaner separation of responsibilities and simplifies the internal architecture.&lt;/p&gt;




&lt;h3&gt;
  
  
  Improved DTS Bundling
&lt;/h3&gt;

&lt;p&gt;While restructuring the JSX module, I also fixed declaration build issues that appeared during &lt;code&gt;tsup&lt;/code&gt; builds.&lt;/p&gt;

&lt;p&gt;This resolves errors such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Module has no exported member 'h'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The runtime and declaration files are now synchronized correctly, resulting in more reliable declaration generation.&lt;/p&gt;




&lt;h3&gt;
  
  
  Better Ambient JSX Typings
&lt;/h3&gt;

&lt;p&gt;This release also improves the overall TypeScript experience.&lt;/p&gt;

&lt;p&gt;It fixes issues including:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;This JSX tag requires 'h' to be in scope
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;and CSS side-effect import errors by integrating the ambient JSX types directly into the new runtime pipeline.&lt;/p&gt;

&lt;p&gt;As a result, JSX works more naturally with fewer manual configuration steps.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;Framework development isn't only about introducing new APIs.&lt;/p&gt;

&lt;p&gt;A clean internal architecture makes future development easier, reduces maintenance, and helps prevent issues before they appear.&lt;/p&gt;

&lt;p&gt;Although most users won't notice these improvements immediately, they provide a much stronger foundation for upcoming features in LeveloJS.&lt;/p&gt;




&lt;h2&gt;
  
  
  Changelog
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Fixed &amp;amp; Refactored
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Reorganized the JSX runtime into a dedicated &lt;code&gt;src/runtime/jsx/&lt;/code&gt; module.&lt;/li&gt;
&lt;li&gt;Moved &lt;code&gt;jsx.d.ts&lt;/code&gt; and &lt;code&gt;jsx-runtime.ts&lt;/code&gt; into the same directory.&lt;/li&gt;
&lt;li&gt;Removed the dependency between &lt;code&gt;jsx.d.ts&lt;/code&gt; and the package entry point.&lt;/li&gt;
&lt;li&gt;Linked JSX type definitions directly with the runtime module.&lt;/li&gt;
&lt;li&gt;Fixed DTS bundling issues during &lt;code&gt;tsup&lt;/code&gt; builds.&lt;/li&gt;
&lt;li&gt;Resolved &lt;code&gt;Module has no exported member 'h'&lt;/code&gt; build errors.&lt;/li&gt;
&lt;li&gt;Fixed ambient JSX typing issues.&lt;/li&gt;
&lt;li&gt;Resolved &lt;code&gt;This JSX tag requires 'h' to be in scope&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Improved CSS side-effect import support.&lt;/li&gt;
&lt;li&gt;Simplified the internal JSX architecture for future development.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;With the JSX runtime architecture now cleaned up, I can continue working on documentation and future framework features with a much stronger foundation.&lt;/p&gt;

&lt;p&gt;More improvements are already on the way.&lt;/p&gt;




&lt;p&gt;If you're interested in modern JavaScript frameworks or TypeScript tooling, feel free to check out the project and share your feedback.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/MotionMind2007/Levelo-JS" rel="noopener noreferrer"&gt;https://github.com/MotionMind2007/Levelo-JS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://levelojs.motionmind.me" rel="noopener noreferrer"&gt;https://levelojs.motionmind.me&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>typescript</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Splitting the Compiler from the Runtime in Levelo JS</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Sat, 18 Jul 2026 05:24:53 +0000</pubDate>
      <link>https://dev.to/motionmind2007/splitting-the-compiler-from-the-runtime-in-levelo-js-43gp</link>
      <guid>https://dev.to/motionmind2007/splitting-the-compiler-from-the-runtime-in-levelo-js-43gp</guid>
      <description>&lt;h2&gt;
  
  
  Splitting the Compiler from the Runtime in Levelo JS
&lt;/h2&gt;

&lt;p&gt;Yesterday was focused on improving the architecture of &lt;strong&gt;Levelo JS&lt;/strong&gt; rather than adding flashy features.&lt;/p&gt;

&lt;p&gt;One of the biggest changes was separating the Vite compiler from the core framework.&lt;/p&gt;

&lt;p&gt;Previously, the compiler lived inside the main &lt;code&gt;levelojs&lt;/code&gt; package. Now it has been extracted into its own package:&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation:
&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;levelojs vite-plugin-levelojs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;or&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm add levelojs vite-plugin-levelojs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes the runtime cleaner, easier to maintain, and allows the compiler to evolve independently.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's New
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Batch Updates
&lt;/h3&gt;

&lt;p&gt;Levelo JS now includes a new &lt;code&gt;batch()&lt;/code&gt; API.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="nf"&gt;batch&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="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;setUser&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;MotionMind&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="nf"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;v&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Multiple state updates are grouped together, reducing unnecessary reactive executions and improving performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reactive Input Tracking
&lt;/h3&gt;

&lt;p&gt;Reactive value binding for form elements has been improved.&lt;/p&gt;

&lt;p&gt;Previously, updating a signal didn't automatically synchronize the value of inputs in every case.&lt;/p&gt;

&lt;p&gt;Now developers can simply write:&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="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setMessage&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;state&lt;/span&gt;&lt;span class="p"&gt;(&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="nt"&gt;input&lt;/span&gt;
  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;message&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;onInput&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&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="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setMessage&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;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&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;The input stays synchronized with the reactive state automatically.&lt;/p&gt;




&lt;h3&gt;
  
  
  Dedicated Vite Plugin
&lt;/h3&gt;

&lt;p&gt;The compiler is now available as an official package:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vite-plugin-levelojs&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It compiles JSX into optimized h() calls at build time, eliminating the need for a Virtual DOM.&lt;/p&gt;




&lt;h3&gt;
  
  
  Runtime Refactoring
&lt;/h3&gt;

&lt;p&gt;The internal JSX runtime has also been reorganized.&lt;/p&gt;

&lt;p&gt;The h() factory has been extracted into its own runtime module for better code organization and maintainability.&lt;/p&gt;




&lt;h3&gt;
  
  
  Verified in a Real Project
&lt;/h3&gt;

&lt;p&gt;After publishing the new packages, everything was tested inside a real Vite application.&lt;/p&gt;

&lt;p&gt;The compiler, runtime, JSX transformation, and reactivity all worked as expected.&lt;/p&gt;




&lt;p&gt;This update isn't about adding new UI features.&lt;/p&gt;

&lt;p&gt;It's about making the foundation stronger before building bigger things on top of it.&lt;/p&gt;

&lt;p&gt;More improvements are coming soon.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://levelojs.motionmind.me" rel="noopener noreferrer"&gt;https://levelojs.motionmind.me&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>opensource</category>
      <category>vite</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Introducing Kivex: A Production-Ready Multi-Platform Icon Ecosystem</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Fri, 17 Jul 2026 06:47:12 +0000</pubDate>
      <link>https://dev.to/motionmind2007/introducing-kivex-a-production-ready-multi-platform-icon-ecosystem-mh8</link>
      <guid>https://dev.to/motionmind2007/introducing-kivex-a-production-ready-multi-platform-icon-ecosystem-mh8</guid>
      <description>&lt;h1&gt;
  
  
  Introducing Kivex: A Production-Ready Multi-Platform Icon Ecosystem
&lt;/h1&gt;

&lt;p&gt;Every developer has faced this situation.&lt;/p&gt;

&lt;p&gt;You start a new project, search for an icon library, install it, and begin building.&lt;/p&gt;

&lt;p&gt;A few weeks later, another project comes along—this time with a different framework. Suddenly you're searching for another icon package, learning a different API, and trying to keep the design consistent across platforms.&lt;/p&gt;

&lt;p&gt;I wanted a better solution.&lt;/p&gt;

&lt;p&gt;That's why I built &lt;strong&gt;Kivex&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Kivex?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Kivex&lt;/strong&gt; (&lt;strong&gt;Kinetic Vector Exchange&lt;/strong&gt;) is an open-source, production-ready icon ecosystem designed for modern applications.&lt;/p&gt;

&lt;p&gt;Instead of maintaining different icon libraries for different frameworks, Kivex provides a single collection of &lt;strong&gt;200+ lightweight, pixel-perfect SVG icons&lt;/strong&gt; that can be used across multiple platforms while keeping the same visual identity.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One icon library. Multiple platforms. Consistent design.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Why Kivex?
&lt;/h2&gt;

&lt;p&gt;When building applications across different technologies, consistency matters.&lt;/p&gt;

&lt;p&gt;Kivex focuses on providing the same icons, the same names, and the same design language everywhere.&lt;/p&gt;

&lt;h3&gt;
  
  
  Highlights
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;200+ pixel-perfect SVG icons&lt;/li&gt;
&lt;li&gt;Multi-platform ecosystem&lt;/li&gt;
&lt;li&gt;Lightweight and optimized&lt;/li&gt;
&lt;li&gt;TypeScript support&lt;/li&gt;
&lt;li&gt;MIT Licensed&lt;/li&gt;
&lt;li&gt;Completely open source&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Current Packages
&lt;/h2&gt;

&lt;p&gt;The Kivex ecosystem currently includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;kivex-icons&lt;/code&gt; — Core JavaScript package&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-react&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-levelo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-solid&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-svelte&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-vue&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex-react-native&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kivex_flutter&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every package shares the same icon collection, making it easy to switch between frameworks without changing icon names or redesigning your UI.&lt;/p&gt;




&lt;h2&gt;
  
  
  Designed for Modern Development
&lt;/h2&gt;

&lt;p&gt;Whether you're building:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 Web Applications&lt;/li&gt;
&lt;li&gt;📱 Mobile Apps&lt;/li&gt;
&lt;li&gt;🖥️ Desktop Applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kivex aims to provide a familiar and consistent developer experience.&lt;/p&gt;

&lt;p&gt;Instead of treating every framework as a separate project, Kivex treats them as part of the same ecosystem.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Vision
&lt;/h2&gt;

&lt;p&gt;Kivex isn't just another icon package.&lt;/p&gt;

&lt;p&gt;The vision is to build a complete icon ecosystem that developers can rely on regardless of the framework they're using.&lt;/p&gt;

&lt;p&gt;Future plans include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More icons&lt;/li&gt;
&lt;li&gt;More platform integrations&lt;/li&gt;
&lt;li&gt;Official documentation website&lt;/li&gt;
&lt;li&gt;Icon search experience&lt;/li&gt;
&lt;li&gt;Better developer tools&lt;/li&gt;
&lt;li&gt;Community-driven contributions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is only the beginning.&lt;/p&gt;




&lt;h2&gt;
  
  
  Open Source First
&lt;/h2&gt;

&lt;p&gt;Kivex is developed as an open-source project because great developer tools grow through community collaboration.&lt;/p&gt;

&lt;p&gt;Bug reports, feature requests, pull requests, and discussions are always welcome.&lt;/p&gt;

&lt;p&gt;If you'd like to contribute, feel free to join the project.&lt;/p&gt;




&lt;h2&gt;
  
  
  GitHub
&lt;/h2&gt;

&lt;p&gt;⭐ Repository&lt;/p&gt;

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

&lt;p&gt;If you find the project interesting, consider giving it a ⭐.&lt;/p&gt;

&lt;p&gt;Feedback and contributions are always appreciated.&lt;/p&gt;




&lt;p&gt;Thanks for reading!&lt;/p&gt;

&lt;p&gt;This is the first public introduction to Kivex, and I'm excited to continue building it with the open-source community.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Levelo-Js v2: The TypeScript Rebirth</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Sat, 11 Jul 2026 06:33:45 +0000</pubDate>
      <link>https://dev.to/motionmind2007/levelo-js-v2-the-typescript-rebirth-412c</link>
      <guid>https://dev.to/motionmind2007/levelo-js-v2-the-typescript-rebirth-412c</guid>
      <description>&lt;p&gt;If you have ever built a custom JavaScript framework from scratch, you know that the line between a smooth, memory-clean engine and a total memory-leak disaster is incredibly thin.&lt;/p&gt;

&lt;p&gt;With version 1, &lt;strong&gt;Levelo-Js&lt;/strong&gt; proved that lightweight reactive UIs could be fast and intuitive. But as codebases grow, raw JavaScript starts to feel like writing code blindfolded. The dreaded &lt;code&gt;undefined is not a function&lt;/code&gt; is always lurking around the corner.&lt;/p&gt;

&lt;p&gt;Today, we are taking a massive leap forward. Meet &lt;strong&gt;Levelo-Js v2&lt;/strong&gt;—a complete ground-up architectural rewrite, fully re-born in TypeScript, with enterprise-grade build tooling and absolute bulletproof memory management.&lt;/p&gt;

&lt;p&gt;Let’s dive into what makes v2 an absolute game-changer.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Pillars of the TypeScript Rebirth
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Full TypeScript Migration &amp;amp; Modern Bundling
&lt;/h3&gt;

&lt;p&gt;We didn't just add types; we transformed the entire runtime engine core and internal modules from &lt;code&gt;.js&lt;/code&gt; to &lt;code&gt;.ts&lt;/code&gt;. Every piece of code is now strictly type-safe, offering self-documenting APIs and flawless IDE autocompletion (IntelliSense) right out of the box.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We also waved goodbye to publishing raw, uncompiled source files. Levelo-Js v2 now ships with production bundles powered by &lt;strong&gt;&lt;code&gt;tsup&lt;/code&gt;&lt;/strong&gt;. The engine is now pre-bundled into highly optimized, tree-shakable ES Modules (&lt;code&gt;compiler/index.js&lt;/code&gt;), making your production build lighter than ever.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  2. Hierarchical Tracking Context (&lt;code&gt;owner.ts&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Handling nested reactive scopes and side-effects can easily lead to chaotic state bugs if not tracked properly. v2 introduces a robust &lt;strong&gt;Reactive Ownership Architecture&lt;/strong&gt;. This creates a clean parent-child tracking hierarchy, ensuring that nested state updates always know exactly where they belong in the application tree.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Ownership-Driven Effects &amp;amp; Zero Memory Leaks
&lt;/h3&gt;

&lt;p&gt;Memory leaks are the silent killers of Single Page Applications (SPAs). In v2, our core &lt;code&gt;effect()&lt;/code&gt; engine has been deeply integrated with the new ownership layer.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The breakthrough? It now &lt;strong&gt;auto-disposes stale tracking dependencies&lt;/strong&gt; automatically. We ran heap snapshots before and after intense button-press and state transitions—the memory profile stays completely flat (stabilizing perfectly around 2.5MB). Zero bloat. Absolute mitigation against memory leaks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  4. Advanced Lifecycle Mechanisms
&lt;/h3&gt;

&lt;p&gt;To give you pixel-perfect control over your components, we introduced two advanced lifecycle hooks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;code&gt;mount()&lt;/code&gt;: Safely schedules tasks &lt;em&gt;precisely&lt;/em&gt; after the browser finishes synchronous layout painting. Perfect for clean DOM manipulations and secure API fetches.&lt;/li&gt;
&lt;li&gt;  &lt;code&gt;cleanup()&lt;/code&gt;: Automatically captures and wipes out active intervals, event listeners, and pending asynchronous tasks during state or route transitions.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Bulletproofing the Developer Experience (DX)
&lt;/h2&gt;

&lt;p&gt;A great framework isn't just about core reactive algorithms; it's about how it handles real-world ecosystem edge cases. Along with the core v2 rewrite, we've polished major real-world behaviors:&lt;/p&gt;

&lt;h3&gt;
  
  
  Standardized SPA Routing &amp;amp; High-Fidelity 404
&lt;/h3&gt;

&lt;p&gt;In modern Single Page Applications, client-side routing must be bulletproof. We redesigned the core SPA fallback viewport (&lt;code&gt;Page Not Found&lt;/code&gt;) with a high-fidelity native CSS layout. If a user wanders off to an unregistered route (like &lt;code&gt;/asdf&lt;/code&gt;), the framework gracefully catches it, preventing server crashes and serving a gorgeous, responsive, center-aligned 404 screen.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smart SVG Compiler Fixes
&lt;/h3&gt;

&lt;p&gt;Compilers can sometimes be over-aggressive. We caught and squashed an tricky compiler bug where camelCase SVG attributes like &lt;code&gt;viewBox&lt;/code&gt; were accidentally being converted to kebab-case (&lt;code&gt;view-box&lt;/code&gt;), causing rendering glitches. v2 introduces strict exception mapping for core SVG properties—your icons and vectors will now render flawlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Experience Levelo-Js v2 Today
&lt;/h2&gt;

&lt;p&gt;Levelo-Js v2 behaves exactly how you expect a modern, high-performance framework to behave—lightning fast, type-safe, and incredibly respectful of your user's system memory. &lt;/p&gt;

&lt;p&gt;Whether you are looking for zero-config autocomplete, strict compile-time safety, or zero memory leaks, v2 is ready for your next project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Create a fresh, fully optimized Levelo-Js v2 template instantly&lt;/span&gt;
npx create-levelo-app my-app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🔗 Links &amp;amp; Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="//github.com/motionmind2007/levelo-js"&gt;github.com/motionmind2007/levelo-js&lt;/a&gt; — Check out the source code, open issues, or contribute!&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Official Documentation:&lt;/strong&gt; &lt;a href="//levelojs.motionmind.me"&gt;levelojs.motionmind.me&lt;/a&gt; — Dive deep into the reactive APIs, lifecycle hooks, and routing guides.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ⭐ Support the Project!
&lt;/h2&gt;

&lt;p&gt;Building a framework from scratch and moving it to a complete TypeScript ecosystem takes a massive amount of love, caffeine, and code iterations. &lt;/p&gt;

&lt;p&gt;If you find &lt;strong&gt;Levelo-Js v2&lt;/strong&gt; interesting, or if you love open-source developer tooling, please consider giving the repository a &lt;strong&gt;Star (⭐) on GitHub&lt;/strong&gt;. It helps the project gain more visibility and motivates us to keep shiping awesome features! &lt;/p&gt;

&lt;p&gt;Drop a ❤️ and a 🦄 if you liked this post, and let me know your thoughts in the comments below. Happy coding! 🚀&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The New Standard for NPM Package Discovery: Deep Dive into LibPilot</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Wed, 24 Jun 2026 15:51:59 +0000</pubDate>
      <link>https://dev.to/motionmind2007/the-new-standard-for-npm-package-discovery-deep-dive-into-libpilot-4ook</link>
      <guid>https://dev.to/motionmind2007/the-new-standard-for-npm-package-discovery-deep-dive-into-libpilot-4ook</guid>
      <description>&lt;p&gt;As web developers, engineering workflows are heavily dependent on the NPM registry. However, the traditional process of searching, auditing, and integrating packages remains highly fragmented. Developers are routinely forced to hop between npmjs.com, GitHub source repositories, and external documentation tabs simply to verify bundle sizes, check dependency trees, or generate setup boilerplate.&lt;/p&gt;

&lt;p&gt;Following a strong reception on LinkedIn, X, and Facebook, the Motion Mind Team has introduced LibPilot to the dev.to community. LibPilot is not a traditional registry interface; it is an AI-powered search engine and discovery hub engineered to index, track, and analyze over 4,000,000 NPM packages in real time. &lt;/p&gt;

&lt;p&gt;Here is an architectural breakdown of how LibPilot restructures package exploration for modern developers and autonomous AI code agents.&lt;/p&gt;




&lt;h2&gt;
  
  
  Intent-Based Discovery and Global Search Architecture
&lt;/h2&gt;

&lt;p&gt;Traditional search engines require users to input the exact name or strict keyword of a library. LibPilot introduces a dual-input architecture on its home page to eliminate this constraint:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Direct Registry Querying:&lt;/strong&gt; Users can input full or partial package names into the global search bar to instantly surface clean, structured, and typed suggestions directly from the live NPM ecosystem database.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Contextual AI Recommendations:&lt;/strong&gt; For scenarios where the ideal package is unknown, developers can type out a complete description of their project architecture or system constraints (for example: "a lightweight, typed state management engine that handles server-side rendering natively"). LibPilot's internal AI agent processes the functional requirements and suggests production-ready libraries suited for that stack.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Continuous Context AI and Interactive Onboarding
&lt;/h2&gt;

&lt;p&gt;A core goal of the platform is reducing developer friction and maintaining deployment momentum. LibPilot transitions static package documentation into an interactive environment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unlimited AI Chat Architecture:&lt;/strong&gt; Once a library is selected, users can initiate a continuous, context-aware AI chat directly inside the hub. This allows for immediate questions regarding framework compatibility, performance trade-offs, and custom edge cases without changing tabs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI-Generated Implementation Guides:&lt;/strong&gt; The integrated AI engine evaluates the target package to instantly compile environmental setup guidelines, configuration boilerplate, and exact terminal commands tailored to specific execution workflows.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Granular Real-Time Package Telemetry
&lt;/h2&gt;

&lt;p&gt;When auditing a specific library, LibPilot maps complete technical data points across a unified, minimalist panel. Rather than cross-referencing multiple platform registries, developers gain instant access to structural package metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Identity Verification:&lt;/strong&gt; Displays the official Package Name, Package Description, current active Version, and categorized Package Tags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ecosystem Metrics:&lt;/strong&gt; Tracks the absolute operational footprint via Unpacked Package Size, Total Files bundled in the archive, and verified License compliance headers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source Endpoints:&lt;/strong&gt; Fast-tracks source access with direct triggers to the official Package Home Page, active Git Repository, and standalone Documentation manuals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clean Dependency and Dev Dependency Lists:&lt;/strong&gt; Shows two clear, dedicated containers displaying the exact list of Dependencies and Dev Dependencies required by the package, complete with their semantic version codes and total package counts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintainer Attribution:&lt;/strong&gt; Verifies code provenance by surfacing official Contributors/Maintainers alongside their verified contact endpoints, alongside the exact Last Update timestamp to easily spot unmaintained code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Terminal Installation Triggers:&lt;/strong&gt; Out-of-the-box support for copying ready-to-run terminal installation strings optimized for npm, yarn, pnpm, and bun.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Built for Engineering Velocity
&lt;/h2&gt;

&lt;p&gt;LibPilot acts as a powerful web-based bridge between the massive registry registry and your local setup. It replaces cluttered configuration workflows with real-time operational metrics and deep-context automation.&lt;/p&gt;

&lt;p&gt;Explore the live engine and leverage AI insights for your next development environment directly at the official platform: &lt;a href="https://libpilot.motionmind.me" rel="noopener noreferrer"&gt;https://libpilot.motionmind.me&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>ai</category>
      <category>npm</category>
    </item>
    <item>
      <title>Why Most Developers Never Finish Their Projects</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Tue, 16 Jun 2026 14:42:15 +0000</pubDate>
      <link>https://dev.to/motionmind2007/why-most-developers-never-finish-their-projects-7nn</link>
      <guid>https://dev.to/motionmind2007/why-most-developers-never-finish-their-projects-7nn</guid>
      <description>&lt;p&gt;Starting a new project feels exciting.&lt;/p&gt;

&lt;p&gt;A new idea appears, the first few lines of code are written, the design starts coming together, and everything feels possible.&lt;/p&gt;

&lt;p&gt;But after some time, many projects slowly disappear.&lt;/p&gt;

&lt;p&gt;The repository stays untouched.&lt;br&gt;
The last commit becomes weeks or months old.&lt;br&gt;
The idea that once felt amazing becomes another unfinished folder.&lt;/p&gt;

&lt;p&gt;This happens to many developers.&lt;/p&gt;

&lt;p&gt;The problem is usually not a lack of intelligence or creativity.&lt;/p&gt;

&lt;p&gt;The problem is finishing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Difference Between Starting and Building
&lt;/h2&gt;

&lt;p&gt;Starting a project is easy.&lt;/p&gt;

&lt;p&gt;Almost every developer has experienced the excitement of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating a new repository&lt;/li&gt;
&lt;li&gt;Choosing a tech stack&lt;/li&gt;
&lt;li&gt;Designing the UI&lt;/li&gt;
&lt;li&gt;Writing the first components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first 10% of a project is often the most enjoyable part.&lt;/p&gt;

&lt;p&gt;But real building starts when the excitement disappears.&lt;/p&gt;

&lt;p&gt;When you need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fix unexpected bugs&lt;/li&gt;
&lt;li&gt;Refactor messy code&lt;/li&gt;
&lt;li&gt;Make difficult decisions&lt;/li&gt;
&lt;li&gt;Handle boring tasks&lt;/li&gt;
&lt;li&gt;Continue without motivation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is where many projects stop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tutorial Knowledge Does Not Automatically Become Real Experience
&lt;/h2&gt;

&lt;p&gt;One of the biggest reasons developers don't finish projects is staying in learning mode forever.&lt;/p&gt;

&lt;p&gt;Learning is important.&lt;/p&gt;

&lt;p&gt;But there is a difference between:&lt;/p&gt;

&lt;p&gt;"I know how to build this"&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;"I actually built this."&lt;/p&gt;

&lt;p&gt;You can watch dozens of tutorials about authentication, databases, APIs, or frameworks.&lt;/p&gt;

&lt;p&gt;But the real lessons appear when you try to combine everything into a real product.&lt;/p&gt;

&lt;p&gt;A finished imperfect project teaches more than a perfect tutorial.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Trap of Perfectionism
&lt;/h2&gt;

&lt;p&gt;Many developers delay releasing because they want everything to be perfect.&lt;/p&gt;

&lt;p&gt;The UI must be perfect.&lt;br&gt;
The code must be perfect.&lt;br&gt;
The architecture must be perfect.&lt;/p&gt;

&lt;p&gt;But the truth is:&lt;/p&gt;

&lt;p&gt;The first version of almost anything is not perfect.&lt;/p&gt;

&lt;p&gt;Great software is usually created through improvement.&lt;/p&gt;

&lt;p&gt;A small working version gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real feedback&lt;/li&gt;
&lt;li&gt;Real problems to solve&lt;/li&gt;
&lt;li&gt;Real users&lt;/li&gt;
&lt;li&gt;Real learning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A project that exists can improve.&lt;/p&gt;

&lt;p&gt;A project that is only an idea cannot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shiny Object Syndrome
&lt;/h2&gt;

&lt;p&gt;Technology changes quickly.&lt;/p&gt;

&lt;p&gt;A developer starts building something with one stack.&lt;/p&gt;

&lt;p&gt;Then a new framework appears.&lt;/p&gt;

&lt;p&gt;A new library looks interesting.&lt;/p&gt;

&lt;p&gt;A new trend starts.&lt;/p&gt;

&lt;p&gt;Suddenly the old project feels boring.&lt;/p&gt;

&lt;p&gt;So they restart.&lt;/p&gt;

&lt;p&gt;Again and again.&lt;/p&gt;

&lt;p&gt;The result?&lt;/p&gt;

&lt;p&gt;Many beginnings.&lt;br&gt;
Few endings.&lt;/p&gt;

&lt;p&gt;Learning new technology is good, but constantly switching prevents growth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivation Starts Projects, Discipline Finishes Them
&lt;/h2&gt;

&lt;p&gt;Motivation is powerful at the beginning.&lt;/p&gt;

&lt;p&gt;It helps you start.&lt;/p&gt;

&lt;p&gt;But motivation is temporary.&lt;/p&gt;

&lt;p&gt;Some days you will not feel inspired.&lt;br&gt;
Some days coding will feel difficult.&lt;/p&gt;

&lt;p&gt;That is normal.&lt;/p&gt;

&lt;p&gt;The developers who finish projects are not always the most motivated ones.&lt;/p&gt;

&lt;p&gt;They are the ones who continue even when the excitement is gone.&lt;/p&gt;

&lt;p&gt;Consistency beats intensity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Small Projects Create Big Skills
&lt;/h2&gt;

&lt;p&gt;Many developers think every project needs to be a huge startup idea.&lt;/p&gt;

&lt;p&gt;It doesn't.&lt;/p&gt;

&lt;p&gt;A small completed project teaches:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to structure code&lt;/li&gt;
&lt;li&gt;How to debug&lt;/li&gt;
&lt;li&gt;How to handle mistakes&lt;/li&gt;
&lt;li&gt;How to deploy&lt;/li&gt;
&lt;li&gt;How to maintain software&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finishing small things builds the ability to finish bigger things.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Goal Is Not Just Writing Code
&lt;/h2&gt;

&lt;p&gt;A developer is not only someone who writes code.&lt;/p&gt;

&lt;p&gt;A developer solves problems.&lt;/p&gt;

&lt;p&gt;And solving problems requires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Patience&lt;/li&gt;
&lt;li&gt;Decision making&lt;/li&gt;
&lt;li&gt;Communication&lt;/li&gt;
&lt;li&gt;Persistence&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The hardest part of software development is often not syntax.&lt;/p&gt;

&lt;p&gt;It is staying with a problem long enough to solve it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The world is not lacking ideas.&lt;/p&gt;

&lt;p&gt;Developers have thousands of ideas every day.&lt;/p&gt;

&lt;p&gt;The difference is made by the people who keep working after the excitement disappears.&lt;/p&gt;

&lt;p&gt;Start small.&lt;br&gt;
Build consistently.&lt;br&gt;
Finish what you start.&lt;/p&gt;

&lt;p&gt;Because a completed project, even an imperfect one, will always teach you more than an unfinished perfect idea.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>How I Built a Reactive State System in Pure JavaScript</title>
      <dc:creator>Saiful Siam</dc:creator>
      <pubDate>Sun, 14 Jun 2026 05:58:58 +0000</pubDate>
      <link>https://dev.to/motionmind2007/how-i-built-a-reactive-state-system-in-pure-javascript-1lj</link>
      <guid>https://dev.to/motionmind2007/how-i-built-a-reactive-state-system-in-pure-javascript-1lj</guid>
      <description>&lt;p&gt;When I started building Levelo JS, one of the most interesting challenges was creating a reactive state system.&lt;/p&gt;

&lt;p&gt;At first, I wanted something that felt similar to React. My goal was to make state access simple and intuitive, where developers could work with state values directly without extra function calls.&lt;/p&gt;

&lt;p&gt;But once I started implementing it, I quickly realized that building a reactive system is much harder than it looks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The First Idea
&lt;/h2&gt;

&lt;p&gt;My original plan was to create a getter/setter system where state values could be accessed directly, similar to how developers usually work with variables.&lt;/p&gt;

&lt;p&gt;On paper, it sounded simple.&lt;/p&gt;

&lt;p&gt;In reality, it introduced many challenges.&lt;/p&gt;

&lt;p&gt;The framework needs to know exactly when a value is being read, when it changes, and which parts of the UI depend on that value. Handling all of that correctly without adding unnecessary complexity turned out to be much more difficult than I expected.&lt;/p&gt;

&lt;h2&gt;
  
  
  Rethinking the API
&lt;/h2&gt;

&lt;p&gt;Instead of spending weeks trying to perfect the original idea, I decided to focus on building a working MVP first.&lt;/p&gt;

&lt;p&gt;That's when I started experimenting with a function-based approach.&lt;/p&gt;

&lt;p&gt;The API eventually became:&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="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;state&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;levelojs&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Counter&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="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;count&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setCount&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;state&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&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="c1"&gt;// UI&lt;/span&gt;
  &lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This approach felt much simpler to implement while still providing the reactive behavior I wanted.&lt;/p&gt;

&lt;p&gt;Interestingly, this design ended up being closer to SolidJS than React.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building It
&lt;/h2&gt;

&lt;p&gt;I wasn't working completely alone.&lt;/p&gt;

&lt;p&gt;Part of the implementation was something I explored together with AI while experimenting with different ideas and approaches.&lt;/p&gt;

&lt;p&gt;The goal wasn't to copy another framework.&lt;/p&gt;

&lt;p&gt;The goal was to understand how reactivity actually works behind the scenes and then build a system that fits the design philosophy of Levelo JS.&lt;/p&gt;

&lt;p&gt;Once the function-based API was in place, many parts of the system became easier to reason about.&lt;/p&gt;

&lt;p&gt;The implementation became cleaner, debugging became simpler, and progress became much faster.&lt;/p&gt;

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

&lt;p&gt;This project taught me something important:&lt;/p&gt;

&lt;p&gt;The first idea is not always the best idea.&lt;/p&gt;

&lt;p&gt;Sometimes developers spend too much time chasing the "perfect" solution when a simpler solution can move the project forward much faster.&lt;/p&gt;

&lt;p&gt;I still find the direct getter/setter approach interesting, and I may revisit it in the future.&lt;/p&gt;

&lt;p&gt;But for an MVP, the function-based API was the right decision.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;Building a reactive state system taught me that reactivity is not magic.&lt;/p&gt;

&lt;p&gt;Behind every simple API, there is a lot of design, experimentation, and problem-solving.&lt;/p&gt;

&lt;p&gt;Levelo JS is still evolving, and there are many things I want to improve.&lt;/p&gt;

&lt;p&gt;But creating the state system was one of the moments where I learned the most about framework development and how modern JavaScript libraries work under the hood.&lt;/p&gt;

&lt;p&gt;If you're building your own library or framework, don't be afraid to choose the simpler solution first.&lt;/p&gt;

&lt;p&gt;You can always improve it later.&lt;/p&gt;

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