Screenshots
About this app
Conduct polls in your Matrix room — designed for formal voting scenarios such as councils and assemblies with multiple parties. All poll data is stored in your Matrix room, so you keep full control over it.
Unlike simple message polls (MSC3381), NeoChoice supports structured sessions: create parties (groups), assign members to them, and handle representatives and delegates. Prepare multiple polls in advance, run through them one by one in a session, and let the registered users cast their votes. Afterwards you can generate a PDF report with all results.
The widget comes in two views: the poll widget itself for voting, and a separate admin view for configuring groups and voting rights.
Add to a room
Pin this widget in any Matrix room with the /addwidget command:
/addwidget https://marcade.store/apps/net.nordeck.poll/1.6.1/
Rooms should pin the versioned URL above. https://marcade.store/apps/net.nordeck.poll/latest/ always points at the newest release.
Permissions
Capabilities this widget may request. The Marcade Player asks for your consent before granting any of them.
- Send room state events of type “net.nordeck.poll”
org.matrix.msc2762.send.state_event:net.nordeck.poll - Read room state events of type “net.nordeck.poll”
org.matrix.msc2762.receive.state_event:net.nordeck.poll - Send room state events of type “net.nordeck.poll.group”
org.matrix.msc2762.send.state_event:net.nordeck.poll.group - Read room state events of type “net.nordeck.poll.group”
org.matrix.msc2762.receive.state_event:net.nordeck.poll.group - Send room state events of type “net.nordeck.poll.settings”
org.matrix.msc2762.send.state_event:net.nordeck.poll.settings - Read room state events of type “net.nordeck.poll.settings”
org.matrix.msc2762.receive.state_event:net.nordeck.poll.settings - Send room events of type “net.nordeck.poll.start”
org.matrix.msc2762.send.event:net.nordeck.poll.start - Read room events of type “net.nordeck.poll.start”
org.matrix.msc2762.receive.event:net.nordeck.poll.start - Send room events of type “net.nordeck.poll.vote”
org.matrix.msc2762.send.event:net.nordeck.poll.vote - Read room events of type “net.nordeck.poll.vote”
org.matrix.msc2762.receive.event:net.nordeck.poll.vote - Read room state events of type “m.room.create”
org.matrix.msc2762.receive.state_event:m.room.create - Read room state events of type “m.room.name”
org.matrix.msc2762.receive.state_event:m.room.name - Read room state events of type “m.room.member”
org.matrix.msc2762.receive.state_event:m.room.member - Read room state events of type “m.room.power_levels”
org.matrix.msc2762.receive.state_event:m.room.power_levels
What's new in 1.6.1
Maintenance and security release. Fixed several dependency vulnerabilities: updated react-router-dom (CVE-2025-68470, CVE-2026-22029), lodash (CVE-2025-13465), and the widget-server base image (CVE-2024-56171, CVE-2025-49794, CVE-2025-49796). Updated build tooling and minor dependencies. No functional changes.
Information
- Version
- 1.6.1
- License
- Apache-2.0
- Author
- Nordeck IT + Consulting GmbH
- Website
- https://nordeck.net
- Source code
- https://github.com/nordeck/matrix-poll
- Issue tracker
- https://github.com/nordeck/matrix-poll/issues
- State event types
net.nordeck.poll,net.nordeck.poll.group,net.nordeck.poll.settings- Encrypted rooms
- Supported
- Widget ID
net.nordeck.poll