Projects

zx
A tool for writing better scripts

zx

While I was working at Google as an SRE, I struggled with writing shell scripts. I wanted to write better scripts, so I created zx (yes, I know, I can use Python for that, or Ruby, or Perl, or even Raku, even Babashka). Zx quickly gained popularity, and I received a wave of hate on Twitter from JS haters.

Right now, zx is one of the most popular repositories on Google's GitHub. My ideas for using template string literals became popular and found their way into various libraries, as well as into JavaScript runtimes such as Deno and Bun.

Expr Language

Expr — an expression language for Go. Non-Turing complete, static typing. Used by Google, Uber, ByteDance, Aviasales, and many others.

Deployer

A deployment tool for PHP websites. Over 10 years old. More than 100k projects use it monthly to deploy their applications.

Numbr

A smart calculator combined with a notepad. Similar to popular macOS app Soulver, but in a browser. Also, it is possible to use as a Chrome extension, which is a great way to do quick calculations.

Finder - a CSS selector generator

Finder

A CSS selector generator. Given a DOM element, Finder generates a unique CSS selector. It is primarily used for creating browser tests and scraping tools. It is also used at Google (see third_party in google3).

Megaera - GraphQL to TypeScript generator

Megaera

A tool for generating TypeScript types from GraphQL schemas. Much lighter alternative to GraphQL Codegen.

I created this tool to be used in My Badges project.

My Badges

My Badges

I really liked the idea of badges used at Google. At Google, everyone can create a badge that appears on Moma's profile for everyone entitled to receive it. I wanted something similar for GitHub. In My Badges, everyone can create a badge that appears on their profile.

GitHub Stars Sparklines

A tool for visualizing GitHub stars history as sparklines.

CodeJar

An embeddable code editor for the browser 🍯. Tiny and works on mobile devices.

Terminal utils

Walk - a file tree explorer

walk

A terminal navigation tool.

Fx - terminal JSON viewer

f(x)

A terminal JSON viewer.

How to - a terminal cheatsheet

howto

Ask LLM to generate terminal commands. With one simple shortcut. For lazy people, who don't even to switch to a different window.

Countdown - a terminal countdown timer

countdown

A terminal countdown timer. Counts down (or up) to a given time. Can announce the time.

Games

Bit Planes

My first canvas game. Built everything from scratch: engine, physics.

Checkers

Russian checkers with neuro-evolution AI. Uses minimax with alpha-beta pruning, simple net, evolution algorithm.