M9K is one platform — object storage, a high-performance metrics engine, access control, files and server-side AI — behind a single API. It is the foundation our own product, BigBoard, runs on, in production today.
An object store, a time-series database, authentication, 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.
Queries answer in the same time whether you ask for the last hour or ten years of history — statistics are computed as data arrives, so reading a decade costs no more than reading a day. Every series is histogrammed, surfacing behavioral change over time, not just the current value.
flat query response · pre-aggregated · histogrammed · group-by & ancestry rollupModel anything as objects with parent-child structure and a three-level attribute namespace. Add a new type without a schema migration.
CRUD · import / export · dependenciesOAuth/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 keysFull-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 wildcardsAttach files to any object with version history, MIME detection, and resumable range downloads — no separate storage service to operate.
range requests · per-object manifestGive 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-awareSubscribe over WebSocket and receive object, metric and dependency changes as they happen — the basis for views that never need a refresh.
wss · object-bound updatesAccept OTLP metrics directly — protobuf or JSON, gzip optional — with cumulative-to-delta conversion and cardinality limits handled server-side.
OTLP /v1/metrics · resource mappingRequest-level detection of injection, traversal and scanner patterns with per-IP threat scoring and auto-block, plus per-instance rate limiting.
threat scoring · rate limitsMost 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.
# 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]}) # ten years or one hour — same query, same speed api('GET', 'metrics/cpu?group=site&from=-10y')
Everything below is shipped and in production use today — the kind of claim that survives technical diligence.
Agents span FreeBSD, Linux, macOS, Windows, SNMP, UPS, PDU, Modbus, gNMI streaming telemetry, ICMP, syslog and external market feeds — all reporting through one platform. Metric-query timing measured on the live API: a ten-year window returns in the same time as a one-hour window.
BigBoard is observability as a business tool: ask your critical infrastructure a plain-language question and get an answer grounded in live data — for engineers, field technicians, and the people deciding what to spend. It is the proof that the platform carries a real product, not just an API.
We run the platform on infrastructure we operate. You build on top.
Take the source and run it on your own metal, your own terms.
M9K is built by two founders who do the engineering and the operations themselves. We chose depth over headcount — a compiled core, infrastructure we control, and a product running on it before we ask anyone to launch with us.
We are pre-launch by design: the platform and its first product are proven in production, and we are opening to early partners and investors who prefer to evaluate software that already works.