Yogyakarta, Indonesia

Aditya Tri Kurniawan

Director & CTO — PT Machvory Digital Engineering

I build factory systems end to end: the sensor board and its firmware, the Modbus or OPC UA link that gets the signal out of the machine, the time-series backend behind it, and the screen a plant manager opens in the morning.

Portrait of Aditya Tri Kurniawan
2platforms in production
13capability areas shipped
1app on iOS & Android
5+years in industrial systems
What I do

I make factory data legible

A machine on a production floor is usually silent about itself. It runs, it stops, it draws power, and nobody can tell you how much of any of that happened last Tuesday. My work is closing that gap — from putting a sensor where there was none, to showing the result to someone who can act on it before the cost is already spent.

Sensing & firmware

STM32 and ESP32 acquisition boards, accelerometers, current transformers. Schematic and PCB in KiCad, BOM sourcing, and commissioning on live machines.

Industrial connectivity

Modbus RTU and TCP, OPC UA, MQTT. Reading from the PLCs, power meters and SCADA already installed, rather than asking anyone to replace them.

Data & backend

Ingestion pipelines, time-series storage and aggregation for machine data arriving continuously from many points at once.

Interface

Operational dashboards, 3D digital twin views, and mobile. Built for someone standing on a factory floor, not for a demo.

Analytics & AI

Anomaly detection, condition trending and asset risk scoring — each of which has to explain the number it produced.

Integration & delivery

Joining the OT layer on the floor to enterprise systems like ERP and SAP. Docker and nginx, on-premise inside the plant network or in the cloud.

Every number shows its work

A score, a forecast, a rupiah saving — each has to state the arithmetic and the baseline it came from. If two screens give different answers for the same asset, that is a bug, not a difference of opinion.

No claim the product cannot prove

We do not publish percentages we have no case study behind. A finding inferred from power draw alone is labelled MEDIUM confidence on screen, with the reason written next to it.

Selected work

What I have built

Every screenshot below is captured from the running product. No mockups, and no numbers we cannot show the arithmetic for.

Platform · 7 capabilities

TNS — Operational Performance & Energy Intelligence

TNS answers whether the machines are actually working, and what they cost to run. OEE per machine and per shift without anyone filling in a spreadsheet. Stoppages detected and sorted by cause. Energy metered down to the individual machine, including kWh per unit produced — the number that quietly tells you a line is degrading.

Energy Monitoring Energy Efficiency OEE Downtime Production Digital Twin Mobile
TNS energy monitoring dashboard
Energy monitoring — consumption, cost, CO₂ and peak load against the contracted limit.
TNS OEE dashboard with availability, performance and quality gauges
OEE per machine and per shift, computed from machine signals.
TNS 3D digital twin of the production floor
The production floor as a 3D model, running on the plant's own CAD geometry.
TNS downtime monitoring with stoppage causes
Downtime — when a machine stopped, for how long, and which cause it belongs to.
My role
Product architecture, connectivity layer, data model, dashboard design
Stack
TypeScript · React · Node.js · time-series storage
Field inputs
Modbus RTU/TCP · OPC UA · MQTT · power meters · PLC
Platform · 6 capabilities

OPTIMUS — Predictive Maintenance & CMMS

Where TNS asks how well a machine is running, OPTIMUS asks how long it will keep running. It watches vibration, temperature and current on assets a plant cannot afford to lose, flags the change early, and turns that finding into a work order with a schedule, a checksheet and a spare part attached — not a note in someone's phone.

Condition Monitoring Predictive Maintenance Asset Health CMMS Maintenance Analytics Digital Andon Digital Twin
OPTIMUS fleet health dashboard
Fleet overview — health, availability, active alarms, critical assets, open work orders.
OPTIMUS condition monitoring trends
Condition monitoring — vibration, temperature and current trended per asset.
OPTIMUS CMMS work orders
CMMS — work orders by type, priority and status, with schedule and spare parts.
OPTIMUS maintenance KPI and analytics
Maintenance analytics — MTTR, MTBF, SLA and work-order mix, per area and technician.
OPTIMUS plant digital twin
Plant digital twin — live asset status pinned onto the 3D model.
OPTIMUS digital andon operator panel
Digital andon — a categorised, one-tap channel from the floor to the people who can act, timestamped so response time becomes measurable.
My role
Platform architecture, sensor integration, analytics rules, CMMS workflow
Stack
TypeScript · React · Node.js · Python · 3D viewer
Sensing
Vibration · temperature · current · anomaly detection
Mobile · Flutter

TNS Energy Mobile — Android & iOS

The energy dashboard lives on a control-room PC. The person who can approve stopping the waste is out on the floor. This app puts today's consumption, its cost in rupiah, peak load against the contracted limit, and the open findings into their pocket. Tap a number and you get the arithmetic, the baseline and the curve it came from. Findings inferred from power alone are marked MEDIUM confidence with the reason printed underneath, because the product cannot prove more than that.

Flutter Dart iOS 12+ Android 8+ One permission: INTERNET
Three screens of the TNS Energy mobile app
Daily summary, consumption by area, and the open waste findings list. It would have been easier to show a big confident number — but this app tells a manager to spend money and interrupt a production line, so it has to show why.
My role
Product definition, information design, release
Platforms
iOS 12 and above · Android 8.0 and above
Permissions
INTERNET only — no camera, location, storage or contacts
Hardware · Firmware

Industrial IoT Node & sensors

Software people tend to assume the data is already there. On an Indonesian factory floor it frequently is not: the machine is twenty years old, it has no network port, and the only thing it will tell you is that it is on. The node is what we bolt on to change that — and it is the reason the platforms above have anything to read.

STM32 KiCad Encoder input Accelerometer Modbus MQTT
Machvory DIN-rail industrial IoT gateway, front and rear
The DIN-rail gateway that sits between the machines and the platform — RS-485 and Ethernet in, MQTT out. Product render.
My role
Circuit design, BOM, firmware, field commissioning
Core
STM32 (H7) with dual high-speed HTL encoder inputs
Installed
PT Javis Teknologi Albarokah · PT Astra Honda Motor (sample)
Web · Brand

machvory.co.id and the film behind it

I designed and built the company's public platform and the CMS behind it. Next.js 14 App Router, Prisma over MySQL, role-based admin access for four roles, first-party visitor analytics, and a lead pipeline that keeps attribution intact across a page reload. The whole site's information architecture lives in a single typed file, so the menu can never drift from the pages it points at.

Next.js 14 Prisma MySQL RBAC Docker nginx Blender
machvory.co.id homepage
The homepage above the fold.
Frame from the Machvory hero film
Frame 320 of a 24-second loop I built in Blender over Machvory's own production-hall model. The panels are cropped screenshots of the running products, not invented HUD graphics. Prerendered rather than WebGL — the earlier live scene cost load time, battery, and stability on mobile.
Hard skills

The stack I actually work in

Listed by where I have shipped something, not by where I have read the documentation.

Embedded & hardware

C / C++STM32 ESP32Firmware KiCadPCB layout Sensor interfacingBOM sourcing

Industrial protocols

Modbus RTU/TCPOPC UA MQTTPLC integration SCADAPower metering

Mobile

FlutterDart iOS releaseAndroid release

Software & data

TypeScriptReact Next.jsNode.js PythonPrisma MySQLPostgreSQL Time-series pipelinesREST APIs

AI, 3D & delivery

Anomaly detectionMachine learning three.jsglTF BlenderDocker nginxGit

Learning next

SwiftSwiftUI Xcode Human Interface Guidelines Core Bluetooth
Experience

Where this came from

Jul 2023 — Present · Yogyakarta · On-site

Director & Chief Technology Officer

PT Machvory Digital Engineering
  • Technical direction for two platforms now running in production: TNS and OPTIMUS.
  • Split the products into 13 capabilities that each stand on their own. A plant can buy energy monitoring for six machines and nothing else, then grow from there.
  • Wrote the connectivity layer into PLCs, power meters and SCADA that are already installed. Nobody has to replace equipment to start.
  • Shipped TNS Energy Mobile to Android and iOS.
  • Set the rule the team writes analytics to: any score, forecast or rupiah figure has to show the arithmetic and the baseline behind it.
  • Hardware alongside the software, from schematic to commissioning on live machines.
  • Hiring, technical interviews, and code review for the engineering team.
Jan 2021 — Apr 2024 · Yogyakarta · On-site

Senior Researcher

PT Javis Teknologi Albarokah
  • Embedded systems and electrical engineering research: signal acquisition, sensor interfacing, and firmware for industrial measurement hardware.
  • Three years close to the physical layer. It is why I fix data-quality problems at the sensor now instead of smoothing them over in the dashboard.
Education

Universitas Mercu Buana Yogyakarta

Apple Developer Academy

Why I am applying

Five years of making industrial data readable, and nearly all of it landed on a desktop dashboard. The one mobile product I have shipped reaches iOS through Flutter — which works, but means I have never actually written for the platform. Swift, SwiftUI, the Human Interface Guidelines, and the design side of building something people choose to open: that is the gap.

What I would bring is a domain most applicants do not have. I know what a maintenance technician does at 6am, why a plant manager distrusts a number, and what happens to an interface when someone is wearing gloves. I have also spent three years running a small engineering team, which mostly teaches you how to be wrong in front of people quickly enough to fix it.

I am not applying to change field. I am applying because the systems I build deserve a better front door than the one I currently know how to make.

Contact

Get in touch