blob: c9c15f846e69705bdd2dfe0bbb9c97b25304d001 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
---
title: Bumblebee
date: 2025-04-02
layout: post
project: true
thumbnail: thumb_sm.png
---
One year at trading firm—brittle ETL jobs, scripts max out CPUs, €0.4 mil/month
cloud costs. Budget cuts make hardware bailouts no longer viable. Asked to
restart stalling servers.
2025-02: Built Bumblebee to record browser sessions and synthesize scripts.
<video style="max-width:100%; margin-bottom: 10px" controls="" poster="poster.png">
<source src="bee.mp4" type="video/mp4">
</video>
Stack: C# WinForms, WebView2 (Edge), Scintilla.NET editor.
Data flow: injected JS hooks + browser + editor → events → code → optimizer
→ editor.
Two linear lists store events and code. Mid-session manual edits desync lists,
block optimizer. ASTs are overkill. As a workaround, only edit scripts at the
end of recording.
2025-03: First iteration shipped. Optimizer squashes event sequences into
single commands (e.g., calendar clicks → text input). Better DOM addressing
(xpath, id, element) using heuristics. Began work on key optimization: bypass
browser, grab data file directly when possible.
2025-04: Abandoned project—left the firm.
|