Browser & Hardware Automation Utilities
A leading Romanian retail bank
Overview
A small collection of automation utilities assembled during an engagement with a leading Romanian retail bank. It bundles browser-side DOM-automation scripts that drive a two-tab conversational workflow, plus a Raspberry Pi-based Bluetooth HID proxy / mouse-jiggler controlled over an HTTP API.
Why It Exists
Locked-down corporate environments and repetitive, UI-bound tasks often can’t be solved with normal scripting access. These utilities work around that: one part automates a chat-style web UI directly in the browser, and another emulates physical mouse/keyboard input at the hardware level to keep machines active or drive sessions where software automation is blocked.
What We Built
Two browser console scripts, professor-tab.js and student-tab.js, implement a paired “professor/student” exchange that types into and submits a web chat textarea, polls for generation state (waiting on “Stop generating” to appear and disappear), and runs bounded multi-round loops with a graceful stopChat flag. A separate bt-mouse-jiggler directory holds a Raspberry Pi setup: hid_proxy.py and mouse_jiggler.py Python services exposed through an index.js Node server with a documented HTTP API (/status and POST control endpoints on port 6790, gated on UDP idle time from a mac_sender.py), packaged as bt-hid-proxy and bt-mouse-jiggler systemd services with setup.sh/deploy.sh provisioning scripts. Helper batch and shell wrappers (b.bat, t.bat, powershell.sh) round out the toolkit.
Technologies & Approach
Browser automation is done in plain JavaScript against live DOM APIs for zero-install operation inside an existing session. The hardware path uses a Raspberry Pi acting as a Bluetooth HID device, with Python for the low-level proxy and a Node HTTP API for remote control, deployed as systemd units for reliability.
Outcome / Impact
Provided practical, self-contained workarounds for environment constraints during the engagement, automating a browser conversational flow and enabling hardware-level input emulation controllable over a simple HTTP API.
Capabilities Demonstrated
- DOM-level browser automation without extensions or installs
- Hardware input emulation via Raspberry Pi Bluetooth HID
- Designing simple, documented HTTP control APIs
- Packaging and deploying long-running services with systemd
- Pragmatic problem-solving within locked-down environments