Notes from building software and running long
I am Oleksandr Khomenko. I build software systems and write about the parts that make teams faster or slower in practice: architecture, AI-assisted development, developer infrastructure, review, ownership, and feedback.
I also run long distances. That shows up here because training has changed how I think about pace, recovery, consistency, and how performance compounds.
This site is where I keep the essays and notes I want to return to.
Essays
-
Remote dev boxes need secret brokers, not copied env files
The rule I use for remote development secrets: keep the vault on the laptop and hand the remote only scoped runtime leases.
-
Travel is not rest
What my wife and I learned when a beautiful two-week trip became too much logistics, movement, and stimulation to feel like recovery.
-
Git worktrees expose the real cost structure of JavaScript repositories
The rule I use with worktrees: isolate working directories, share immutable caches, and keep each branch honest.
-
Agent APIs need an intent layer
The rule I use for agent-facing APIs: log the user goal before the agent turns it into a clean tool call.
-
Agents do not want your CRUD APIs
The agent-ready test I use for SaaS APIs: expose useful product capabilities, not remote access to internal objects.
-
AI coding agents need identity boundaries
The rule I use for local AI agents: split Unix accounts when credentials, identity, cloud access, or risk level differ.
-
Frictionless remote access to a home Linux workstation
The setup I want for a home Linux workstation: private access that makes SSH feel cheap without exposing a public port.
-
Architecture is the cost structure of change
The way I judge architecture: does it make the next valuable change cheaper to understand, test, review, and recover from?
-
AI made code cheap. It did not make merge decisions cheap
The rule I use for AI-heavy development: make generation cheap, but make new obligations intentional.
-
My first 100K at Canyons
I thought the early miles were free. The mountain collected interest: blown quads, slower movement, and patience as a racing strategy.
-
Encryption keys are product boundaries
How I think about key design in multi-tenant SaaS: customer keys should model authority, jurisdiction, deletion, and enterprise trust.
-
Growth engineering is the business of reducing the cost of learning
The way I judge growth engineering: does the work make the next product question cheaper, safer, and easier to trust?