You know the scope and the price before we write code
Three stages. Each one is a separate decision for you, priced on its own, and you can stop after any of them with something useful in hand.
Discovery sprint
One to two weeks. We sit with the people who will use the system, map the current process, agree what the first version must do, and produce a clickable prototype, an architecture outline and a fixed-price estimate for the build.
You keep the prototype, the written scope and the estimate, whether or not we build it.
Fixed-scope build
Typically six to twelve weeks. A small senior team, weekly demos of working software, a staging environment you can try things on, and a production launch with a migration plan if there is existing data.
You keep the source code, the infrastructure in your own Azure account, and the documentation.
Support retainer
After launch, a monthly bucket of engineering hours for fixes, improvements and the next features, a response-time commitment for incidents, and a roadmap call. Sized to the system: a small internal tool needs a few hours a month, a platform with customers on it needs more.
You keep unused hours rolling for one month and can change the size of the bucket with 30 days' notice.
We price each engagement on its scope rather than publishing a rate card, because a two-week integration and a six-month platform migration are not the same product. You get a written quote for the discovery sprint on the first call and a fixed price for the build at the end of it. For agencies that need engineering capacity on their own projects, we quote per project or per month.
Practical answers
Who actually does the work?
Davor scopes every project, owns the architecture and reviews every pull request. Depending on the size, one or two senior engineers from our bench build alongside him. You will know everyone by name and they will be in the weekly demo.
Do we own the code?
Yes. Everything is in a repository you control from the first week, infrastructure lives in your own Azure subscription, and intellectual property transfers on payment of each invoice. No lock-in by design.
What if the scope changes during the build?
It usually does a little. Small changes are absorbed. Anything that moves the estimate gets written up with the cost and schedule impact, and you decide. Nothing is added quietly.
Can you work with our existing team or another vendor?
Yes. At BATS CRM we work alongside a partner team and several integration vendors. We are used to shared codebases, shared responsibility and someone else's release calendar.
Where are you, and what hours do you work?
Zagreb, Croatia, Central European Time. We work with clients in the US and across Europe. For US clients that means your morning overlaps our afternoon, and incidents are covered according to the retainer terms.
How do you handle contracts and invoicing?
One short master services agreement covers the relationship (confidentiality, who owns the code, liability, how either side can end it). Each stage then gets a one-page statement of work with the scope, price and timeline. Both in English. Invoices in EUR or USD from an EU-registered business, monthly or per milestone. If you have your own standard vendor agreement, we will usually sign that instead.