For factories

Your plant floor, live on a dashboard.

Most factories already generate the data they need. It sits in PLCs, on HMI screens, in a SCADA system nobody exports from, and on paper logs filled in at the end of each shift. So downtime gets discovered the next morning, OEE gets calculated in a spreadsheet a week later, and nobody fully trusts either number.

We build the software layer on top of the machines you already have. We read data over MQTT or Modbus, store it in TimescaleDB, and put it on screens with Grafana or a custom Next.js frontend. Alerts when a line stops. Shift reports that write themselves. A downtime number that comes from the machine, not from memory.

One boundary worth stating up front: we are a software company, not a controls integrator. We do not write PLC logic and we do not touch safety systems. We connect to what is already there, read-only wherever possible. Most projects go live in 3–8 weeks, with a working URL from the end of week one.

Who this is for

A plant with ten or fifty machines and no live view of any of them. Downtime is logged on clipboards, OEE is a monthly argument, and the one person who understood the SCADA setup has left. You want numbers you can defend without replacing hardware that still runs fine.

Hardware and IoT startups fit too. If you are building a sensor, gateway, or machine and need the software behind it, the ingestion pipeline, the dashboards, the customer-facing app, we build that side while you build the physical product.

It also suits established manufacturers whose data is locked inside one vendor's historian. Moving it into open tools like TimescaleDB and Grafana means you own the data, the queries, and the repository they live in.

What's included

Scoped in writing. Delivered in your accounts.

Machine data collection

Connections to PLCs, sensors, and gateways over MQTT and Modbus, read-only wherever possible.

Time-series storage

TimescaleDB with compression and retention policies, so years of readings stay fast to query.

Plant dashboards

Grafana for engineers, custom Next.js screens for the floor and the office, each showing what that audience needs.

Downtime and OEE tracking

Availability, performance, and quality computed from machine signals, with the raw readings stored so the numbers can be checked.

Alerts and shift reports

Threshold alerts when a line stops, and scheduled reports built as Inngest background jobs with retries when a send fails.

Operator and manager apps

React Native apps for tagging downtime reasons on the floor and checking the plant from a phone.

Your repo, your data

The repository lives in your GitHub organisation from day one, with full IP assignment and no vendor lock on the data.

How it works
01

Scope and fixed quote

A mutual NDA the same day, then a call to walk through your machines, protocols, and what data already exists. You get one fixed price in writing within 48 hours, and it does not change after kickoff.

Days 1–2
02

First machine on a screen

We connect one machine, or a simulator if site access takes longer, and put its data on a live URL you can open. Daily written updates start here.

Week 1
03

Build out the plant

Remaining machines, dashboards, alerts, and reports, added to the same URL as they land. Engineers design the data model and read every change; AI writes the boilerplate and tests.

Weeks 2–7
04

Launch and the 30-day window

Anything we built that breaks in the first 30 days is fixed at no cost. After that, optional monthly care you can stop any time.

After launch
Questions
Do I need to replace my PLCs or SCADA system to get machine monitoring?
No. Monitoring software can read from existing PLCs over Modbus and from gateways over MQTT without changing any control logic. FirstCompile connects read-only wherever possible and does not touch safety systems or PLC programming. Your existing controls keep running as they are.
How do you get data out of older machines with no network port?
Retrofit sensors are the usual answer: a current clamp, vibration sensor, or optical counter wired to a small gateway that publishes MQTT. That gives you run state and cycle counts without opening the machine's control cabinet. Some very old machines are not worth connecting, and it is cheaper to say so during scoping than to find out after.
How long does it take to build a factory monitoring dashboard?
FirstCompile puts the first machine's data on a live URL by the end of week one, and most full systems take 3–8 weeks depending on machine count and protocols. You get daily written updates throughout. Site access and network setup on the plant side are usually the slowest part.
How much does custom industrial monitoring software cost?
FirstCompile quotes one fixed price, in writing, within 48 hours of a scoping call. The work is never billed hourly and the number does not change after kickoff. The price depends on machine count, protocols, and how much of the dashboard and alerting layer you need.
Start

Thirty minutes. Bring the problem.

  • WITHAn engineer, not an account manager
  • NDASigned first, before you share anything
  • AFTERA written scope and fixed quote within 48 hours
Book a call