Parsify Desktop is an Electron application that works on Windows, macOS, and Linux devices. Here is the general system architecture diagram:

General architecture of Parsify Desktop

General architecture of Parsify Desktop

As you can see, most of the work is done in the main process - that's where the expressions are evaluated. Now, let's take a look at how Parsify processes each expression from start to finish:

The road from expression to the result

The road from expression to the result

Most of the actual work is done by plugins - the core is very lean. Custom plugins are executed before the official ones. But what exactly can each plugin access?

Plugin’s abilities

Plugin’s abilities

Take a look at the diagram above - as you can see, each plugin has a direct access to the expression (like 2+2), but also to variables and functions, as well as other low-level APIs from Parsify Desktop. What's more, every plugin is run in a sandboxed Node.js environment, which means that one can utilize the ever-growing ecosystem of npm packages.

All of this gives you the ability to extend the application to a great extent. However, with great power comes great responsibility - mind the privacy and safety of the users when developing a new plugin.