top of page

Real Time Voting Stream

Problem:

  • A real-time voting system needs to handle continuous data streams to ensure accurate and immediate results during an election.

​​

Solution:

  • Data Ingestion - Generated and streamed fake JSON data using Kafka.

  • Data Processing Processed the data using Spark.

  • Data VisualizationDisplayed real-time voting results using Streamlit.

votes.png

System Architecture

Data:

  • Parties are hard coded

  • Candidates, Voters & Votes are randomly generated

  • Postgres contains Candidate, Voters & Votes tables

  • Kafka contains 4 topics:

    • voters_topic, votes_topic, aggregated_votes_per_candidate, & aggregated_turnout_by_location

system_architecture.png

Video Walkthrough

This video showcases the development of a real-time voting application for a simulated election. Using Kafka for data streaming and Spark for processing, the application handles fake JSON data representing votes. The processed data is then visualized in real-time using Streamlit, offering insights into the voting trends. This project demonstrates the power of real-time data processing and visualization in monitoring dynamic datasets​

​​

Conclusion

The Voting Stream Project provided me with valuable experience in developing real-time applications using Kafka, Spark, and Streamlit. By building a real-time voting application for a simulated election, I gained practical insights into handling dynamic data streams and creating interactive visualizations. This project improved my proficiency in real-time data processing and my ability to convey complex data insights through intuitive visual tools, making me better equipped to handle real-world data challenges.

Other Stream Projects!

Real Estate Webscrape

Orchestrated a ingestion process to scrape housing data

AWS Food Delivery

Developed a real-time data pipeline for food delivery order data.

bottom of page