Every change has an engineer behind it.
How a project runs with us: who does what, how we communicate, how we use AI coding agents, and how we keep your code safe.
From first message to first change
01
You write to us
Through the contact form or by email. A few lines are enough.
02
We reply with questions
Questions about versions, hosting, who maintains the app today and which deadline you face.
03
Diagnosis
A Debt Check or Code Audit, depending on how much you already know. Before you pay for it, we confirm that it fits your case and agree on whether we may use AI tools on your code (see below).
04
Fixed-price quote
Scope, steps, schedule, price. We name a price only once we know the scope. Nothing starts without your written OK.
05
NDA and access
NDA first, then read-only access. Write access only when the work needs it.
06
Small, reviewable steps
Every change arrives as a merge request with a description, and passes tests and CI before it is merged.
Principles from years of practice
-
Steadily, not once every few years
Regular care costs less than catching up on several years of missed updates at once. So we prefer a steady rhythm of small changes to one big push after something has already stopped working.
-
The tool fits the problem
We choose the framework and libraries to fit the problem in front of us. A favorite tool is not a reason on its own.
-
We know old PHP from the inside
We know Zend Framework 1 and the custom CMSs of that era first-hand: we wrote code in them when they were new. That is why we know where decisions that look odd today came from.
Communication
-
Email and your tracker
Email, your issue tracker, merge request comments. Decisions stay on record, and nobody has to be online at the same hour.
-
Calls when useful
For a kick-off or a tricky decision we schedule a video call, in English or Polish.
-
Languages
Email and messages: English, German, French or Polish. Video calls: English or Polish.
-
Reports
A short update at agreed intervals and a report at the end of each piece of work.
AI coding agents, under an engineer's control
We use AI coding agents as tools for the work itself. They help with the slow, repetitive parts of legacy work: reading through large codebases, drafting characterization tests, applying Rector rules across hundreds of files, preparing upgrade changes.
An engineer plans every task, reviews every change before it reaches your repository, and is responsible for the result. Nothing is merged because a tool suggested it. Every change goes through tests and CI and arrives as a merge request you can read.
Routine work takes less time this way, which is one reason we can quote fixed prices.
Your consent comes first
-
Consent in the contract
We use AI tools on your code only with your written consent. It is part of the contract and the data processing agreement. If your policy doesn't allow AI tools, we can work without them. That work is priced individually.
-
Named tools
The data processing agreement lists the AI tools and providers we use as subprocessors.
-
No training on your code
We use AI tools only under commercial or API terms that do not allow the provider to train models on your code.
-
No production data
Production data, customer data and secrets never go into AI tools. We work with code, test data and anonymized samples.
Keeping your code safe
The full rules, the list of subprocessors and the documents you can have before you sign are on Security & trust. To check our company in the public registers, see Verify us.
-
NDA before access
Signed before we see a single file.
-
Least access
Read-only first. Write and deploy access only when the work needs it, with keys you create and can revoke.
-
Your accounts
The code stays in your repository. Servers, domains and accounts stay in your name.
-
Secrets
If we find passwords or keys in the repository, we report them and help you rotate them.
-
Traceable changes
Every change is a commit with a reason. You can see who changed what, and why.
-
After the project
We return or delete what we hold, and you revoke our access. The contract sets the timing. Handing the app over to another provider is a normal step: the code, the rights to it and the access stay with you.
Questions about the method
Does AI write our code?
Parts of a change may be drafted by an AI agent. Every line that reaches your repository has been reviewed by our engineer, who is accountable for it as if they had typed it.
Do you work with clients who don't allow AI tools?
Yes. By default we work with AI tools, but if your policy doesn't allow them, we do the work without them. That work is priced individually.
Can we see what the AI tools did?
You see the result the same way as any other work: commits, merge requests and tests. The engineer's review is part of every merge request.
Who is accountable if something goes wrong?
We are, under the contract. Using a tool doesn't move responsibility to the tool.
Ask about security and consent first
Send them before anything else. You get our answers, and you read the contract and the DPA before you sign anything.