what to prepare for when starting an agency business in IT
My web studio is already 4 years old. During this time, I went from “wow, I’m a businessman” to disappointment and reconciliation with harsh reality.
I want to share my experience with those who also dream of opening an agency business. You will find out what mistakes I made, what I learned from it – and why I still haven’t given up, although sometimes I really want to.

How it all started, or how I opened an agency out of anger at my employer
I studied to be a programmer, and after 10 years I decided to change my profile – I became an interface designer. At first I worked at LIFE PAY: I wrote texts, did SEO, and drew pictures for advertising. I also edited videos, organized photo sessions, assembled stands at conferences, and looked for freelancers. The pay was stable – quite a warm swamp. But I didn’t like it, and I decided to leave.
I got a job in a marketing agency, although I had long dreamed of having my own business with a marketing department, conversations at the water cooler and accounting. The magic kick was the sudden dismissal. Anger gave me the opportunity to move: I decided to open a web studio, where everything would be my way. Freelance friends suggested working together.
That’s how I created WAPP. The name is a combination of the words web and application. The first client was a service for finding hotels and entertainment in Thailand. Impressed by the contract for 1.4 million rubles, I began to fantasize about collecting money with a shovel. Now this amount is not enough for me even for a monthly payroll. I was naive and didn’t know: “big budgets” do not equal “big profits.”
In general, I made a lot of mistakes.
First mistake: I didn’t take finances into account – and spent everything

I had no idea how companies count money—I didn’t even understand the meaning of the term “cash gap.” As a result, we took an advance payment, spent it, and did not have enough money for salaries. We landed in a puddle with a loud splash. This was my first crisis.
Then I came up with an accounting spreadsheet in Excel. I created a dashboard on the first page, and income and expenses on the others. Excel was glitchy and formulas were confusing. Because of this, I was nervous and double-checked everything 10 times. In addition, the table did not take into account cash gaps – it was impossible to understand from it what was really happening in the company.
https://docs.google.com/spreadsheets/d/1jnZ_9cId‑zNL9wGVWFwpqgKlOgU1dTMEaiU5kQCqbRc/edit?ref
Only two years later I allocated a budget for a paid tool – Finologist. It turned out to be not ideal. Yes, in Finologist you can plan your income and expenses. But if payment or debit occurs on the fourth day or later, everything will go wrong: payments will be classified as undefined, and you will have to process them manually. In addition, the graphs show statistics without taking into account cash gaps.
Two years later we switched to Adesk. He can do the same thing as Finologist. At the same time, it’s cheaper, adaptable to a mobile phone, and most importantly, it works smoothly and saves your nerves. Now our finances are transparent.
Conclusions:
There are no good free accounting systems.
Excel can be used until you have money for something normal.
If you have money, it is better to immediately buy a paid program. For example, Finologist costs 4 thousand, and Adesk costs 2.5 thousand rubles.
Mistake two: I ordered 1,500 “cold” calls so as not to get a single client
I had a client base that I developed over 3-4 years – about 700 contacts. I didn’t want to call myself, so I contacted the call center. They added another 800 to my contacts. As a result, I ordered 1,500 calls for 50 thousand rubles.
I didn’t place a bet on this attraction channel, but in my heart I hoped that everything would work out. Expectations were not met. They sent me call recordings, and everything was bad there. The operators were afraid to talk, made mistakes, and did not understand the script well. For example, a potential client asks, “What is the name of your company?” And the operator replies: “I’m an intern, let’s transfer the call to a senior manager.”
Most likely, the operators were not given any training. Supervisors did not respond to questions and comments. As a result, we received about 40 leads. When we started calling them ourselves, it turned out that more than half did not understand what we were talking about. Only three companies were willing to talk, but their budgets did not match our prices. We have not signed a single new contract.
Conclusion:
Mistake three: looking for clients on freelance platforms
At first we moved on FL.ru. You pay the site 30-50 thousand a month, and boom – you have clients. But the team and salaries grew, but project budgets did not. You need to squeeze design, coding, testing, project management, and client training into a limited budget. Over time, we abandoned freelance platforms.
We launched targeted advertising – there were no applications. We left only retargeting to site visitors. We spent about 30 thousand rubles on contextual advertising, received 8 applications, but did not conclude a single contract. We settled on automatic Yandex advertising with payment per transaction. We pay about 4 thousand rubles a month.
Search engine optimization turned out to be the most effective channel. I created a page on outstaffing – and a month later a great client came with whom we worked for 4 years.
Now we are promoting through SEO, contextual advertising and personal contacts: over the years we have acquired acquaintances and partners – leads began to come through recommendations. We also want to try content marketing and buying advertising in ratings.
Conclusions:
Invest in SEO: it’s definitely better than cold calling.
Retargeting really brings customers back to the site and is cheap.
Join thematic groups on social networks, add entrepreneurs as friends, call the studio yourself and exchange contacts. Also, Tochka.Network is a cool thing.
Mistake four: giving in to clients who refused technical specifications
Most clients did not want to pay for the development of technical specifications. The reasons are “no money” or “everything is clear.” The result is errors in assessment. Therefore, for such clients we increased the cost by 30 percent.
The first projects went far beyond the budget and deadlines. If it was possible to agree on the timing, then it was not always possible to increase the budget. We actively minus and took money from prepayments for other projects. The box office gap grew, as did my dissatisfaction.
The problem can be solved by weekly or monthly payment, but this approach is not transparent for the client: it is not clear when the project will end. I can tell you from experience: it will end when the customer’s nerves run out.
A compromise solution is to evaluate the task in the range of “from” and “to”. We explain to clients this way: we won’t be able to do anything less than “from”, but we won’t go beyond the “to” limit. As the project progresses, we send the client weekly reports, where we indicate the costs for each specialist and the estimated time frame for completing the tasks.
Conclusions:
A technical specification is an opportunity to evaluate a project as close to reality as possible.
If you can’t estimate accurately, agree on a clear range with the client.
Mistake five: I was afraid to admit to the client that I take money not only for the code
Development is not only about programming and design. This also includes project management, testing, implementation into the business process, client training, drawing up instructions and technical specifications. At the beginning, I didn’t think about this, so I devalued my work: I planned to make money on the difference between the programmers’ salary and the cost to the client.
And then I studied entrepreneurial advice on YouTube. And he began to include the management and maintenance of the company in the cost of a developer’s hour. The opacity was confusing: after all, I was “hiding” my work from the client. But I was afraid to honestly say that I was taking money for management. It seemed that the client would refuse.
The general director taught me to describe in detail what we charge money for. It turned out there was nothing wrong with that. So far no one has been outraged. The estimate has become more transparent, and most importantly, it has become easier to count money.
Conclusions:
Consider any type of work. You should not manage a project, test or describe something for free.
Be open: show in detail what you will do and when. This makes it easier to justify the cost.
Mistake six: completely trusted the developers
The most fakap project is Maller. We made an application for calculating the budget for advertising in Yandex Direct. I shudder when I think about this experience.
It started with the fact that we were unable to allocate several developers to the project. And they couldn’t refuse the order: they needed money. So they imprisoned an “experienced” full-stack programmer who decided to calculate advertising in the client’s browser, and not on the server. He argued that modern computers can handle such calculations. I believed him.
As you may have guessed, he was wrong. The client’s video cards could not cope with processing files of 50 megabytes in size. Browsers froze and crashed. We had to rewrite the application from scratch at our own expense.
We never finished the project. We gave the client the code that we had written, but did not continue further. I’m still ashamed, and the customer was so offended that he didn’t sign the documents. Now I don’t make such decisions myself: I consult with the development team.
Conclusions:
We do not calculate anything on the browser side.
Minimum frontend. We do everything we can on the backend – even the layout.
If we don’t have enough performers, we immediately tell the client about this and agree to postpone the launch.
If the estimate is inaccurate, we provide a preliminary estimate with an additional hourly rate.
Mistake seven: taking negativity to heart
Only recently have I stopped worrying about the eternal question: “Why is it so expensive?” On average, an hour of our services costs 2.8 thousand rubles. Of these, I pay the developer a thousand – and I honestly tell the customer about this. Some agencies artificially lower bids in order to get a contract at any cost. And I don’t want to do that.
I accepted that not everyone is willing to pay that much for intellectual work. Yes, unfortunately, many people don’t understand why they can’t come back six months later, point to the bug and ask to fix it for free. As a result, you simply do not have time to accumulate a cash buffer and cannot support expensive specialists. Therefore, we began to choose clients more carefully and do not grab any order.
Most of those who didn’t understand came from freelance sites. For example, one day a client set a task – to make an adaptive front in Vue. We estimated the work at 600 thousand rubles. Along the way, they gave us modifications, and the budget went over a million. The client was happy with this. And as soon as we completed everything, we received a complaint: “You know, we don’t need this for so much. And in general, we are unhappy: the old site has such a thing, but the new one doesn’t.” That’s one of the reasons we left with FL.ru.
Conclusions:
If a client smiles on calls and says that everything is great, this does not mean that in the end he will not surprise you with something.
Perhaps I’m too outspoken – or just a green entrepreneur. But I don’t want to deceive clients. Therefore, I decided for myself: I will name the honest cost and say directly what it consists of. Let the client decide whether he is ready to pay or not. And I can handle refusals.
I was tired of the negativity, but I learned to take it calmer: I simply accepted it as a fact that complaints can appear out of nowhere and at any moment.
Mistake eight: I turned a blind eye to problems and waited until staff reductions were made
Since 2022, companies have been afraid to spend money on development: they are not confident in the future and do not want to invest in development. Previously, 4 leads were consistently converted into one client. Every month we had a new project. A year and a half ago everything changed.
At first I preferred not to notice the obvious and just waited. We spent our reserves of money. I even took out a loan in the hope that projects were about to appear. There were either no leads at all, or the deal fell through at the last moment. I fussed, wrote to old clients and partners. In general, I did everything the same as always, but it didn’t help.
Yes, “Finologist” could tell me how bad everything was, but I didn’t have enough competence to draw the right conclusions from the numbers. And we also did not have project analytics that would show utilization and workload of personnel.
At one “wonderful” moment I had to admit: I screwed up. On the call, I told the team that we were laying off 70% of people. I have never heard such silence in response.
Conclusions:
You can’t rely only on yourself: it’s important to understand in time that you don’t know and can’t do something. I’m not good at analyzing numbers, so I hired a CFO. Now we have, for example, a debt repayment calendar – I wouldn’t have thought of this on my own.
You need to plan everything: sales, service matrix, personnel utilization, tariff changes.
Now the agency does not bring the profit that it brought before the spring of 2022. However, I do not plan to leave the business – despite the stress and the fact that my dreams of fabulous wealth did not come true. Still, developing applications and websites inspires me. Thanks to her, I feel like an economic engine or a reformer who replaces manual labor with machine labor. I hope my persistence will soon pay off – and I will write an article about it.