Projects
Electoral turnout map for the Romanian elections - link
Together with two of my friends I built the first real-time turnout map for the Romanian electoral elections. This project used the Stem.js framework, which is still being developed by my two friends.
The main purpose of the site was to show the electoral turnout live (less than 2 minutes delay from the official government data) for the Romanian parliamentary elections which took place on the 11th of December 2016.
One of the main feature of the site was the fact that it showed the relative turnout compare to previous elections, for the same hour. This enabled citizens to see how their city was doing in terms of turnout, hopefully making people more motivated to vote.
Over 60.000 unique users accessed the website, meaning over 1% of the total Romanian voting population - and a significantly higher percentage of the internet-using population. It was also featured in over 10 Romanian national level publications, such as Digi24 or republica.ro
GroupBy iterator for large streams of key-value pairs - github link
Built a production-grade algorithmic component of a real distributed system.
Specifically built a function which can group a large stream of key-value pairs:
def groupBy(input: Iterator[(K, V)]) -> Iterator[(K, List[V])]
For example, for the stream (1, 3), (4, 1), (1, 2), (4, 4), (100, 1)
it should produce an iterator over [(1, [3, 2]), (4, [1, 4]), (1, [100])]
Now assume the above stream could have billions of (key, value) pairs. In case the output doesn't fit in memory, it should be stored on disk and gracefully deleted once the whole iterator has been exhausted.
Written in Python 3 in February 2016.
Scientific Calculator - github link
Scientific calculator which computes the result of an expression involving operators and functions.
Example sin(pow(( 4 - 9 / 100), 2)) - max(cos(12), 4 * 2)
equals 7.59236
.
Supports custom operators and functions. Written in C++14 in November 2015.