Yaroslav Sergienko
interactive animation • data visualization • full-stack • data analysis
Front-end
TypeScript
HTML5 Canvas
React.js
HTML5 & CSS3
d3.js
jQuery
Ramda.js
Mobile-friendly
WebGL, Three.js
Python
advanced matplotlib
pandas
cairo
numpy
Jupyter internals
Tornado
Sphinx (documentation)
scikit-learn
Selenium web driver
web scraping
Google App Engine
SQLite
Other
Emacs
Arch Linux
LaTeX
Bash
SSH
Gephi
Processing.org
QGIS
Office communications analysis
July – August 2017
The project has been completed during internship at Habidatum.
I've made a lot of data analysis, static and interactive visualizations.
The data includes private and public messages, commits and issues.
Heat maps of soccer players
January 2017
Small javascript library for heatmap creation in canvas.
Written during internship at InStat football.
Supports fast Gaussian blur as well as a convolution with arbitrary kernel
Visualizes set of points as well as paths
Internal buffer uses double precision numbers (for comparison, heatmap.js uses 8-bit alpha buffer)
Supports combination of multiple heatmaps
D3 visualizations of 2015—16 Premier League
January 2017
Interactive sphere
March 2017
rLoop holding page
September 2017
Penguin to ostrich transform
September 2017
Blurred particles animation
September 2017
Falling cherries animation
April 2017
Social network group chat analysis tool
November 2016
Jupyter extensions
August 2016
Group chat analysis tool has been completely written in Jupyter using these extensions
Converts notebook into a series of source files after each save.
Each cell has a type and any number of labels.
"Hot reloading" of tornado handlers, using the same IOLoop as Jupyter.
Dynamic compilation of JSX syntax.
RequireJS libraries management.
CSS file import and prefixing.
News titles generator
October 2015
The idea is to combine the beginning of one title with the ending of another.
App stores data about valid sequences of grammatical labels.
600 000 news articles have been parsed by a custom parser.
Interactive NY subway map
December 2014
The map was made for the TUNEL.us project.
Fully procedurally generated, no raster or vector files. This approach significantly reduces network usage and makes the map fully customizable.
Starting with Chris Whong's Whashington-like styled map all the keypoints such as stations, bends and park corners were manually added.
A seperate subsystem has been made for managing marks, adding constraints and enhancing stations centers using simple image processing algorithm.
System support constraints such as "angle between theese points must be 45°", "theese two lines must be parallel, and a distance must be equal to the line width multiplied by 1.2".
This enabled lines to be thinner, animations to be added, provided custom station design, and enhanced the speed and size of the map.
The TUNEL.us website
April 2015
The website is now completely functional, but it hasn't been launched "officially".
No CSS frameworks have been used.
Mobile-friendly.
Stickers shop
March 2015
This website was made for the anniversary of the computer science department of my university.
There was a limited number of stickers and users were able to book stickers and to view actions of other users "in real time".
Simple algorithm has been used to arrange stickers efficiently for printing (not in the way they were arranged on the website).
Information retrieval system for contractor checking
November 2016 – April 2017
Contains multiple web-parsers and a system for managing them.
For each company report contain its metrics, metrics distribution among all companies and probability that company will close within next 2 years.
Yandex.Market parsers
July 2015
A set of utilities to extract online pet food shop offers, and to match offers with other offers for the same product.
The problem was there were a lot of variations in the how the same product was named, and often the title was incomplete.
The solution was to manually create a decision tree and to try to deduce missing characteristics of an offer, if possible.
Geometry problems semantic tree builder
July 2016
Russian passport number correctness checker
December 2016
Tool for visualization of crowd sourcing suggestions
December 2014
"Killer" social game
November 2014
Archive of lectures notes and forum
February 2015
The website has been written from scratch using the Google App Engine.
Several groups of users
Custom latex-like syntax
Content is editable by any user
Able to rollback to the previous version
How old are Moscow buildings? (static map)
November 2016
QGIS learning project.
Graph of bioinformatics scientists collaboration in Russia
December 2015
Simple memcached-compatible server
December 2015
Converting TeX sources from Pascal to Javascript
July 2014