Created
September 12, 2025 10:57
-
-
Save pekkis/d7fb97ca034bb9be73a6a218cc377aa8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blazing fast. enterprise-ready. battle-tested*. next-gen. zero-config. batteries-included. type-safe**. future-proof***. | |
| Meet Mirko.js | |
| The boldly meta-reactive UI framework for React that fearlessly re-implements React inside your React app — only worse. | |
| Forget hooks. Embrace Mirko Components™, a courageous fusion of React’s render cycle with the most nostalgic parts of Bacon.js observables. It’s the best of both worlds’ worst ideas, lovingly duct-taped together. | |
| Why Mirko? | |
| Reinvented State Management | |
| No useState, no useEffect, no problem. Wire your app with mirko-components that push, pull, debounce, and occasionally sulk. State flows like syrup in January. | |
| Observables, but extra | |
| Powered by the Bacon.js bits you forgot to uninstall. Side effects live everywhere, which is great for visibility and character growth. | |
| Zero-Config, Maximum Ceremony | |
| Works out-of-the-box, but every box comes with more boxes. Extensible via over-engineered adapters you’ll never need yet cannot remove. | |
| SSR-ish Streaming | |
| Sends HTML in artisanal micro-drips for that premium “something is happening” feeling. | |
| Tree-Shaking-Resistant™ | |
| Our compiler carefully prevents your dead code from being shaken away. Because you wrote it; you should keep it. | |
| DX You Can Feel | |
| Delightful ergonomics, sensible defaults, powerful escape hatches, and sharp edges. You will feel all of them. | |
| Install | |
| npm i mirko.js | |
| import { MirkoRoot, MirkoState } from "mirko.js"; | |
| export default function App() { | |
| return ( | |
| <MirkoRoot suspense="always"> | |
| <MirkoState id="cart" strategy="overreactive" leak="yes" /> | |
| {/* your regular React components, now mirko-fied */} | |
| </MirkoRoot> | |
| ); | |
| } | |
| Features You Didn’t Ask For | |
| End-to-End Reactivity – from click to complaint. | |
| Compiler-Runtime Synergy – we do extra work at build and at runtime, just to be sure. | |
| Plugin Ecosystem – coming soon; already deprecated. | |
| First-Class Types – all any, all the time (for velocity). | |
| Benchmarks (internal, conclusive) | |
| Up to 200% more renders per render. | |
| 2× slower than useState in synthetic tests, which proves it’s doing something meaningful. | |
| 99.9% compatibility with React concepts, except the ones you use. | |
| Use Cases | |
| When your team says “we should keep it simple,” and you reply “or hear me out…” | |
| Migrating from spaghetti to rigatoni-grade complexity. | |
| Impressing architecture astronauts and confusing linters. | |
| FAQ | |
| Is it production-ready? | |
| Absolutely—if your production is a conference demo. | |
| Why would I use this? | |
| You probably wouldn’t. But you could, and that’s innovation. | |
| Does it replace Redux, Zustand, Recoil, Hooks, Context, Signals, and common sense? | |
| Yes. And no. Mostly no. But also yes. | |
| What about performance? | |
| Performs. Spectacularly. Results may vary; expectations should too. | |
| Call to Action | |
| Join the movement that moves in circles. Ship boldly. Mirko.js — because reactiveComponent deserves a logo and a legacy. | |
| * “battle-tested” in local development. | |
| ** “type-safe” with adequate faith. | |
| *** “future-proof” until next week. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment