Senior Frontend Engineer
Industrial HMI & Data Apps
Location: Hyderabad or Visakhapatnam, India
Type: Permanent, full-time
Compensation: Competitive, commensurate with experience
About MavenProTech
MavenProTech is a UK-based product company delivering intelligent software and expert services for the process industries. This position is based full-time in our Visakhapatnam (Vizag), India office, with some remote flexibility and occasional travel. You will join the founding team in our Vizag office and should be comfortable working UK hours to maintain the necessary overlap with our UK-based team and European customers.
The role
You own the hard visual graphics of our products: live SCADA-style HMIs (SVG topology, faceplates, alarm panels, in-canvas schematic editors, path planners) and the shared MavenShapes shape library and editor engine that powers them. Building these industrial shapes and their energetic, live behaviour is where most of your week goes it is the reason this role exists. You are also genuinely strong at modern data-app UX (dense tables, forms, dashboards, wizards, and an interactive Gantt).
Responsibilities
- Back up and level-up dense data-app UX editable data grids at scale (sticky headers, multi-sort/filter, virtualisation for 10k+ rows, keyboard nav, copy-paste-from-Excel), forms, and multi-step wizards stepping in for the Full-Stack engineer when they are stretched.
- Build an interactive Gantt / scheduling UI drag-to-reschedule, resize, snap, dependencies, conflict overlays, resource lanes, and zoom from minutes to months.
- Build KPI dashboards target-vs-actual with tolerance bands, sparklines, roll-up switching, and drill-down to source records.
- Build a live SVG HMI — a topology renderer that colours pipes by product and animates valve/pump state from backend polling, click-to-open faceplates, and a persistent alarm panel.
- Build and own an in-canvas graphics editor on a shared SVG shape library — selection, resize, group/ungroup, alignment, snap, undo/redo, in-place text edit, and pipe-endpoint drag.
- Own print- and PDF-ready report layouts, a screenshot-diff visual regression harness, and shared shape-library versioning across products.
What we need from you
You will spend the majority of your time on live SCADA-HMI and shared-graphics work — that is the primary job. The remainder is modern data-app UX,
where you back up and complement our Full-Stack Product Engineer rather than own the day-to-day screens. We need real strength on the HMI / graphics side; solid data-app UX is expected too, but it is your second string. If your experience is heavier on HMI, that is ideal; if it is currently heavier on data apps, you will frontload HMI while you ramp.
Must-have
- 5+ years of frontend engineering — at least 2 building non-trivial interactive graphics (SCADA HMI, CAD tools, diagramming, whiteboard, editors) and at least 1 building data-heavy applications (admin consoles, analytics dashboards, planning tools).
- Vanilla JavaScript proficiency — this codebase uses no framework; you can ship without one and reason about whether to introduce one.
- Deep DOM knowledge — event flow, coordinate systems, layout, and hit-testing (a drag inverting because viewBox and screen coords were mixed should read as an obvious diagnosis).
- Deep SVG DOM programming — createElementNS, getBBox, getScreenCTM, grouping, transform-matrix maths, hit-testing across nested groups; you have hand-rolled a schematic editor, diagram tool, or non-trivial custom visualisation.
- Data-grid UX at scale — editable cells, sticky headers, multi-sort/filter, virtualisation, keyboard nav, copy-paste-from-Excel behaviour.
- Real-time UI over WebSocket / SSE / polling — throttle and coalesce updates without dropping them, and avoid layout thrash on a large schematic.
- CSS layout confidence for dense panels — grid, flexbox, sticky, container queries, and dark/light theming.
- Comfort reading someone else’s messy JavaScript and refactoring it without a rewrite.
- Strong written communication — justifying UX decisions to non-designers and writing user-guide sections.
Highly desirable
- Industrial HMI / SCADA experience — Ignition (Perspective or Vision), Wonderware / AVEVA, iFix, Emerson DeltaV, Yokogawa CENTUM, Honeywell Experion, PI Vision, GE Cimplicity, Siemens WinCC.
- Graphics-editor experience — a CAD tool, diagramming tool, whiteboard, node graph, timeline, or schematic editor; or extending Visio, Draw.io, Lucidchart, tldraw, excalidraw, mermaid, JointJS, or GoJS.
- Interactive Gantt / scheduling / timeline UI — drag-to-move, resize, snap, dependencies, conflict overlays, resource lanes.
- Planning / MES / ERP-facing SaaS UI — Preactor, Aspen Plant Scheduler, SAP APO/DM, Werum PAS-X, Rockwell PharmaSuite, Emerson Syncade.
- Charting depth — hand-rolled SVG/Canvas or d3.js, uPlot, Apache ECharts, plotly, Highcharts; enough for KPI cards, sparklines, target-vs-actual bands, and OEE waterfalls without a heavy dependency.
- Wizard / stepper UX — multi-step flows with validation, resume, and error recovery.
- Browser file I/O — multipart, drag-drop, and chunked upload; client-side XLSX parsing (SheetJS) for previews.
- Print / PDF-ready layouts — CSS @media print, page breaks, headed/footed reports, A3/A4 discipline.
- Performance work — measuring paint, layout, and JS execution; requestAnimationFrame discipline; virtualised rendering.
- Accessibility for dense operator screens — contrast, keyboard reach, screen-reader friendliness.
Bonus
- Familiarity with OPC UA / DA data models — reading real tag values, not fixtures.
- Familiarity with Python (our backend is FastAPI) — enough to read where data comes from.
- Colour-science / accessibility work for industrial palettes (we ship dark and light themes).
Our stack
- Frontend - Vanilla JavaScript ES modules, no build step, a single CSS file with light/dark theming
- Shared library - An SVG editor engine and shape catalogue consumed across the HMI products
- - Backend - FastAPI + PostgreSQL 16 (Python 3.12+); real-time via WebSocket/SSE/SignalR; Chart.js for trends
- - Interop - Some legacy interop in .NET 8; Windows Server production hosts, Linux/macOS for development
How to apply
Send a short note, your CV, and any relevant links to
[email protected] with the subject “Senior Frontend Engineer If you have a public portfolio (personal site, GitHub, CodePen, prior planner/HMI/dashboard screens), include it. We don’t require a cover letter — three sentences on why this role is enough.
MavenProTech is an equal-opportunity employer.
📌 Senior Front End Engineer (Hyderabad)
🏢 Mavenprotech
📍 Hyderabad