Custom software development

We develop software that has functionality for customers' needs. It will not be useful for the public market and broad audience. All features will be tuned for the customer's business/work/life and will be adapted for him. For example, enough large companies may have a unique business process and use other software with many efforts because it's very far from their complex pipeline. They decide to develop custom software. Depending on the business, it may be a single desktop application or a complex system with a web service and smartphone apps connected to the company server or even to many servers.

Also, the company may use software and check how it works in their business, and after that, they may decide to make software for a public audience. In this case, it's better to think about such probability before the development start. We will plan the architecture, taking such ability into account.

Another critical factor is the number of users. If the company has 10-20 people, it's not a problem to use a single server, but if the company has several hundred or is planning to get more users in the future, it requires a different architecture. The scalability should be discussed before the start to avoid the necessity to reimplement the software architecture in the future or meet the horrible situation when many users start to use a system that can't handle them, and it requires a lot of time to rebuild the software.