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: