Hi there!

I’m Nikita, Software Engineer with a vast open-source portfolio and strong UI/UX background. I help turning ideas into finished working products with support at all stages.

Expertise
15 years of distributed systems, highly interactive web apps (full stack), UX/UI design, Clojure/Script, Erlang, Python, Kotlin, Java
Github
github.com/tonsky
Contact me
niki@tonsky.me or @nikitonsky
Location
Novosibirsk → Moscow → Berlin, Germany (UTC+1)

Projects (newest to oldest)

Skija

High-quality JVM bindings for Skia graphics library.

Role
Principal Engineer
Period
March 2020 — now
Status
Ongoing
Customer
JetBrains GmbH
Stack
Java, C++, OpenGL

Noria

Experimental high-performance, declarative desktop UI framework for the JVM.

Roles
Software Engineer, UX consultant
Period
May 2019 — March 2020
Status
Closed alpha
Customer
JetBrains GmbH
Stack
Clojure, Kotlin, Rust, WebRender

Fibery

First work management platform with truly flexible domain.

Role
Developer
Period
April — June 2018
Status
Closed beta
Customer
Targetprocess Ltd
Stack
Clojure, core.async, PostgreSQL
[Nikita has] good development speed. Quickly got the hang of things. Great quality of code and solutions. Reliable, can delegate any task and be sure it’ll be done.
Michael Dubakov, founder

Grumpy Website

Collective blog with an in-depth look into UI/UX and design pitfalls of modern day interfaces. Tech: from-the-scratch blog engine developed live on YouTube in mere 36 hours.

Roles
Developer, Co-Author
Period
September 2017 — now
Status
In production, actively used
Stack
Clojure/Script, Rum/React
If you are into product and design, you should check out grumpy.website. It has a lot of constructive feedback for y'all designers. (Think LittleBigDetails.com with a Slavic spin 😓)
Notion, the all-in-one workspace

Collaborative document editor

In-browser, real-time, collaborative WYSIWYG editor for complex domain-specific documents.

Roles
UI/UX designer, Architect, Lead developer
Team
3 Clojure Engineers
Customer
Cognician, Inc
Period
September 2017 — April 2018
Status
Ongoing. Completed: UI, architecture, functional prototype
Stack
Clojure/Script, Datomic, DataScript, Rum/React, custom Datomic-DataScript sync layer
Nikita's productivity is phenomenal (he built a substantial portion of @cognician with us for a while). This'll be dollars well-spent!
Robert Stuttaford, CTO, Cognician

Coaching platform

Next generation of an in-browser (including mobile) self-serve coaching platform, developed from ground up in place of a legacy system.

Roles
Architect, Lead developer, Product manager
Customer
Cognician, Inc
Period
March 2015 — August 2015
Status
In production, actively used. Fully replaced legacy system, ongoing feature development and maintenance
Stack
Clojure/Script, Datomic, DataScript, Rum/React, custom Event Sourcing implementation, custom client-server sync layer
[Nikita] single-handedly built crucial parts of our system, with great efficiency and level-headedness [...] I can't recommend Nikita highly enough. If you can find a way to work with him, do!
Robert Stuttaford, CTO, Cognician

AnyBar5k

General-purpose macOS menubar status indicator.

Role
Creator
Period
March 2015 — August 2016
Status
Stable

Rum1.5k

Simple, decomplected, isomorphic HTML UI library for ClojureScript (based on React) and Clojure (custom Server-Side Rendering implementation).

Role
Creator
Used by
Cognician, Attendify, PartsBox.io, modnaKasta, ChildrensHeartSurgery.info, Mighty Hype, БезопасныеДороги.рф, TourneyBot, PurposeFly, Simply, Oscaro.com
Period
December 2014 — now
Status
Stable. Ongoing feature development and maintenance

Fira Code50k

The most popular programming font with ligatures.

Role
Creator
Used by
JetBrains, CodePen, Blink Shell, Klipse, IlyaBirman.net, EvilMartians.com, Web Maker
Period
November 2014 — now
Status
Stable. Widely used, ongoing improvements

DataScript3,500+

Highly-flexible persistent in-memory storage and Datalog query engine for Clojure/Script and JS.

Role
Creator
Used by
Precursor, LightMesh, Cognician, bitfountain, PartsBox, I am Fy, Zetawar, Lemmings
Period
April 2014 — now
Status
Stable. Ongoing feature development and maintenance

ClojureCourse.by

Online videos teaching Clojure language + homework + 200+ students in remote groups.

Roles
Developer, teacher
Team
8 people
Period
April — May 2014
Status
Completed

MZ Bench

Distributed benchmarking/load-testing tool with cross-machine coordination and DSL scripting.

Roles
Lead developer, Project manager, Team leader
Team
4 Erlang Engineers
Customer
MachineZone, Inc
Period
February 2014 — November 2014
Status
Prototype
Stack
Erlang

Echo DataServer

High-load real-time monitor/data crawler & processing pipeline for Twitter, Facebook, Youtube and others.

Roles
Lead developer, Team leader, Product manager
Team
8 Clojure Engineers
Customer
Echo
Period
October 2011 — February 2014
Status
Active production use at the moment
Stack
Clojure, RabbitMQ, Redis
[Nikita] is well-versed in technology and can build scalable, reliable and high-performance systems from scratch. He can work directly with a product team to flesh out requirements and define deliverables.
Vlad Skvortsov, VP of Engineering, Echo
[Nikita] has personally hired and managed people and his team has created one of the most important products for the company in record time and with appreciable quality.
Lev Walkin, Founder and CTO, Echo
Nikita has the ability to take team and project initiatives aligned with the business direction of the company. Nikita has strong communication skills, both to present his ideas and research and to listen and understand the organization around him and his team.
Philippe Cailloux, COO & VP of Product, Echo

Spectre Web framework

Web framework built from the grounds up, inspired by Django, with web sockets, for Fantom language.

Roles
Designer, Lead Developer
Customer
Xored Software, Inc
Period
October 2010 — October 2011
Status
Feature complete

Public speaking

I spoke at 40+ conferences, meetups, workshops, podcasts about technology, engineering culture, user experience and computer science.

Role
Speaker
Period
October 2010 — ongoing
Locations
London, Vienna, Bratislava, Riga, Tampere, Poznań, Kiev, Minsk, Moscow, Saint Petersburg, Novosibirsk, Yekaterinburg, Chelyabinsk, Voronezh, Ulyanovsk, Cheboksary, Orel

Various Java projects

Automation, billing, prototyping for big Russian industrial facilities.

Roles
Senior Java Developer, Java Developer, Team Leader
Customers
Sibirenergo-Billing, MSS-Systems, KB Inform
Period
August 2005 — October 2010

Education

Master’s degree in Information Technology at Novosibirsk State University.

Role
Student
Period
2001 — 2007
Status
Complete