$mol: 10 Years Later
An autobiographical journey of Dmitry Karlovsky through 10 years of developing the $mol web framework — from childhood DOS programming and working at Yandex, through stints at Wrike, Deutsche Bank, and 1C, to building an independent ecosystem of innovative web technologies.
This is the story of ten years of developing the $mol framework, told through the lens of its creator's life journey — from early programming on DOS to building a modern web ecosystem that challenges mainstream approaches.
Early Years: DOS and QBasic
The story begins in childhood, when the author got access to a computer running DOS without any documentation. Through trial and error, he mastered QBasic, learning to program by experimenting — drawing circles, creating animations, and building simple games. This self-taught approach shaped his philosophy of learning by doing.
From QBasic, the path led through Pascal and C++ in school, to discovering web technologies. The author learned HTML, CSS, JavaScript, and PHP by reverse-engineering the code generated by DreamWeaver, methodically studying each element to understand how the web worked.
Yandex: Photo Hosting and Browser Toolbars
The author's professional career began at Yandex, where he worked on Yandex.Photos (Yandex.Fotki) — a photo hosting service built on CORBA and XML technologies. The experience revealed the complexity and limitations of enterprise Java-based architectures.
Later, he maintained the Yandex.Bar browser toolbar and created the Fenix framework for XUL/XBL development — a framework for building browser extensions. This was his first serious attempt at creating reusable component architectures, laying the groundwork for what would eventually become $mol.
Wrike and the Birth of Reactive State Management
At Wrike, the author worked with ExtJS and developed a reactive state management system that preceded many of the concepts later popularized by MobX and other reactive frameworks. The limitations of ExtJS and the challenges of building complex project management UIs drove him to think deeply about component architecture and reactivity.
Skeddy and the jin Framework
The startup venture Skeddy — a marketplace built on OrientDB and Node.js — led to the creation of the jin framework. During this period, the author also developed PMS (Package/Module/Source), his own modular system that addressed the limitations of existing JavaScript module systems.
The Birth of $mol (2015)
In 2015, while working at SAPRUN, the author presented a demo of a micro-framework to management. This led to the creation of a Ukrainian company dedicated to developing a mobile-optimized framework. The project was published under the MIT license and marked the official beginning of the $mol ecosystem.
$mol introduced several innovative concepts that set it apart from mainstream frameworks:
- Virtual rendering instead of the lazy loading approach — providing superior performance for large lists and complex UIs
- Statically typed cascading styling — bringing type safety to CSS
- Advanced reactive system ($mol_wire) — a fine-grained reactivity system that automatically tracks dependencies
- Component architecture — with a unique approach to composition and property delegation
The framework quickly gained recognition, including from major Russian companies like Sberbank, which validated the approach in production environments.
Deutsche Bank: Fighting Angular
At Deutsche Bank, the author attempted to optimize Angular applications. This involved replacing ZoneJS, improving TestBed performance, and migrating from RxJS to MobX. The experience reinforced his criticism of what he called the "archaic event-driven architecture" and highlighted the fundamental problems of mainstream frameworks — excessive complexity, poor performance, and resistance to genuine innovation.
The 1C Web Editor Project
One of the most ambitious projects was developing a WYSIWYG editor for the 1C platform. This editor featured several breakthrough innovations:
- Virtual rendering on canvases — achieving smooth editing even for massive documents
- dCvRDT algorithm — for real-time collaborative editing, merging changes from multiple users without conflicts
- Complete separation of content and presentation — a clean architecture that allowed content to be rendered in any format
- MarkedText support — for interoperability with other systems and formats
Health Challenges and Personal Trials
The narrative takes a deeply personal turn as the author describes his battle with a heart tumor, the subsequent surgery, and radiation therapy. These life-threatening experiences, combined with the loss of his beloved cat Murka — which coincided with the start of the war in Ukraine — profoundly affected his perspective on time, priorities, and what truly matters in life.
Going Independent
Realizing his age and the limited time available, the author left corporate work to pursue his vision independently. He began creating video content about problems in modern web technologies and started building his own ecosystem of products — free from the compromises demanded by corporate employment.
PiterJS and Community Building
The author reorganized PiterJS, the St. Petersburg JavaScript developer community, organized the "Brain Dance Day" conference, and held a $mol hackathon. These community-building efforts aimed to create a space for developers interested in alternative approaches to web development — approaches that prioritize performance, simplicity, and innovation over following the crowd.
Current Projects and Vision
The author's current work centers on several ambitious projects that represent the culmination of a decade of unconventional thinking:
- CRUS_DB — a decentralized real-time database with CRDT support, enabling true offline-first applications with automatic synchronization across devices
- Hyper Dev Tech Guild — a community of like-minded specialists working on next-generation web technologies outside the mainstream
- An ecosystem of products without intrusive advertising — built on the principles of user respect and technical excellence rather than engagement metrics
- A real-time wiki based on CRUS_DB — demonstrating the practical application of the decentralized database in a collaborative environment
Philosophy: "Not Today"
The article is permeated with the refrain "not today" — reflecting postponed projects, deferred dreams, and the constant tension between what needs to be done now and what the author truly wants to build. He criticizes the current state of the web industry, the popularity of frameworks he considers fundamentally flawed, and the absence of genuine innovation despite obvious needs. His decade-long journey with $mol represents not just a technical endeavor, but a philosophical stance: that the web deserves better tools, and that someone needs to build them — even if recognition comes slowly or not at all.
"Live with it" — the final phrase, underscoring a pragmatic view of technology, society, and a developer's personal life. After ten years, $mol remains an outsider's framework — technically superior in many ways, yet stubbornly outside the mainstream. And its creator wouldn't have it any other way.
FAQ
What is this article about in one sentence?
This article explains the core idea in practical terms and focuses on what you can apply in real work.
Who is this article for?
It is written for engineers, technical leaders, and curious readers who want a clear, implementation-focused explanation.
What should I read next?
Use the related articles below to continue with closely connected topics and concrete examples.