Skip to content

Hello, I'm

Rudy Nurhadi

Embedded Systems · Backend APIs · Creative Technology

About

Senior Software Engineer with 8+ years building embedded firmware (C, FreeRTOS, ESP32, STM32), backend APIs (Python, FastAPI, Litestar), interactive installations, and real-time graphics (VVVV, Unreal Engine, TouchDesigner). Published IEEE researcher in biometric recognition. Former President of Universitas Indonesia Robotics Team.

rudynurhadi@gmail.comTangerang Selatan, Indonesia

Experience

Senior Software Engineer

Digital NativCurrent

Oct 2018 – Present · Full-time · Tangerang Selatan, Indonesia

  • Contributed to the software development of over 30 projects including embedded systems, Windows applications, and web applications, ensuring they met project deadlines and received high user satisfaction
  • Collaborated with the technical director to translate project needs into detailed technical specifications and identify the most suitable technologies, streamlining the development process
  • Developed firmware for microcontrollers (ESP32, STM32, Raspberry Pi Pico) using C, PlatformIO, and FreeRTOS, delivering reliable and high-performance solutions
  • Built intuitive UI/UX applications using VVVV for Windows, React for web, and Unreal Engine for complex projects, ensuring alignment with design specifications
  • Designed and implemented APIs using Python with FastAPI and Litestar, improving communication efficiency across application components
  • Developed Linux SBC applications on Raspberry Pi using Python for rapid prototyping and C when low-level performance was critical

Backend Developer

Balesin.idCurrent

Nov 2023 – Present · Part-time / Hybrid · Tangerang Selatan, Indonesia

  • Developed and maintained high-performance APIs using Python with Litestar and FastAPI, delivering robust and reliable services that supported growing application demands
  • Migrated the entire service stack from Google Cloud Compute and Cloud Run to a self-hosted Coolify instance managed via Hermes agent, cutting infrastructure costs by nearly 80%
  • Refactored production code to use asynchronous libraries (aiohttp, aiomysql, async redis, psqlpy), resulting in markedly improved API response times and enhanced overall application performance

Past Experience

Software Engineer

Digital Nativ

Jul 2017 – Sep 2018 · Full-time · Tangerang Selatan, Indonesia

  • Developed firmware for Arduino using C, delivering reliable control that met project specifications
  • Designed and implemented UI/UX applications using VVVV based on design decisions, resulting in improved user engagement
  • Collaborated with Invisible Flock (UK) to develop an embedded software system for the Aurora interactive arts project using Arduino and C. Controlled over 30 winches, 16 lasers, and 30 LEDs, contributing to sold-out ticket sales in Liverpool

Software Engineer

Sugihart Digital Imaji

Oct 2018 – Feb 2020 · Part-time

  • Researched and developed image processing software for object recognition using Python, OpenCV, and TensorFlow for AI model inference
  • Built an API to expose image processing services, enabling seamless integration with downstream applications

Laboratory Assistant

Digital Systems Laboratory - Universitas Indonesia

Sep 2015 – Aug 2017

  • Trained and assisted students in Digital Systems, Introduction to Computer Engineering, and Microprocessor/Microcontroller laboratory courses

Projects

All contributions are software: I write firmware, backends, UIs, and control systems. Hardware, mechanical design, and installation were handled by other team members.

.TEMU @mblocspace Photobooth

Dec 2025 – Jan 2026
  • Built the entire photobooth software stack in Python: a local backend on a mini PC controlling a DSLR camera over PTP via libgphoto2, plus a photo printer service for physical prints
  • Created an online backend handling frame selection and QRIS payment integration before each session begins
  • Developed a web frontend that calls the local backend's API to control capture, preview, and the full photobooth flow
  • Implemented post-capture processing: merges the photo with the chosen frame, generates a 5-second live photo video, and retains the original unedited shot
  • Uploaded all three outputs to S3 and generated a QR code at session end for users to scan and download their photos
Pythonlibgphoto2S3QRISFastAPIReact
.TEMU @mblocspace Photobooth
0:00

Jenius SMBC Ticker Tape Booth

Oct 2024 – Feb 2025
  • Built a full-stack CMS web app (React frontend + FastAPI backend) with drag-and-drop scheduling for ticker tape and videowall content management
  • Created an on-site viewer app that renders running text and video on a mini PC, pulling content and schedules from the CMS in real time
  • Programmed ESP32 firmware in C using ESP-NOW for wireless LED backlight: one ESP32 dongle on the viewer mini PC sends color data to receiver ESP32s embedded in the booth panels
ReactFastAPICESP32ESP-NOWLED
Jenius SMBC Ticker Tape Booth
0:00

Balesin Chat Commerce

Sep 2024 – Jan 2025
  • Architected a fully async backend from scratch using Python with Litestar, enabling high-throughput non-blocking I/O across all service layers
  • Designed the PostgreSQL schema: column types, indexing strategy, and data modeling for the commerce domain, then implemented it via psqlpy for async database operations
  • Implemented JWT authentication with argon2 password hashing, ensuring resistance to brute-force and timing attacks
  • Integrated the backend with multiple internal APIs using aiohttp for async HTTP calls, reducing external request latency
  • Deployed the entire system to Google Cloud Platform in July 2025, configuring the compute environment and handling service setup
PythonLitestarPostgreSQLJWTGCPAsync

Rituals of Radiance

Jul 2024 – Aug 2024
  • Programmed microcontroller firmware in C with PlatformIO for a motorized LED bar controlled over Ethernet UDP, mapping received color commands to LED pixels on a moving array
  • Developed motor sync logic in firmware for the open/close mechanism, triggered by network commands
  • Built a full simulation in VVVV for pre-deployment iteration on LED animations and motor behavior
  • Created an AI content pipeline using StreamDiffusion: text prompts generate visuals that get translated into LED color data
CPlatformIOVVVVStreamDiffusionArduinoLED
Rituals of Radiance
0:00

Locavore B.I.O Library

Nov 2023 – Jan 2024
  • Built an interactive 3D viewer rendering a cloud of floating ingredient cards with photogrammetry scans, supporting drag-browse, detail drilldown, model rotation, and interior cross-section views at 60fps
  • Wrote a Blender Python pipeline to auto-decimate high-poly photogrammetry meshes and bake diffuse and normal maps into game-ready assets
  • Integrated live Google Sheets metadata so the culinary team can update ingredient info without touching the app
PythonBlender3DReal-timePhotogrammetry
Locavore B.I.O Library
0:00

ION Mobility Build Your Bike

Sep 2023 – Oct 2023
  • Built an interactive product configurator in Unreal Engine 5 where users drag parts (motor, battery, frame, wheels, brakes) from a tray onto center stage to assemble an electric motorbike step by step
  • Implemented real-time custom coloring on the 3D model with photorealistic results
  • Integrated an email capture and render pipeline: users enter their email, the app renders a high-quality shot of their custom bike, and delivers it to their inbox
Unreal Engine 5Interactive3DReal-time
ION Mobility Build Your Bike
0:00

Vizion-F

Feb 2023 – Aug 2023
  • Sole developer of the complete software stack for Daihatsu's BEV concept car showcased at GIIAS 2023, spanning multiple microcontrollers and display systems
  • Developed ESP32 firmware using PlatformIO, C, and FreeRTOS to interface with the vehicle's CAN BUS, collecting and parsing real-time data from various ECUs
  • Designed and implemented custom lighting control firmware for the signature light, headlight, and brake light, all over CAN BUS with reliable real-time response
  • Created firmware for the side mirror folding system, integrated with vehicle electronics via CAN BUS for synchronized operation
  • Built the infotainment UI/UX in Unreal Engine, incorporating live data from the microcontroller systems for interactive driver displays
  • Developed software in VVVV to drive custom display systems in the front bumper and trunk, enabling dynamic visuals synced with vehicle state
CFreeRTOSCAN BUSESP32Unreal EngineVVVV
Vizion-F
0:00

Aquifer

Jan 2023 – Feb 2023
  • Developed ESP32 firmware in C to control winches (stepper motors) and lights, enabling synchronized up-and-down movement with illumination
  • Exposed control interface over Ethernet for real-time commands from a mini PC, allowing coordinated orchestration
  • Created a mapping system for 25 winch-light units, animating them collectively to simulate a water surface effect
  • Exhibited at Art Jakarta 2023
ESP32CStepper MotorEthernetLEDInteractive Art
Aquifer
0:00

Animalium Animal Science Center

Dec 2022 – Mar 2023
  • Built interactive infographic overlays for transparent display cases (Metacase) showing fish and starfish anatomy with tap-to-reveal body part details
  • Developed a motorized rail monitor with position-aware display revealing orangutan and dolphin skeletal structure, reusing the ESP32 encoder + stepper + PID firmware from Mondial
  • Created an interactive biodiversity map (Peta Indonesia) where tapping a region shows native animal species
  • Implemented a bird sound library (Bilik Suara Burung) with a visual grid UI and playable species calls
  • Built a weighing station (Timbangan Hewan) with ESP32 firmware in C reading a load cell to match visitors to animals of comparable weight
CESP32InteractiveVVVVArduinoLoad Cell
Animalium Animal Science Center
0:00

Mind of the 7th Kingdom

Sep 2022 – Oct 2022
  • Programmed ESP32 firmware in C to drive LED strips over WiFi via UDP from a central PC, with a custom LED mapping to the installation's complex brain-like structure, achieving low-latency synchronization
  • Built companion software that processes LiDAR sensor data to detect visitor positions, computes the shortest-path LED route from each person to the top of the structure, and streams results in real time
  • Implemented an interaction history system: every visitor's light trail is logged, and viewers can browse past interactions on a display while the installation runs live
  • Exhibited at ICAD 2022 (Indonesia Contemporary Art & Design)
CESP32UDPLiDARLEDInteractive Art
Mind of the 7th Kingdom
0:00

GPS Field Tracking Module

Aug 2022 – Sep 2022
  • Built ESP32 firmware in C for a portable GPS tracker that logs coordinates continuously to an SD card for offline field deployment
  • Implemented an opportunistic sync mechanism that automatically uploads stored data to a server when a known WiFi access point is detected
  • Programmed an onboard screen displaying real-time GPS coordinates and battery status, with power management optimized to 10 hours per charge
CESP32GPSWiFiEmbedded
GPS Field Tracking Module
GPS Field Tracking Module photo 1 of 3

Mondial Rail Monitor

Mar 2022 – May 2022
  • Built ESP32 firmware in C for a rail monitor controller: encoder-based position tracking, stepper motor actuation, and PID control for precise drift-free stopping, all over serial UART
  • Reused the same firmware architecture later for Animalium's Mammal Morphology Rail Monitor
  • Created a position-aware infographic about diamonds that renders as the display slides along the rail, covering diamond certification, hardness, grading, and other gemological information
  • Deployed across Mondial stores in Medan, Jakarta, and Surabaya
CESP32PIDStepper MotorEncoderUART
Mondial Rail Monitor
0:00

Lucy in The Sky LED Installation

Jun 2019 – Oct 2019
  • Developed the full software system for an LED bar projecting video onto a wall at a restaurant
  • Programmed Arduino firmware in C to receive Ethernet UDP color commands and map them to LED pixels with precise timing
  • Implemented frame-to-color translation algorithms that sync LED output with video content in real time
  • Programmed a Raspberry Pi as a dedicated video player in Python: decoded video frames, translated pixel data into color commands, and communicated with the microcontroller over Ethernet
ArduinoCPythonRaspberry PiUDPLED
Lucy in The Sky LED Installation
0:00

Chromestesia

Apr 2018 – May 2018
  • Built embedded software for a wearable device that transposes light frequencies of color hues into sound frequencies, letting the wearer experience color as audible sound
  • Wrote the image processing algorithm that captures color from a sensor, extracts the dominant hue, and converts its light frequency to a sound frequency in real time
  • Programmed microcontroller firmware in C to interface with the color sensor, run the frequency conversion, and drive audio output with minimal latency
Image ProcessingArduinoCCreative Tech
Chromestesia
Chromestesia photo 1 of 2

Aurora

Apr 2018 – Oct 2018
  • Built the control system software and full simulation in TouchDesigner for Invisible Flock's immersive installation at Toxteth Reservoir, Liverpool
  • Implemented DMX512 protocol control for 40 kinetic winches suspending ice blocks, 16 lasers, and Sharpy moving lights to produce synchronized movement and lighting
  • Winner of Liverpool Tourism Awards 2019
TouchDesignerDMX512Interactive Art
LinkPlay
Aurora
0:00

Oliver

Feb 2018 – Mar 2018
  • Developed an interactive gesture-recognition program using Microsoft Kinect skeletal tracking
  • Implemented gesture detection and classification logic to identify predefined movements and map them to real-time interactive responses
KinectInteractiveVVVVCreative Tech
Oliver
0:00

Mosaic

Dec 2017 – Jan 2018
  • Built a video wall driver application that synchronizes video playback across a grid of multiple displays
  • Implemented display mapping, frame synchronization, and output routing so content appears seamless across the entire video wall matrix
Video WallVVVVCreative Tech
Mosaic
0:00

GO-JEK Helmet for DWP 2017

Nov 2017 – Dec 2017
  • Programmed embedded firmware in C for Gojek driver helmets modified with built-in LEDs for DWP 2017
  • Implemented a sound-reactive algorithm that analyzes microphone input in real time and drives LED color and intensity to sync with the surrounding music
ArduinoCLEDMicrocontroller
GO-JEK Helmet for DWP 2017
0:00

Nada Bumi

Oct 2017 – Nov 2017
  • Developed interactive control software for Invisible Flock and Digital Nativ's sensory exhibition commissioned by British Council for UK/ID Festival 2017, exhibited in Bandung and Makassar
  • Connected environmental sensors (plant transpiration, temperature, seismic data) to sound, light, and movement across sculptural ecosystems representing Kelimutu's volcanic lakes to Labuan Bajo's coral waters
Interactive ArtTouchDesignerArduinoEnvironmental Data
Nada Bumi
0:00

RSPI Pondok Indah Smart Mirror

Dec 2016 – Apr 2017
  • Built the application software powering a smart mirror installation at RSPI Pondok Indah hospital
  • Programmed an interactive information display behind a two-way mirror showing doctor schedules, health tips, and hospital information with touch-responsive UI and dynamic content updates
Smart MirrorArduinoCreative Tech
RSPI Pondok Indah Smart Mirror
0:00

Someone Come Find Me x Return to Sender

Oct 2016 – Nov 2016
  • Programmed embedded firmware in C and control software for Invisible Flock's nautical buoy installation off the coast of Jakarta
  • Implemented SMS-to-morse-code translation: people send text messages to the buoy, and the firmware translates them into morse code flashed via light visible for miles
  • Collaboration with Invisible Flock, funded by British Council for UKID Festival 2016, originally shown at Brighton Festival
ArduinoCSMSMorse CodeEmbedded Electronics
Someone Come Find Me x Return to Sender
0:00

Adidas Store Rail Monitor

Jun 2016 – Sep 2016
  • Built the complete software system for an interactive installation at Adidas Plaza Indonesia that reveals parts of a shoe image as users interact with a physical rail
  • Programmed Arduino firmware in C for precise motor position control along the rail, tracking movement and reporting position data
  • Developed a Node.js web app (HTML, CSS, JavaScript) that receives position data from the microcontroller and dynamically reveals the corresponding portion of the shoe image in real time
ArduinoCNode.jsHTML/CSS/JS
Adidas Store Rail Monitor
0:00

MIDI LED Player

Jun 2016 – Sep 2016
  • Programmed Arduino firmware in C that receives MIDI input from musical devices and maps note pitch, velocity, and timing to LED patterns and animations in real time
  • Implemented the MIDI-to-LED mapping algorithm, creating a synchronized visual representation of musical performances
ArduinoCMIDILED
MIDI LED Player
0:00

Live Wire (Wire Bender)

Jun 2016 – Sep 2016
  • Wrote Arduino firmware in C to precisely control solenoid and stepper motor actuators of a 3D-printed CNC wire bender
  • Developed a companion Processing desktop app that parses SVG vector files, converts graphical path data into bend commands, and sends instructions to the microcontroller for accurate wire shaping
ArduinoCProcessingCNC3D Printing
Live Wire (Wire Bender)
0:00

Skills

Languages

CPythonRustHTMLJavaScriptTypeScriptCSSSQL

Embedded

ArduinoESP32STM32Raspberry Pi PicoFreeRTOSCAN BUSPlatformIO

Backend

FastAPILitestaraiohttpPostgreSQLRedisJWTREST APIs

Creative / UI

VVVVUnreal EngineTouchDesignerReactProcessing

DevOps

DockerGCP Compute EngineCloud RunCoolify

AI / CV

OpenCVTensorFlowStreamDiffusion

Education

Universitas Indonesia

S.T. Computer Engineering

Jul 2013 – Aug 2017
Ranked 3rd in majorGPA: 3.61 / 4.00
Thesis

Development and Analysis of Half Iris Localization and Normalization Method for Biometric-based Recognition System

Published

Published at Quality in Research (QiR) 2017, IEEE International Symposium on Electrical and Computer Engineering

View on IEEE Xplore →

Organizations

President

Oct 2016 – Sep 2017

Universitas Indonesia Robotics Team

  • Evaluated the previous management's work program. Planned strategy and budget from scratch
  • Directed 7 management divisions. Supervised competition teams on both technical and non-technical fronts
  • Mediated between the team and university officials when bureaucracy got in the way

Leader, Legged Fire Fighting Robot Team

Sep 2015 – Sep 2016

Universitas Indonesia Robotics Team

  • Planned the strategy for Indonesian Robot Contest held by the Ministry of Research, Technology, and Higher Education

Public Relation Officer

Apr 2016 – Mar 2017

IEEE Student Branch: Universitas Indonesia

  • Planned events across divisions. Publicized IEEE programs to students and lecturers

Awards

3rd Place & Best Robot Design

Legged Fire Fighting Indonesian Robot Contest, Region 2

Apr 2016
  • Programmed microcontroller according to contest rules
  • Implemented inverse kinematic control algorithm for robot leg motion
  • Designed mechanical body with Autodesk Inventor

2nd Place

Makara Line Follower Robot Contest

Feb 2014
  • Programmed microcontroller according to contest rules
  • Implemented PID control algorithm for motor control

Contact

$init_connection--target rudynurhadi
> Connection established.
> Ready to collaborate on embedded systems, backend APIs,
> and creative technology projects.