Padiku
Bringing a community rice dryer's monitoring and controls to the web.
I designed the web interface and worked on its server and controller communication path with the software team.

A dryer for an unreliable drying season
Residents of Kudangwangi faced a practical problem during rainy harvest periods: grain drying depended on weather that did not cooperate. Through PPK Ormawa HMTE Unpad, our team built a rice dryer with local controls and a connected application path. The equipment photo above shows the drying chamber, control cabinet, and solar panels. The panels are part of the build; the photo alone does not establish how long the dryer could run without grid power.
I worked within the software team from July to November 2022. I designed the web interface and worked on the server and communication path between the dryer and the application. Other members built the mechanical, electrical, and power systems. The application needed to show reported temperature, humidity, and run status, while giving a resident a way to request control through the web. Local operation remained part of the equipment design.
Connect the controller and the web view
My project account describes an ESP8266-based controller, MQTT messaging, server logic, and a web application. I configured the MQTT server and worked on controller integration so measurements could travel toward the application and storage, while control requests could travel back toward the machine. MQTT separated the device-facing messages from the interface residents would read.
The account names React and Vite for the later application. Some preserved HTML pages show earlier interface experiments: status, temperature, humidity, and controls. I use them as design context, not as proof of the later implementation or a live actuation path. The equipment image provides firmer evidence of the physical project than those experiments can provide of the final web code.
Coordinate across a physical system
Software decisions depended on hardware details: which reading had which unit, when a controller updated it, and what a command meant at the machine. With many contributors, late changes could leave the web and device teams working from different assumptions. I split coordination within the software team so members could stay in contact with the hardware and electrical groups rather than waiting for every decision to pass through one person.
We checked readings arriving at the web side and requests sent toward the dryer over Wi-Fi. I also reported that residents could operate the machine. I have no retained drying-time measurement, calibration record, or verified user count. The result I can describe is a team-built dryer with a connected application path exercised during testing, followed by reported local use.
Padiku taught me to define the meaning, unit, and timing of each reading with the physical-system team early. The same applies to control requests: a web button is useful only when both sides agree what it asks the machine to do and how a resident can operate the dryer locally.