Use Prodigy purely as an annotating tool?

The Prodigy library that configures the annotation workflows is written in Python, the app is build in JavaScript (React), shipped with the core library as a compiled bundle.

See this page for theming options and details on custom HTML annotation views:

We're also currently testing supports for custom scripts – currently available for testing in the "html" interface. This lets you define your own actions and interfaces via custom recipes. See here for details and examples: