Skip to content

Terms of Engagement

Last updated August 19, 2026

This is a sketch of how an engagement with me usually goes. It doesn't bind you, and it doesn't bind me. Every engagement gets its own signed agreement, and the signed agreement governs: wherever it says something different from this page, it wins.

Nothing here is an offer

Under the Civil Code of Ukraine, an offer has to hold the essential terms and show that whoever makes it wants to be bound. Advertising and other proposals to an undefined circle of people are only an invitation to make offers. This page names no price, no scope and no duration, so it sits on the invitation side. Nothing on the site is a public offer, and you can't accept any of it as a contract.

The shape is open

I don't sell a packaged product. Pretty much any arrangement works, and we settle it per engagement, in the contract. It really just depends on what we agree.

Shapes that come up most

Fixed scope

One agreed result for one agreed price, against a written spec. If the spec changes, so does the price, and we renegotiate it.

Retainer

A monthly fee for a set amount of my time. Hours left over are lost, unless the contract carries them forward.

Advisory

For a client that already has engineers. I make or review the architecture calls and set direction, billed per hour or per engagement.

These are just the 3 familiar ones. If your job needs a different arrangement, it goes into the agreement, and that's it.

How work starts

I send you a written proposal: the result, the schedule, and a fixed price or a rate. Anything beyond it needs written agreement first, before I do the work.

Availability and hours

Availability is worked out per client. If it's a few small cases, they're usually resolved within a month. If it's a big client with a big project, one that may keep growing, I'm fully dedicated to that client during the hours we agreed. We decide the hours together, up front and custom for each client: hours per day or per month when the work is hour-based, or a fixed scope for a whole project. Whatever we settle on, you get the proper amount of hours we agreed.

Payment

The usual setup is a signed contract, with payment by SWIFT bank transfer. If a client needs it, Payoneer works too.

Each invoice has its own due date. Fixed-scope work is normally billed per milestone, and a retainer at the start of each month. If an invoice is overdue, I may stop work until it's paid. Of course, the contract has the final say on all of this.

Confidentiality and IP

Whatever you share with me in confidence stays private, and I'm happy to sign an NDA before you share anything. By default, once you've paid in full, you own what I built for you. What I build for you runs on standard, well-documented tools that any competent engineer can pick up after me. If one of my own libraries would really help, we agree on it first, and it comes with its documentation. I keep my earlier tools, code libraries and general expertise, and you get a license to use them inside the result. A contract can change this split.

Warranty and liability

By default, I work with professional competence, and for 30 days after handover I fix any defect in what I delivered at no extra cost. That period can be longer if we agree on it. Beyond that, there's no other warranty. My total liability is limited to what you paid for that engagement. The contract can move that limit, this is only where the talk usually starts.

Some limits no contract can remove, though. If you're a consumer, Ukraine's consumer protection law (No. 1023-XII) forbids a term that releases or limits the supplier's liability for death or injury it caused. It also forbids a term that excludes or limits your rights when the supplier doesn't perform, or performs improperly.

Governing law

The signed agreement names the law that applies and the court. If you're a consumer, you still keep the mandatory protections of your own country, whatever that clause says.

Out of scope

Any arrangement is fine, but there are 2 kinds of work I don't take: new projects on end-of-life platforms, and crypto projects in the dark or gray zone.

Describe the problem

Every engagement gets its own terms, so the most useful first step is to send me the problem.

Start a project

So, what's broken?

Tell me the problem, a rough budget, and a timeline if you have one. I reply within 24h on weekdays.

Rough budgetoptional
* required