Conference speaker badges
Event ops does this before an event. Speakers are a list: names, optional pronouns, talk titles, roles. Badge artwork has to match that list, and the list will still move in the last week.
This is pre-event work. A talk title gets shortened. A pronoun gets added. Someone’s name was wrong in the first export. The badge has to take that as a file edit, not a re-layout.
The job is to turn that list into badge images at print size. Each speaker is either a colocated artboard with its own data file, or a --data run over the same badge component. A typo fix is a one-line diff and a re-run. You don’t re-layout a badge because someone shortened a talk title.
Give Lerret a React component under .lerret/ and optional data. export writes a PNG. Same component, data swapped, many images. There is no batch product, no queue, no orchestrator.
The component is .lerret/ops/speaker-badge.jsx. It shows the name, pronouns if provided, the talk title, and a role chip. Those slots are the face of the badge. Pronouns are optional in the data, so a speaker without them doesn’t need a second component. The role chip is a field too.
Data is one artboard per speaker with colocated data, or a per-speaker --data run. Both are the same idea: badge data is a list of people kept as files. Colocated artboards are bulk pattern 2, one export for the group. Per-speaker --data is bulk pattern 1, a re-run with a different file. Pick the one that matches how you already hold the list.
The image is a PNG at badge print size. The size is the print size you already use for badges. Lerret writes the image. How you print or hand out the badge is outside this.
You use Lerret because badge data is a list of people. Keeping it as files means a typo fix is a one-line diff and a re-run, not a re-layout. The component stays one file. The people stay data. A design file per speaker, or a screenshot of a filled template, will not take a last-week name fix that cheaply.
npx @lerret/cli@latest export --data
Use --data for a per-speaker run, or export the group folder when the artboards are colocated. Start a project with npx create-lerret@latest. More in the use cases index.