From 8cbe75f0047732c865f58e2f847a5ffafe066e71 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sat, 20 Dec 2025 11:25:26 +0800 Subject: Change projects to poc and blog to log. --- _site/poc/bumblebee/bee.mp4 | Bin 0 -> 2352029 bytes _site/poc/bumblebee/index.html | 103 +++++++++++++++++++++++++++++++++++++++ _site/poc/bumblebee/poster.png | Bin 0 -> 18024 bytes _site/poc/bumblebee/thumb_sm.png | Bin 0 -> 6189 bytes 4 files changed, 103 insertions(+) create mode 100644 _site/poc/bumblebee/bee.mp4 create mode 100644 _site/poc/bumblebee/index.html create mode 100644 _site/poc/bumblebee/poster.png create mode 100644 _site/poc/bumblebee/thumb_sm.png (limited to '_site/poc/bumblebee') diff --git a/_site/poc/bumblebee/bee.mp4 b/_site/poc/bumblebee/bee.mp4 new file mode 100644 index 0000000..835600d Binary files /dev/null and b/_site/poc/bumblebee/bee.mp4 differ diff --git a/_site/poc/bumblebee/index.html b/_site/poc/bumblebee/index.html new file mode 100644 index 0000000..6ac52f6 --- /dev/null +++ b/_site/poc/bumblebee/index.html @@ -0,0 +1,103 @@ + + + + + Bumblebee: browser automation + + + + + Bumblebee: browser automation + + + + + + + + + + + + + +
+
+
+

BUMBLEBEE: BROWSER AUTOMATION

+
02 APRIL 2025
+
+

Bumblebee is a tool I built for one of my employers to automate the generation +of web scraping scripts.

+ + + +

In 2024, we were tasked with collecting market data using various methods, +including scraping data from authorized websites for traders’ use.

+ +

Manual authoring of such scripts took time. The scripts were often brittle due +to the complexity of the modern web, and they lacked optimizations such as +bypassing the UI and retrieving the data files directly when possible, which +would have significantly reduced our compute costs.

+ +

To alleviate these challenges, I, with the help of a colleague, Andy Zhang, +built Bumblebee: a web browser powered by C# Windows Forms, Microsoft Edge WebView2, and +the Scintilla.NET text editor.

+ +

Bumblebee works by injecting a custom JavaScript program that intercepts +client-side events and sends them to Bumblebee for analysis. In addition to +front-end events, Bumblebee also captures internal browser events, which it +then interprets to generate code in real time. Note that we developed Bumblebee +before the advent of now-popular LLMs. Bumblebee supports dynamic websites, +pop-ups, developer tools, live manual override, event debouncing, and filtering +hidden elements and scripts.

+ +

Before settling on a desktop application, we contemplated designing Bumblebee +as a browser extension. We chose the desktop app because extensions don’t offer +the deep, event-based control we needed. Besides, the company’s security +policy, which prohibited browser extensions, would have complicated the +deployment of an extension-based solution. My first prototype used a C# binding +of the Chromium project. WebView’s more intuitive API and its seamless +integration with Windows Forms led us to choose it over the Chromium wrapper.

+ +

What began as a personal side project to improve my own workflow enabled us to +collectively improve the quality of our web scripts at a much larger scale. +Bumblebee predictably reduced the time we spent on authoring scripts from hours +to a few minutes.

+ +
+ +
+
+
+ + + + + + diff --git a/_site/poc/bumblebee/poster.png b/_site/poc/bumblebee/poster.png new file mode 100644 index 0000000..6dc955e Binary files /dev/null and b/_site/poc/bumblebee/poster.png differ diff --git a/_site/poc/bumblebee/thumb_sm.png b/_site/poc/bumblebee/thumb_sm.png new file mode 100644 index 0000000..f7cfbf3 Binary files /dev/null and b/_site/poc/bumblebee/thumb_sm.png differ -- cgit v1.2.3