Plaid is a platform for developers of linguistic annotation apps. It provides many foundational backend systems, including a user system, a modular data model, and a lossless database. Plaid provides this common functionality so that you can focus on developing your app front-end in JavaScript or any other programming language of your choosing.

Some distinguishing features of Plaid:

  • Effortless Collaboration: since Plaid is a web platform, all users read and write to a single database. There is no need for manual synchronization or movement of data.

  • Customizable Data Model: Plaid provides layers which allow you to tailor the data model you use for an app on a per-project basis.

  • Time-traveling Database: unlike with a traditional SQL server, Plaid’s database is lossless ("immutable"), allowing you to view every past state your documents were ever in. Additionally, an audit log allows you to see every operation that has been performed.

  • AI Model Integration: Plaid offers a powerful client-to-client communication system, making it easy to make apps which are deeply integrated with AI models.

See the manual for a comprehensive introduction to Plaid.

Quick Start

  1. Find the latest release and download plaid.jar: github.com/larc-iu/plaid/releases

  2. With JDK 21 or later, use java to run the JAR: java -jar plaid.jar

  3. Enter an admin username and password when prompted.

  4. Visit localhost:8080/api/v1/docs/ to ensure the server is running.

  5. Any files under resources/ (a sister directory of plaid.jar) will be served: resources/index.html, for example, would be served at localhost:8080/index.html.

That’s it!

Example App: UD Editor

To get a feel for how to program an app with Plaid, it may be helpful to see an example app for UD editing. (Cf. source code.)

Learn More

See the manual for a comprehensive introduction to Plaid.

Also see clients for JavaScript and Python, as well as the API documentation for JavaScript and Python.