Hi there!

I’m Niki, Software Engineer with a vast open-source portfolio and strong UI/UX background.

I do consulting work on all matters Clojure/Script: JVM, web, backend, Datomic, performance, custom OSS modifications, etc.

Expertise
19 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
Berlin, Germany (GMT+01:00)

What I worked on (chronological order)

AlleKinos.de

No-nonsense movie showtimes site for every cinema in Germany

Role
Creator
Period
May 2024
Status
Launched
Stack
Clojure, DataScript

clj-reload100+

Clojure library for dependency-aware code reloading during REPL sessions

Role
Creator
Period
Jan 2024 — Feb 2024
Status
Launched
Stack
Clojure

Humble UI1.2K+

Clojure UI framework for cross-platform desktop apps

Role
Creator
Period
Oct 2021 — now
Status
Ongoing
Stack
Clojure

Clojure Sublimed1.9K+

#1 Clojure development environment (syntax, indentener, REPL) for Sublime Text 4

Role
Creator
Period
Dec 2021 — now
Status
Launched
Stack
Python

This is an exceptionally well thought out set of points on REPL use for a lang like Clojure.

rajandatta on Hacker News

Some features I wish existed on CIDER, since I’m more used to Emacs. Nice job!

Comment on Reddit

Roam Research

Optimized DataScript persistence to reduce graph loading times down to several times

Role
Consultant
Period
May 2021 — July 2023
Stack
ClojureScript, DataScript

JWM500+

Cross-platform window management and OS integration library for Java.

Role
Creator
Period
May 2021 — now
Status
Ongoing
Stack
Java, C++, ObjectiveC

Skija400+

High-quality JVM bindings for Skia graphics library.

Role
Principal Engineer
Period
March 2020 — now
Customer
JetBrains GmbH
Status
Ongoing
Stack
Java, C++, OpenGL, Metal, DirectX
Used by
Humble UI, JetBrains Fleet, Jetpack Compose Desktop

I'm continually impressed by the stuff that comes out of the Clojure community. They really seem to punch above their weight in terms of useful output, novel ideas, interesting projects/products.

uDontKnowMe on Hacker News

Noria

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

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

Fibery

First work management platform with truly flexible domain.

Role
Developer
Period
April — June 2018
Customer
Targetprocess Ltd
Status
Closed beta
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 Website32K+/mo

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
Period
September 2017 — April 2018
Customer
Cognician, Inc
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
Period
March 2015 — August 2015
Customer
Cognician, Inc
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.8K+

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

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

Fira Code75K+

The most popular programming font with ligatures.

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

DataScript5K+

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

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

DataScript is a brilliant thing...undoubtedly the most widely deployed Datalog engine on the planet 🔥

Jeremy Taylor on Twitter

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
Period
February 2014 — November 2014
Customer
MachineZone, Inc
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
Period
October 2011 — February 2014
Customer
Echo
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
Period
October 2010 — October 2011
Customer
Xored Software, Inc
Status
Feature complete

Various Java projects

Automation, billing, prototyping for big Russian industrial facilities.

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

Education

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

Role
Student
Period
2001 — 2007
Status
Complete