Why not just create a simple non-JS (or minimal JS) frontend using HTML form posts? Do you really need the real-time aspect or could that potentially be solved using some minimal long-polling/WebSockets?
Sumner Evans writes:
Why not just create a simple non-JS (or minimal JS) frontend using HTML form posts? Do you really need the real-time aspect or could that potentially be solved using some minimal long-polling/WebSockets?
There's definitely going to need to be some JS / Wasm because I want all of cryptography to occur on the client's end; i.e. I never want the raw ballot to leave the browser. I think WebAssembly is a great option for at least the cryptography code because I'll just be able to import the tallyard.xyz/math Go path and reuse what's already written for the TUI implementation.
I think you're right, though, that minimizing JS should be a priority for frontend work. Also, I'll definitely be using TypeScript ;).