Collekt introduces a new Collect Module to the Lens Protocol for voting on publications. Voting can be configured as binary or multiple choice, and the module stores the state of all votes. The module can be used for any type of social voting, but Collekt uses it to allow users to vote on posts and submissions by other users. Reddit gave communities the ability to have some control, Collekt will allow for true community ownership and governance.
The project uses the Lens GraphQL API extensively. The website is built as a single page app with Svelte. Web3modal is used for authentication in order to support many types of wallets. Hosting is done via Firebase Hosting, effectively serverless. Neither my teammate or I specialize in frontend web development, and I had never even touched Svelte or built an anything with Typescript before. We're both novices when it comes to Ethereum and Polygon, having only some experience with the DeSo blockchain. We're unable to submit the voting Collect module at the same as the frontend, but it's available here: https://github.com/kuririn1/lens-protocol/tree/module/vote-collect.