Multi-tenant data platform · written in C

The engine under your operations.

M9K is one platform — object storage, time-series metrics, access control, files and server-side AI — behind a single API. It's the foundation our own product, BigBoard, runs on. And it's real today: a live monitoring fleet built on it across two datacenters.

Native binaries, no cloud lock-in Owned colocation or yours Pre-launch · shipping product on top
The platform

One platform where most teams assemble five.

Object store, time-series database, auth, file storage and an AI layer usually mean five vendors and the glue code between them. M9K is one engine, one API, one bill — and the pieces are designed to work together.

Hierarchical object store

Model anything as objects with parent-child structure and a three-level attribute namespace. Add a new type without a schema migration.

CRUD · import / export · dependencies

Time-series metrics

Metrics arrive pre-aggregated — min, max, mean and variance per interval — so fleet-wide queries and history come back without re-crunching raw points.

bulk insert · group-by · ancestry rollup

Auth & RBAC

OAuth/JWT sessions, scoped API keys, and group-based permissions on every object — so each tenant or team sees exactly what it should.

per-object roles · scoped keys

Search

Full-text plus attribute, type-taxonomy and metric-range filters — find objects by what they are, what they hold, or how they're behaving.

BM25 ranking · type wildcards

Files, versioned

Attach files to any object with version history, MIME detection, and resumable range downloads — no separate storage service to operate.

range requests · per-object manifest

Server-side AI channels

Give an application a data-aware AI channel. The model runs inside the platform and queries live objects and metrics — the API key never reaches the browser.

streaming · per-channel keys · M9K-aware

Live event stream

Subscribe over WebSocket and get object, metric and dependency changes pushed as they happen — the basis for dashboards that never need a refresh.

wss · object-bound updates

OpenTelemetry-native

Accept OTLP metrics directly — protobuf or JSON, gzip optional — with cumulative-to-delta conversion and cardinality limits handled server-side.

OTLP /v1/metrics · resource mapping

Defense at the edge

Request-level detection of injection, traversal and scanner patterns with per-IP threat scoring and auto-block, plus per-instance rate limiting.

threat scoring · rate limits
Why it's built this way

Written in C, on owned infrastructure, on purpose.

Most platforms in this space are layers of interpreted runtimes on rented cloud. We made the harder, more durable choice — and it shows up as a small footprint, predictable cost, and no dependency on a hyperscaler's pricing.

  • Native binaries, modest footprintThe core services run as compiled C on FreeBSD — no interpreter, no large runtime, far less hardware to do the same work.
  • Multi-tenant by isolationEach instance runs in its own jail with its own data and configuration. Tenants don't share a process or a blast radius.
  • One API surfaceREST for state, WebSocket for live changes, OTLP for ingestion — all behind the same auth, RBAC and audit path that customers actually use.
  • Your data, your choice of metalRun it on our owned colocation, or take the source and run it on your own. No cloud vendor sits between you and your data.
m9k_api.py
# one wrapper, the whole platform
from m9k_api import api

api('POST', 'object', {'parent_id':'0',
  'content':'rack-7', 'type':'device:rack'})

# pre-aggregated metric: [min,max,acc,acc2,n]
api('POST', 'metric/'+ts, {
  'cpu': [12,68,41,1900,60]})

# fleet-wide, grouped by site — server-side
api('GET',
  'metrics/cpu?group=site&from=-7d')
Proof, not promises

It's not a deck. It's running.

Everything below is shipped and in use on our own infrastructure today — the kind of claim that survives technical diligence.

13
Monitoring agent types built & shipped
21
Devices monitored live, two datacenters
1
Full product (BigBoard) running on the platform
100%
On owned infrastructure — no hyperscaler bill

Agents span FreeBSD, Linux, macOS, Windows, SNMP, UPS, PDU, Modbus, gNMI streaming telemetry, ICMP, syslog and external market feeds — all reporting through one platform.

The first product on M9K

BigBoard — ask your infrastructure

BigBoard is observability as a business tool: ask your fleet a plain-language question and get an answer grounded in live data — for engineers, field technicians, and the people deciding what to spend. It's the proof that the platform carries a real product, not just an API.

Visit BigBoard →
Deploy your way

Managed by us, or yours to run.

Managed infrastructure

We run the platform on our owned colocation. You build on top.

  • Owned hardware, not rented cloud capacity
  • Predictable, transparent cost as you grow
  • Operated and monitored by the people who built it

Your infrastructure

Take the source and run it on your own metal, your own terms.

  • Full source access
  • Complete data sovereignty
  • Deploy in your data center or private cloud
Company

A small team that ships.

M9K is built by two founders who do the engineering and the operations themselves. We chose depth over headcount — a compiled core, our own hardware, and a product running on it before we ask anyone to launch with us.

We're pre-launch by design: the platform and its first product are proven on a real fleet, and we're opening to early partners and investors who want to see software that works before it's announced.

Talk to us →

Shipped
Platform & agent fleetCore engine, 13 agent types, live across two datacenters.
Shipped
Alerting & AI diagnosisRules, escalation, email/SMS/webhook, data-aware AI channels.
In progress
Alerting on native objectsMoving alerting state onto the platform's own data model.
On the roadmap
Capacity planning & mobileSpend-and-growth views for decision-makers; a native mobile board.