About the Role :
This role is ideal for someone who enjoys working close to hardware, building user-friendly desktop interfaces, and solving real-world device communication challenges.
Responsibilities :
- Design, develop, and maintain a Windows desktop application using React, Electron, and Node.js.
- Implement communication with IoT devices via USB (Serial communication protocols like UART / RS-232).
- Develop and manage local data storage using SQLite, ensuring data integrity and efficient access.
- Ensure cross-process communication (IPC) and hardware interaction through Electron's main / renderer processes.
- Collaborate with embedded / firmware engineers to integrate device protocols and troubleshoot issues.
- Package and deploy Windows installers using tools like Electron Builder.
- Write clean, modular code with unit and integration tests.
Required Skills :
Strong experience with JavaScript / TypeScript, React, Node.js, and Electron as Primary Skill.Proven experience working with USB Serial communication (e.g., using serialport or similar Node.js libraries) and familiar with web serial API, WebUSB AP, UART Protocol implementation experienceKnowledge of SQLite and efficient database querying for embedded / local applications.Familiarity with the Windows operating system and packaging desktop applications.Experience working with asynchronous and event-driven data streams (from devices).Understanding of inter-process communication (IPC) within Electron apps.Ability to debug and troubleshoot low-level device communication issuesNice to Have :
Experience with IoT protocols such as MQTT, Modbus, or BLE.Familiarity with other USB communication modes (CDC, HID).Basic knowledge of embedded systems or microcontroller firmware.Experience with secure data handling and encryption for local storage.Exposure to CI / CD pipelines and auto-updating Electron apps.(ref : hirist.tech)