Andrew
Dunai

Show me what you've got!™

I love interesting & crazy stuff, clean reusable code, maintainable scalable hi-load architectures, shells, vim, tmux, awesomewm, drones, IoT, Doom game series, UT99, multiplayer game hacking, OpenSource, heavy/thrash/stoner metal, traveling, snowboarding & random adventures.

I like to pursuit fresh ideas, to be precise in my profession & to be verbose in communication.

I've been coding for around 11 years and experienced a lot of technologies. My belief is that every task requires a specific set of tools and technologies in order to be solved efficiently. That's why I often switch mainly between Python, JS, C, Java and Go (sorted by experience.)

T1DExchange (UnitIO) icon

Software Architect

T1DExchange (UnitIO)

jun 2016 - now

About: T1DExchange is a Biological research project for people with type 1 diabetes.

My role: I created entire infrastructure from scratch that automates collection, processing, managing and delivering of biological & PHI data.

Red e App icon

Back-End Architect

Red e App

may 2016 - jun 2017

About: A distributed communication system that provides the corporate messaging platform with advanced management tools built for large enterprises.

My role: I took lead in planning & building entire infrastructure and component architecture from scratch. I developed backend for services in Python & NodeJS. I automating testing & deployment processes with Docker & AWS. My architecture is running decoupled components that play together thanks to RabbitMQ, Consul & Redis.

Kultivo.com icon

Senior Python Dev

Kultivo.com

jul 2015 - jan 2016

About: Marketplace for courses as well as one-shot training sessions.

My role: I created backend code and templates for profile management.

N1ght.com icon

Senior Python Dev

N1ght.com

nov 2014 - jul 2015

About: "A service that provides centralized access to aggregated data about events, festivals & parties around the globe."

My role: I took lead in creating Python backend & frontend. I also created a Java Android app from scratch.

OspreyData, Inc. icon

Senior Python Dev

OspreyData, Inc.

sep 2014 - oct 2014

About: The OspreyData platform is designed from the ground up with sensor analytics in mind, focusing on storing and manipulating time series data and modeling complex relationships between high-resolution signals.

My role: I developed a backend that gathers & processes data from sensors installed on industrial enterprises, in particular - oil factories.

qBeats, Inc. icon

Senior Full-Stack Dev

qBeats, Inc.

aug 2013 - jun 2014

About: The first company in the world to develop real-time dynamic pricing technology for digital information.

My role: I took part in building a highly available application backend. I wired things up using Django, Twisted, Solr & RabbitMQ. We were storing data in PostgreSQL & Mongo. I implemented missing functionality for user channels in desktop C++ application that was written in Qt.

Axiomatics icon

Senior Webmaster

Axiomatics

feb 2013 - aug 2013

About: Axiomatics provides fine-grained access control and ABAC solutions for IT enterprises.

My role: I administered three cooperating Joomla-driven portals. I implemented Single Sign-On for thousands of users that were registered on those three websites. It took some time to implement a bulletproof logic for allowing users to register on any of these portals and then easily switch between the three of them. I also did numerous updates to the frontend and administrator portal backend.

PrimoCollect icon

Technical Lead

PrimoCollect

jan 2011 - feb 2013

About: A collection agency, i. e. a company that recover funds that are past due or accounts that are in default.

My role: I created customer area portal from scratch (backend + frontend). It was an application that granted privileged users to access & manage their financial information using internet. I also replaced existing call center operator software with a new one that allowed us to orchestrate 350 internal workspaces remotely and easily perform mass OTA updates. I refactored existing internal dial plan management system that used asterisk SIP (Asterisk) and which handled over 1,000,000 phone calls a month. I eliminated existing memory usage issues & file descriptor (that were initially caused by abusing threads) leaks which allowed us to run the server continuously for months without having to restart it every 20 minutes as before. I also developed a fork of "Twinkle" SIP client (written in Qt) that we called "Sparkle". It was using a modified & simplified UI and gave the operators more control over their calls.

Freelancer.com icon

Full Stack Dev

Freelancer.com

apr 2007 - jan 2012

About: A global crowdsourcing marketplace website.

My role: I completed over 30 projects during this period including: numerous SPA websites developed in PHP & JS/HTML/CSS, student management software for schools in Essex (Englang) and even a space invaders game written in C# for a student who didn't want to do it himself and preferred to pay someone else to do it.

Airbites icon

Back-End Dev

Airbites

feb 2007 - nov 2007

About: Ukrainian internet service provider (acquired by Volia ISP in 2017.)

My role: I created a social network backend from scratch for a local ISP. I've set up a dedicated server from scratch running FreeBSD. The project was running for over 9 years and had around 45.000 members before it was shutdown. It was one of my longest-living children.

Some of my public contributions

★ 1273 urwid

I'm currently maintaining this awesome library. It's a framework for building terminal-based user interfaces. I love terminals!

★ 33573 impress.js

I've implemented touch & swipe support for slide transitions. After few years of decay it's now alive and well again!

★ 41934 three.js

I contributed a script that slices exported 3DS Max model animations into named sequences to allow using multiple animations within single model file. 3DS Max + THREE.js now rock even more!

★ 1306 qtile

Pure Python WM. I contributed some widgets & bug fixes and obviously broke some stuff that I also fixed thereafter.

★ 3678 django-extensions

I wrote Django management command to perform PostgreSQL database reinitialization without closing active connections.

★ 19 and3rson / nineapi

My awesome progress of reverse-engineering the terrible 9GAG API. Yes, there *is* a 9GAG API. It's just well hidden.

★ 53 and3rson / django-searchable-select

My implementation of a select field for Django admin panel with backend-side filtering - because life is too short to scroll.

★ 66 and3rson / clay

My own terminal-based player for Google Play Music. Built with passion using awesome urwid, gmusicapi and libvlc libraries.

★ 6 and3rson / enlightenment

I wanted some real-time 2D fragment shader lighting in Phaser. I ended up writing my own in GLSL.

★ 6 and3rson / isc

ISC is a missing microservices (RPC & Pub/Sub) framework for Python including support of Django & Flask. It also supports NodeJS & Java. It's been battle-scarred in numerous commercial projects.

★ 15124 godot

Bugfix for string marshalling.

Lifestyle

Contacts