
Jurij Tokarski
Hey 👋 I'm Jurij. I run Varstatt and create software. Usually, I'm deep in the work shipping for clients or building for myself. Sometimes, I share bits I don't want to forget: mostly about software, products and self-employment.
x.comlinkedin.commedium.comdev.tohashnode.devjurij@varstatt.comRSS
SVG Animation Is Not DOM Animation
Rebuilding an old chart race challenge in React taught me five things SVG handles differently.
45 Tabs I Stopped Opening
A JWT decoder, a mesh gradient engine, an animation system, and everything in between. Three of them outgrew the toolkit.
npm Publish Without Tokens
Trusted publishing with OIDC replaces long-lived npm tokens. The setup has one undocumented requirement that returns a misleading 404.
It Works, But You Can't Ship It
Two AI providers fill the form correctly. Both route document data through global endpoints that don't meet every customer's residency policy.
Three Ways the Wrong Value Won
A race condition, a stale default, and a spread operator each delivered the wrong value to production. None threw an error.
An Empty AI Response Corrupted Chat History
Gemini returned HTTP 200 with zero content. I saved it. The conversation never recovered.
How do you know if your idea is worth building?
The discovery questions that separate good ideas from projects destined to fail.
Why should you think of software as a business cost, not a craft?
Reframing software development from an art form to a predictable business expense changes how you build.
Software Engineering Principles for Startups
33 principles I use to ship software every week: a working system built from years of product development
Why does Varstatt use weekly retainers instead of sprint-based contracts?
How continuous priority queue work differs from sprint-based development cycles.