← all repositories
synyi/poplar

Brat's spiritual successor, still in beta

A browser-native NLP annotation component for when you need to label text without leaving the DOM.

529 stars TypeScript Data Tooling
poplar
Velocity · 7d
+0.1
★ / day
Trend
steady
star history

What it does Poplar renders text annotations directly in the browser, letting you highlight entities and draw relations between them via SVG. It’s a TypeScript component you drop into an HTML element, feed some JSON, and configure to taste. The API surface is deliberately small: new Annotator(data, element, config) and you’re annotating.

The interesting bit The project openly cops to being “not production ready” — a rare honesty that saves you from discovering it the hard way. It’s also a ground-up rewrite of an earlier internal tool, which explains both the cleaner API and the remaining rough spots.

Key highlights

  • Renders annotations as SVG overlays on text, not canvas or foreign objects
  • Ships as an npm package (poplar-annotation) with TypeScript definitions
  • Inspired by brat’s visual design but built for modern bundlers
  • Live demo at synyi.github.io/poplar to test before integrating
  • API docs and developer guides exist in-repo, not just README promises

Caveats

  • Explicitly marked “not production ready” by the maintainers
  • 529 stars suggests niche usage; expect to hit edge cases
  • Support channel appears to be a single email contact

Verdict Worth a look if you’re building an in-house NLP labeling interface and want something lighter than full brat deployment. Skip it if you need battle-tested stability or enterprise support yesterday.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.