Build apps with Carbide
Carbide is how you build your own apps for MachineMetrics. You write a React project, run it on infrastructure you control, and register it so it appears inside MachineMetrics for your team, signed in as them and reading your live production data.
What you build
A project is one codebase created by mmdev create. It has one OAuth client. A project can
contain several apps, each reached by its own URL:
| App type | Where it appears | Typical use |
|---|---|---|
| Page | My Apps, opened full-frame | A tool with its own navigation, reports, forms |
| Widget | A dashboard, with a settings panel | One chart or number, configured per dashboard |
| Tab | The Operator Dashboard | A view an operator uses at the machine |
Apps can open sidesheets, slide-in panels that either MachineMetrics provides or your app serves, and can ask the user to confirm an action with a dialog the platform draws.
How it fits together
- Build it on your machine. The Carbide plugin for your coding assistant scaffolds the
project, installs
mmdev, and knows mm-react-components and the platform's data. You need Node 24 and npm; Docker only if you build the template's container image. - Deploy on your infrastructure. A persistent server your IT sanctions, on a domain they control, served over HTTPS. MachineMetrics never hosts your code.
- Register it. An IT admin registers each app in MachineMetrics under Builder → Manage Apps with its URL and type. Registration publishes it to your company.
- Use it. Pages show on My Apps, widgets in the dashboard widget picker, tabs in the Operator Dashboard tab picker. Sign-in, data access, and where the app appears are all handled by MachineMetrics.
Builder is in beta. If Builder is not in your navigation, ask your MachineMetrics account team to enable it.
Where to go next
- Getting started takes you from nothing to an app running in the local playground.
- Authentication explains what your app needs to sign in and what your users see.
- Publish your app covers deploying and registering.
- Glossary defines the words used across this site.