How to create an automated web browser:
🔹 Study Electron.js
🔹 Study React.js
🔹 Make the two play nice together
🔹 Abandon react-redux and write your own
🔹 Create an SDK, and make it self-documenting
🔹 Make sure all events are native (isTrusted flag is true)
🔹 Create an IDE from scratch
🔹 Make the SDK and IDE play nice together
🔹 Create a modules system
🔹 Create a public API for the modules
🔹 Create an I/O system
🔹 Create a command-line interface
And even though you obsessed over UX all this time, the app still feels uninviting, for lack of a better word.
👉 Then one weekend, add the ability to record automations with point-and-click. 🪄 Boom! Magic.
This is some version of the Pareto Principle in action. Even though a minority of actions produce the majority of the consequences, you really can't skip the work.
I could not have added the recording feature without first building everything else.
And moving forward, this pattern will repeat. Most of the effort that goes into uindow will go unnoticed. But from time to time, users will say "wow" to magic that can only happen because of the invisible work.
Uindow is a free, and source-available automated web browser. You can check it out on GitHub.
Top comments (0)