Turn almost any Bluetooth remote into a driverless keyboard and media controller for your PC with a $5 ESP32-C3. No apps, drivers, admin rights, or system modifications. Flash, configure Wi-Fi, and remap every key directly from the browser. Supports Xiaomi RC003 and standard BLE remotes, with live key feedback and fully local processing.
How did Astra change the scope or ambition of what you built?
Maker
Astra changed this from a functional embedded project into something much closer to a finished product.
My original goal was simply to bridge a Bluetooth remote to a PC through an ESP32-C3. With Astra, I pushed the project much further: it helped redesign my rough engineering-style Web UI into a polished control surface in a single pass, and helped turn the website into a complete browser-based onboarding flow for flashing, Wi-Fi setup, and key remapping.
It also gave me the confidence to keep features that were technically difficult instead of cutting them. When BLE + Wi-Fi coexistence caused severe heap pressure and unreliable HTTP responses, Astra helped trace the issue to TCP TIME_WAIT accumulation and fix the socket lifecycle.
Without Astra, I likely would have shipped a smaller, more developer-oriented tool. With it, I ended up building something I felt comfortable presenting as a real product.
Report
Maker
📌
Hey Product Hunt!
I built MiRemoteBridge because I wanted a cheap Bluetooth remote to work as a real, configurable PC remote — without installing any software or drivers on the PC.
GPT-6 Astra became an important part of building it.
Design: I gave Astra my original engineering-style Web UI and a visual reference. In a single pass, it redesigned the interface into the polished control surface I ended up shipping, with a visual remote, configurable key mappings, live key feedback, device status, and responsive layouts.
Debugging: The harder problem was ESP32-C3 BLE + Wi-Fi coexistence. With both BLE links active, the Web UI became unreliable and available heap could fall to around 4.5 KB. Several previous debugging attempts hadn't solved it. Astra traced the issue to TCP connections accumulating in TIME_WAIT and starving the heap. After fixing the socket lifecycle and connection backlog, I got stable heap behavior and 10/10 requests completing in 18–50 ms while both BLE links stayed connected.
What stood out to me about Astra was how quickly it understood both design and low-level engineering problems. It was concise, technically precise, and focused on actionable fixes.
MiRemoteBridge is fully open source. Feedback is very welcome.