Hover over tabs to view Projects!
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 Visualization - Displayed real-time voting results using Streamlit.

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
-

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.