Smart Polling booth

Wanna make your vote a smart and valid vote...The best solution is at your fingertips.

Place your vote securely and lead towards a better tomorrow.

GitHub Repo

Have you ever voted in pollings?

How many of you have ever experienced a fair election, especially in Sri Lanka? Or think about that, are you satisfied with the current voting system? Most Probably, the answer would be No. That's because there are some difficulties around the current voting system.

  • Annoying
  • Time wasting
  • Invalid Votes
  • Fraudulent voting

The main problem is not having proper ways to identify and verify the voters to avoid cheating. Nowadays, people are trying various ways to do cheating. Sometimes they try to attend to polling booth by changing their appearance also. So, not having a proper way to identify them uniquely should be considered more and more.

Apart from that, it's hard to eliminate invalid votes. Due to the lack of awareness of polling, do not much care about their votes and sometimes intentionally try to make a vote invalid may cause these kinds of invalid voting scenarios. Somehow if it is possible to eliminate giving invalid votes, the voting system may be more efficient.

Further, there is no efficient way to get the time-to-time analyzing process in the current voting system. Sometimes the analyzing data may be inaccurate due to miscalculations and other stuff. The necessity of a proper analyzing process has been raised here. As you are all aware, manual voting systems need a high cost for laborers and papers.

Because of the above-mentioned difficulties, the current voting system doesn't fulfill the need for a voting system properly.

To find solutions, we are introducing A Smart Polling Booth!

Bio Metric Verifications

Eliminating Invalid votes from UI

Real time result viewing

Our Polling Booth can verify the identity of the voters using fingerprints and facial recognition. So no one let cheat through this system. Using software developments, we are making a system to eliminate invalid votes. So voters may not get a chance to make their vote invalid. Our system will only permit voters to give valid votes. There is no doubt using our system you may be able to reduce the cost going for paper and labourers. Apart from that using the software development in our system the time-to-time analysis can be done easily. Analyzing the result, and avoiding miscalculations and other stuff, may pave the way for a better voting system.

So, Make your vote smart and secure through our Smart Polling Booth.


UI designs

  • All
  • DashBoard
  • Candidates
  • Divisions
  • Settings
  • Verifications

Hardware Design

Database Design


High Level System Architecture

The above diagram displays how the Component connects each other and data flow through the system. Mainly the data is generated at three points.

They are
When we check the fingerprints using the Fingerprint sensor, When we get the image from the camera for the facial recognition and When we give the vote through the Display

Fingerprint and facial recognition can be verified by giving those inputs to the Raspberry Pi. Then the vote is verified through the Raspberry Pi and all the data will be sent to the database through the internet. The relevant data will be fetched from the database via the internet. Admins can use web applications to analyze the votes.

Data flow through the system

After initializing the polling booth, the relevant data of fingerprints and facial recognition will be fetched from the database to the Raspberry Pi.

When the voter gives their fingerprint and facial recognition, these data will be stored in the Raspberry Pi memory and the sensors of fingerprints sensor. Then these data will be checked with the data taken from the database. If the voter is eligible to give a vote then the relevant data will be shown on the screen. Then the vote can be given through the touch screen and the data will be directed to the Raspberry Pi.

Then using MQTT protocol these data will be saved in the server. Those data can be fetched using the server via the internet and admins can do the relevant analysis process and the result will be displayed in the web application.

This is how data flow within the system.

Technology Stack

React is used for front-end development. In our system, we are designing a web application for the admins for administration purposes. So all the Data analysis parts and the relevant descriptions will be displayed through this web application.

AWS will Use only for demonstration. In the real implementation, we have to maintain the local server.
For the back-end development, we are using javascript and express. MongoDB will be taken as the Database.
Since we are using facial recognition, to analyze that facial recognition we are using Python language.

For version-controlling purposes, Git will be used throughout the project.


Software Testing

Hardware Testing


Project Final Demonstration

Team Members


Contact Us

Feel free to keep in touch with us!

  • Dhananjaya : +94767609828
  • Kushan : +94717896501
  • Hirushi: +94767727498