Highlights
-
Fixed the bug that made Chrome DevTools offer oklch(NaN NaN NaN)
Every color conversion in Chrome DevTools runs through one function, and it took its cube root with
Math.pow(v, 1/3)— which returnsNaNfor the negative components out-of-gamut colors produce. So the format picker listedoklch(NaN NaN NaN)as a choice, and picking it wrote that into the stylesheet and dropped the declaration. I filed it against Chromium and sent the fix:Math.cbrt, plus the out-of-gamut cases the test never covered. Two DevTools reviewers signed off and it landed the next day.view the CL → · Chromium -
CSS Working Group member benchmarked colordx/gpu against his own shader, then switched
Adam Argyle (CSS Working Group, creator of Open Props and VisBug) read my post on GPU color math and benchmarked @colordx/gpu against his own WebGL shader. He found gaps. I closed every one of them in four releases over the following week.
the recommendation in the writeup flipped: with these gaps closed, the library is now the better integration choice over maintaining my own GLSL — the deciding factor being that I inherit your parity suite instead of owning a shader plus a colorjs-drift test forever.
read the PR thread → · @argyleink -
Rewrote the postcss-calc parser
The cssnano maintainer asked me to modernize postcss-calc. I rewrote its
calc()parser as a Pratt parser, about 900 lines, to bring it in line with the current CSS spec.view the PR → · @ludofischer -
Published the colordx/gpu deep-dive on Habr
I adapted my post on color math on the GPU for Habr, the largest Russian-language tech platform. Passing color rules straight to WebGL fragment shaders hits 6B+ conversions/sec, hundreds of times faster than the CPU path.
read on habr → · Habr -
oklch.com switched to colordx/gpu
Andrey Sitnik, creator of PostCSS and Autoprefixer, moved oklch.com to my WebGL OKLCH painter and posted about it. The site got much faster.
If you’ve ever wanted to embed something like oklch.com into your app, now’s your chance. Dmitry Kryaklin built a WebGL OKLCH color space painter, and we’ve already moved oklch.com to it, making the site much faster.
read on bluesky → · @en.sitnik.es -
Wrote up how I made cssnano 30% faster
Three changes cut cssnano build time by 30%: skip parsing for trivial selectors, avoid repeat processor runs, and replace an O(N²) duplicate check with linear-time bucketing.
read on dev.to → · dev.to -
Ruslo AI — #2 product of the week
I launched Ruslo, an AI knowledge tool for teams. It took 2nd place of the week on Product Radar.
view launch → · Product Radar -
Founder advice in CEO Official Mag
Quoted as a founder in “Scaling a Startup: 25 Lessons Learned From Founders.” My point: learn to tell product signal from noise.
Stop treating feature requests as a to-do list. Treat them as data. Single requests are anecdotes. Repeated unprompted requests across different user types are signal.
read the piece → · CEO Official Mag -
Founder quote in TechBullion on pricing
Quoted as a founder in “Startup Product Pricing: 18 Strategies That Succeed and Why.” My point: pricing is a process, not a launch-day decision.
Don’t try to design your perfect pricing on day one. You can’t. You don’t have enough information yet.
read on techbullion → · TechBullion -
colord’s author reached out about colordx
omgovich wrote colord and react-colorful. He looked at colordx and offered to join forces.
Just took a proper look at colordx, really cool project! Genuinely happy to see strong alternatives in this space… Would love to get in touch and maybe join forces — the ecosystem only wins when good tools stay accessible to everyone.
read on github → · @omgovich -
Wrote up why colordx is fast
colordx outruns other color libraries, and the post explains why: one canonical object shape so V8 keeps a single hidden class, sentinel symbols instead of
Object.create, and*Intovariants that reuse buffers to cut GC pressure.read on dev.to → · dev.to -
Shipped a cssnano feature that sat open for 11 months
cssnano gets ~16M downloads a week and powers Next.js and Nuxt. One issue had sat open for almost a year over safety concerns. I designed and built the feature, about 900 lines, that folds repeated selector lists into
:is(). They merged it and then asked me to help rework postcss-calc.Your code seems to show more than average experience with processing CSS. Have you got any suggestions to update postcss-calc?
view the PR → · @ludofischer -
Moved oklch.com from culori to my own library
Replaced culori with colordx across oklch.com’s render hot path and all four app stores, with full backward compatibility and zero regressions. Also fixed a canvas render race and tightened gamut precision.
Huge work
view the PR → · @en.sitnik.es -
Founder quote in TechBullion on finding signal
Quoted as a founder in “25 Ways Startups Stay Ahead: Industry Trends & Innovation Strategies.” My point: read competitor reviews to find validated feature requests.
When multiple people raise the same issue, that’s a validated signal. That’s actually how we prioritized Google Docs export for our AI transcription app — spotted the pattern in a competitor’s reviews and moved on it.
read on techbullion → · TechBullion -
Expert feature in TAdviser
TAdviser, a leading Russian IT publication, ran a piece on how technical architecture shapes music-streaming competition for creators. I gave expert commentary as Head of Frontend at BandLink, Yandex.
read on tadviser → · TAdviser -
Judged the IAHD Lifestyle Evolution Hackathon
Judged the finals of the Lifestyle Evolution Hackathon, a contest for tech that solves everyday problems, on a 30-person jury assembled by the International Association of Honored Developers, a community spanning 30 countries. The invite came after my AI meeting-notes product.
see the jury → · IAHD -
TechRound asked how teams kept shipping through the layoffs
TechRound, a London publication covering UK and European tech, asked me how Beamery kept shipping with fewer people. My answer: cut wasted CI work and generate the design-system docs from the code so knowledge stays accessible.
When a team becomes smaller, every engineering hour becomes significantly more valuable. In this environment, the teams that succeed are not necessarily those that simply work longer hours, but those that systematically remove unnecessary work and make knowledge more accessible across the organisation.
read on techround → · TechRound -
Finalist — Hack For Peace hackathon
As frontend engineer for team Bots Boo, I built a Chrome extension that detects and blurs bot posts on Twitter. We cleared the semi-finals and reached the finals, one of 13 teams out of 22.
read the write-up → · Oleksandr Khivrych -
Wrote about auto-generating Cypress selectors
Hand-picked selectors break. We built a pipeline that generates and stores stable selectors for Cypress end-to-end tests, and the post explains how.
read on dev.to → · dev.to -
3rd place — Telegram JavaScript Contest
Took 3rd place in Stage 1 of Telegram’s JavaScript Contest, a global developer competition, and a $3,000 prize. Then went on to Stage 2 and the JavaScript Chart round.
view results → · contest.com -
2nd place — Aviasales hackathon
Our team took 2nd place and a $2,000 prize at the Aviasales hackathon. vc.ru wrote it up.
read on vc.ru → · vc.ru