Group Primary Interface Description System Admin ⚙️ Special tools Platform Support Legal Organizer 🌐 Web (adaptive), financial cabinet Pays for all actions on the platform Voting Organizer / Operator 🌐 Web (adaptive) + 📱 Mobile (optional) Complex settings, reports, analytics — more convenient on a large screen Voting Participant (Community Member) 📱 Mobile (Flutter) + 🌐 Web (light version) Voting from phone — the most common scenario Journalist / Observer 🌐 Web (read-only + export) They need an explorer, dashboards, search — no transaction signing required Voting Auditor 🌐 Web (special portal) + API Need bulk exports, signature verification, integration with their systems
Problem Explanation Interface complexity Members do not need functions related to deposits or data export. Extra buttons and information will be distracting. Security The voting participant application must not have access to management functions. Different permissions → different builds / modules. Application size Auditor tools (signature verification, Merkle tree checks) are heavy libraries. Members do not need them. Licensing / Audit For government entities, the voting application must be separate from the observer application (to avoid conflicts of interest). Platform Journalists and auditors typically work from laptops. They need a large screen for data analysis.
Function Operator Participant Journalist / Observer Auditor Registration / Login Web + Mobile Mobile + Web Web Web (service) Create Community Web ❌ ❌ ❌ Invite Members Web ❌ ❌ ❌ Create Poll Web ❌ ❌ ❌ Vote Mobile Mobile ❌ ❌ Delegate Mobile Mobile ❌ ❌ View Results (Real Time) Web + Mobile Mobile + Web Web (public explorer) Web (extended) Export Results (CSV/PDF) Web ❌ Web (limited) Web + API (full) Signature Verification / Validation ❌ ❌ Web (explorer) Web + CLI tools Node / Consensus Validation ❌ ❌ ❌ Web + API (node) Access to Blockchain Explorer ✅ ✅ (link) ✅ (primary interface) ✅ (full + raw data)
┌─────────────────────────────────────────────────────────────────┐
│ FLUTTER (MOBILE) │
│ Operators + Members │
│ (voting, delegation, │
│ view results) │
└─────────────────────────────────────────────────────────────────┘
+
┌─────────────────────────────────────────────────────────────────┐
│ WEB PORTAL │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌─────────┐ │
│ │ Organizer │ │ Operator │ │ Journalist │ │ Auditor │ │
│ │ (management, │ │ (management, │ │ (explorer, │ │(verifi- │ │
│ │ deposits) │ │ reports) │ │ search) │ │ cation) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
+
┌─────────────────────────────────────────────────────────────────┐
│ BLOCKCHAIN EXPLORER (PUBLIC) │
│ (for everyone: verify transactions) │
└─────────────────────────────────────────────────────────────────┘
Mobile (Flutter) — for Participants and Operators (single application, different UIs)
- Operators also participate in polls as members
- One codebase — different widgets
Web — for everyone with role-based access
Section Operator Participant Journalist Auditor Community Dashboard ✅ ✅ (only for own community) ❌ ❌ Poll Management ✅ ❌ ❌ ❌ Invitations ✅ ❌ ❌ ❌ View Results ✅ ✅ ✅ (public) ✅ (all) Export CSV/PDF ✅ ❌ ✅ (limited) ✅ (full) Blockchain Explorer ✅ ✅ ❌ ✅ Signature Verification ❌ ❌ ❌ ✅ API Access ❌ ❌ ❌ ✅