Hi. I’m Alex.
I’m a software engineer and have been working remotely for most of my life. My path to tech was a bit unconventional though: before software, I spent four years as an Air Force cadet in Ukraine, training to fly military jets at the Kozhedub Air Force University. You pick up certain habits from that: discipline under pressure, and tracing every problem back to its root cause.
I’ve been writing code professionally since 2001 and contributing to open source since 2011.
What I work with day-to-day: Ruby on Rails, JavaScript / TypeScript, React, Python, PostgreSQL · MySQL, ClojureScript
Open source
The thing I’m probably best known for online. Core team member of react-bootstrap (22.6k ★, 6.7M npm downloads/month) 421 commits, 208 merged PRs. Was the #1 contributor for several years. That was a personal challenge I set for myself, and I did it. Matt Smith, the project lead, once said:
“AlexKVal as the bulldog that just keeps fixing everything he can as fast as he can” — Matt Smith, SurviveJS Interview
Other projects I’ve contributed to or maintained:
- eslint-plugin-react (9.3k ★): created the
jsx-sort-prop-typesrule from scratch, which meant writing a JavaScript AST parser, tests, and docs - rspec-core (1.2k ★): 15 merged PRs in 13 days (Dec 2011). My earliest open-source contribution
- react-router-bootstrap (1.7k ★): maintainer, ES6 conversion, visual testing
- react_on_rails (5.2k ★), react-select (28.1k ★), Elemental UI (4.3k ★), bootstrap-loader (~1k ★)
I also built release-script: a release automation utility for npm packages. It ended up being adopted by 2,855 repos (~9.5k weekly npm downloads), including yup (23.7k ★).
What other people have said along the way: Thanks to Alexander Shemetovskiy · Dude you rock · Fantastic
How I work
These days I use AI agent swarms for almost everything. I’ve vibe-engineered several apps from scratch, one every two or three days, in TypeScript, Rust, and Python. That’s just how I work now.
I like removing code more than writing it :) Like this · and this · and this
I deal with technical debt, care about code readability, maintain CHANGELOGs, and write docs for both users and contributors.
I tend to find adjacent bugs while investigating assigned ones. Code paths are interesting, once I start following one, I have trouble stopping.
I kept my GitHub contribution graph fully green for 6 years straight (2015–2021), committing every single day. Holidays, vacations, sick days, didn’t matter. It was a challenge other open-source contributors were doing at the time, and I wanted to see if I could keep it up. I could.
Beyond code
Languages: English, Ukrainian (native), Russian (native), Japanese (studying daily), and bits of German and Spanish.
Electronics: I have a thing for low-level hardware. Built a simple 8-bit computer on breadboards using basic logic ICs, static RAM, and ROM: no pre-built CPU. Goes back to my early career, writing Atmel microcontroller firmware for GPS car-tracking systems.
StarCraft II + AI (2019): Before AI got smart enough to chat with you, training a neural network to play a video game was a proper experiment. I set up DeepMind’s PySC2 on macOS and wrote about it.
Readings: I keep a list of things I find interesting: Rust, Go, digital electronics, entrepreneurship, computer science, and more.
Some of my hobby projects
- JSON-API server with ORM for ODBC in Node.js + Ember.js client + ORM layer
- Rails + ClojureScript/Reagent: using Reagent on the frontend instead of the usual JavaScript + React · Rails Engines + Git Submodules
- Elm: Random GIF · Elm: Dynamic Components
- Functional JS · GoogleMaps API
Responsive frontend demos: web page · stats block · gallery · tabs · animated grid · SVG by hand · modal login · credit card form
- LinkedIn: alexkval — career history and recommendations
- GitHub: alexkval — 216 public repos
- Email: alexkval@gmail.com