Mission Shrestha

Competition project

De-Vote

Blockchain voting for unions and councils. Third overall at KU HackFest 2023, then through Idea Studio Nepal's business incubation program.

Enlarge: De-Vote's home screen: a banner reading Empowering Nepal's Democracy above two ongoing elections, each card showing its candidate count and a link to its detail page.
Dates
2023
Role
Backend developer and pitch
Stack
  • Solidity
  • Hardhat
  • ethers.js
  • Next.js
  • React
  • Tailwind CSS
  • IPFS
  • Django
  • Django REST Framework
  • Face++

Context

Unions, student councils, and small organizations run elections on paper or on trust. De-Vote put the ballot on a blockchain so that votes are recorded once, counted openly, and can’t be altered afterwards, while voters stay anonymous.

My role

Backend, and the pitch. I wrote the Django service behind voter verification, and when the project was judged I was the one presenting it.

Constraints

A hackathon clock, then a competition clock. A voter base that isn’t technical. Anonymity and verifiability at the same time.

What I built

Enlarge: Diagram: a citizenship photo and a webcam frame taken at the ballot go to a Django REST service, which asks a hosted API whether the two faces match. An eligible voter casts one ballot to voting contracts in Solidity, immutable once cast, beside Next.js result views and candidate images on IPFS. Verification and casting are kept apart.
How De-Vote fits together: verification and casting kept apart.
  • Voting contracts in Solidity: one ballot per verified voter, immutable once cast.
  • A Next.js front end for voters and organisers, with the wallet connection, the candidate images on IPFS, and the result views.
  • A Django REST service for voter verification: a voter registers with a citizenship photo, and at the ballot the app captures a webcam frame and asks the service whether the two faces match. The match runs against a hosted face-comparison API and passes above 70% confidence; below that, no ballot.
A walkthrough of the De-Vote prototype.

Decisions and why

  • Anonymity through separating verification from casting: the system knows a voter is eligible and that a ballot was cast, never which ballot.
  • The chain holds the ballot only; everything else stayed off-chain so the app was usable in the room.

Outcome

Third overall, out of the teams at KU HackFest 2023 — an MLH-affiliated hackathon organized by the Kathmandu University Computer Club, held from 29 September to 1 October 2023.

Enlarge: My certificate of achievement from KU HackFest 2023, organized by the Kathmandu University Computer Club: overall third place for team ALT-F4's project De-Vote, 29 September to 1 October 2023.
The third-place certificate from KU HackFest 2023.

The idea then went into College Idea Hunt 2023 and completed the Idea Studio Nepal business incubation program.

The De-Vote pitch video from KU HackFest 2023.
Enlarge: A presenter stands beside a large screen showing a slide titled The Trigger and Problem to a seated audience; a caption on the photo reads De-vote pitch.
De-Vote pitched at Idea Studio's Have an Idea event, February 2024.

In May 2026 I pitched it on Pitch Your Business Idea, Season 2, a show Oli & Associates Education Consultancy runs with Australian Catholic University. The pitch was about how Nepalis living abroad could vote in national elections.

De-Vote at Pitch Your Business Idea, Season 2, in May 2026.

What I’d change

Turn the hackathon build into a production one before adding features: a full security review first, then a face match that keeps working if the hosted API goes down.

The pitch videos are on this page. The full episode, Pitch Your Business Idea Season 2, Episode 3, is on Oli & Associates’ YouTube channel, from my pitch at 16:30. Idea Studio Nepal records my College Idea Hunt 2023 entry on its site.

Hiring for work like this?

Get in touch about a roleBook a 20-minute call