← Back to Writing

Monix — Built Out of Curiosity

A curious side project born from real incidents·

Monix is a curiosity-driven project. It didn't start as a product idea or a polished plan — it started from a real incident that made me uncomfortable as a developer.

My first real exposure to react2shell CVE attacks was a turning point. During that period, large parts of the internet went down or behaved unpredictably. Servers spiked, resources were exhausted, and many systems failed not because of bad code — but because they were not being observed properly.

That moment made me curious. I wanted to know:

  • What is actually happening inside my server during such attacks?
  • How fast does CPU or RAM ramp up?
  • Would I even know something is wrong before the system crashes?

The First Step: Building a CLI Observer

My initial instinct was not to build a web dashboard. As a developer, the CLI feels natural. So I started there.

I began building a small CLI tool — what later became monix-core. The idea was simple:

  • Continuously observe the server
  • Track CPU, memory, disk, and basic process behavior
  • Alert me when something abnormal happens

monix-core architecture

Server/OS
Monix Core
Metrics
Thresholds
CLI/Alerts

Monix-core is intentionally minimal. It focuses on observation first, not prediction.

Why React2Shell Incidents Mattered

React2shell-related CVE attacks highlighted a harsh reality:

  • Attacks don't announce themselves
  • Resource exhaustion happens silently
  • By the time logs show errors, damage is often done

What usually fails first is not the app — it's CPU and memory stability.

Monix was my attempt to see these failures as they happen, not after.

From CLI to Web: The Next Curiosity

After building the CLI observer, another question came up naturally:

Why limit this visibility to the terminal?

That's when the idea of Monix Web started forming. Not as a replacement for the CLI — but as an extension of the same core logic.

one core, multiple interfaces

Monix Core
Metrics Stream+

Click nodes to expand/collapse

One core. Multiple ways to observe.

Monix Web: Observing, Not Decorating

Monix Web is not meant to be a flashy dashboard. Its purpose is simple:

  • Show what the server is doing right now
  • Make spikes obvious
  • Reduce guesswork during incidents

Not hiding complexity — but exposing it safely.

High-Level System Flow

This is how Monix works conceptually today:

complete flow

Server Metrics
Monix Core
Processing
Alert Logic
Web APIMonix Web UI

Everything flows outward from the core.


Metrics as First-Class Streams

One of the biggest design shifts was treating metrics as streams, not values:

  • CPU is not a number, it's a timeline
  • Memory is not usage, it's behavior
  • Disk I/O is not speed, it's pressure

metrics pipeline

Source
1
Sampler
2
Normalizer
3
Buffer
4
UI
5

This led to push-based updates, event timestamps over averages, and backpressure handling.

Failure, Noise, and Reality

Real systems are messy. Metrics spike without warning, lie when averaged, and become meaningless without context.

Monix embraces this by:

  • Showing raw values alongside processed ones
  • Avoiding over-smoothing
  • Letting the developer see the noise

Because noise is often where the truth lives.

How Monix Is Evolving

Monix is intentionally growing in layers:

evolution timeline

2024
Raw Metrics Collection
2025
Web Dashboard Development
2026
Modular Backend
2027
Event-Driven Architecture

Each phase exists to test ideas — not to chase completeness.

Why Monix Is Still In Progress

Monix is intentionally unfinished. I am still:

  • Refining how metrics are sampled
  • Learning where thresholds fail
  • Understanding false positives
  • Studying real-world server behavior

Each iteration teaches me something new about system internals, resource exhaustion, and observability limits.

This Is Not a Startup Story

Monix is not built from a founder mindset. It is built from a curious developer mindset.

I wanted to:

  • Learn from real incidents
  • Build tools I personally need
  • Understand systems beyond abstractions

Monix exists because I like building things that help me see clearly when systems misbehave.

Closing

From react2shell CVE incidents → to a CLI observer → to a shared core → to a web analyzer.

Monix is a continuous experiment. It will evolve as my understanding of systems evolves.

If you enjoy thoughtful experiments — welcome.

Related