Web-platform with
4,120,000 locations on the map
Web-platform for displaying objects of the following categories on the map: restaurants, hotels, etc. This platform showed advertisement, tied to objects on the map.

There was an outdated version of the system. It was difficult to find developers for the obsolete technology (ASP.NET). At the same time, it was important to start adding new functionality in the shortest possible time and bring them to the market.
An additional problem was slow operation of the system (loading of the pages took more than 10 seconds), users flooded support service with messages.
Also, the data in the system was incomplete, it was necessary to integrate with the new data providers. This, in turn, have led to point increase on the map by 2 times.
The time was limited

Instead of completely rewriting the system, we have decided to switch to a new technology (ASP.NET MVC) compatible with the old one(ASP.NET). By doing so, the old functionality could not be touched, because it worked, and new functionality could be implemented within the new architecture and technologies.
In order to increase the page load speed, we wanted to transfer the database to new more powerful servers.
For integration, new data providers (hotels.com), including more than 4 million objects on the map, were selected. This became critical, because the system have already worked very slow. There was an idea to add indexes to the database tables, which allow to speed up queries to the database in dozens of times without changing the capacity of the servers.
Next, it was planned to add new functionality and gradually transfer old code to a new architecture.

We transferred the system into ASP.NET MVC in 4 days. The old functionality worked, moreover, we could finish the code using the new architecture.
We had to replace the map, as it turned out that the old version did not support some functions and it could not be used from a legal point of view. It took another 2 weeks.
Next, we took up the speed of loading pages. We analyzed the slow queries and found out that it is necessary to request not all the objects of the map, but to filter them in coordinates and categories (hotels, restaurants, etc.). During this, we built indexes on the database tables, query speed increased from 10 seconds to 0.6 seconds without changing the hardware.
This made it possible to add another 4 million points on the map. We wrote a part, which take data from hotels.com, and added another 4 million points. The speed of the request dropped to 1 second, which was still acceptable taking into account the millions of points on the map.

- We transferred the system to modern technology within 4 days
- The number of users increased, and the number of calls to the support service fell to 2 per day after 3 weeks
- We added 4 million objects on the map
- We optimized the speed of loading pages from 10 seconds to 1 second without changing the hardware
- We updated the map to the latest version
- We implemented new functionality in a quiet mode during 7 months
- We added support for mobile devices

- 4 Developers, 1 QA and 1 Project Manager
Highload Data Validation System
750,000 Messages per Minute
The solution supposed to validate XML messages from 5 different sport data web-services (Web API). There were UI to set up validation rules, rules consisted of different operators and AND, OR logic. We had challenges with performance, because maximum loading was 750,000 messages per minute. We created different applications, some of them were downloading XML files, other ones were validating them and those two were working in parallel. The solution also contained UI with statistics charts and XML messages with the wrong data.

Angular, ASP.NET Core, MS SQL Server, Microsoft Azure

- the solution handles 750 000 XML-messages per minute
- 5 Data Services
- the system is able to validate 1 Gb of incoming XML files

Team Size
- 2 developers, 1 QA and 1 Project Manager. The project was critical and had a tight timeline.
Information system for
a law company from the USA
Information system for US law company ( website, CRM (Microsoft Dynamics), mobile application)

There was need to update the website, expand the CRM system, create a mobile application, add data visualization.
At the same time, all the elements of the system had to interact with each other.
The website and CRM were implemented on different technological platforms, it was necessary to bring everything to the same one.

As a solution, the technological stack from Microsoft (.NET) was chosen. CRM was implemented based on this stack. As for CMS, it was decided to use Umbraco (it supported the same technological stack). Kendo UI was used to visualize the data.

We decided to start from the website. Firstly, we had to transfer the data from the old WordPress CMS to Umbraco (the new one we've selected). The old website contained articles, information on more than 200 lawyers and more than 50 fields for each of them. It was necessary to be sure that all the data was transferred correctly. We decided to check it in automatic mode to exclude the possibility of error.

After transferring the data, we took up the website, finished it, filled it with content.

Then we started working on mobile application, started it with the prototype. Data should have been taken from the same database as the website. Also the application had to work without the Internet with the saved data.

At the last stage we started creating CRM. We added a screen with charts (Dashboard). When you hover over the chart, links to detailed data and screens with tables become available.

- The mobile application has increased the prestige of the company. The company was able to send notifications to the users
- We added a screen with charts and primary data, the business became transparent
- We have brought all parts to a single technological platform
- We updated and expanded the site

- 5 Developers, 1 QA, 1 Web-Designer and 1 Project Manager
Learning Management System
LMS (learning management system)

It was necessary to develop a learning management system. The system have to include webinar rooms, an assessment center, system to upload/modify courses, monitoring the progress of students. It was necessary to develop the product iteratively, releasing a new stable version every 4 weeks.

As a development methodology, SCRUM was selected with an iteration of 2 weeks. At the end of each iteration, demonstration was carried out to customers and users. The team was to consist of 7 developers, 1 designer, project manager and 2 testers.
As a technology platform, platform from Microsoft (.NET) was taken.
It was decided to maintain the widely used SCORM standard in the system. This would allow new customers to easily transfer their courses from their old platform to our new one.

The process was built in such a way that the list of functionality was transferred into screen mockups with buttons and functions. Further, these mockups were coordinated with the customer and after approval they were launched into development and testing.
The screens were divided between developers. The entire system was broken down into versions in such a way as to give a stable version of the product every 4 weeks

- Potential clients were invited on development demonstrations (showcases), this allowed to increase sales of the platform even at the time of development
- Every 4 weeks there was a new stable version of the product
- Users and customers were involved in the process and provided timely feedback
- The system supported the SCORM standard, this allowed new customers to quickly move their courses to a new platform

- 7 Developers, 2 QA, 1 Web-Designer and 1 Project Manager.
Customer support platform
in 8 weeks

The system for processing requests to support service for an Israel company.

It was necessary to fully develop the platform from scratch. The deadlines were tight - 8 weeks. The company was preparing for the exhibition, it was extremely important to make the system, otherwise the company was losing a lot of money. The previous development team greatly failed by the deadlines.
The technical specification (60 sheets) have already been written. But it was almost useless, because it contains technical terms and just general description of the functionality.

To begin with, we decided to abandon from the current technical specification, it did not have screens, clear description of the required functions, just 60 pages of abstract text.
It was necessary to create a new document in a short time. We decided to focus on the layouts of screens with comments - this would reduce the time.
The system had to work stably, which means that the last 2 weeks would have gone to testing and debugging.
As a result, the plan was as following: 2 weeks for the new technical specification, 4 weeks for development, 2 weeks for debugging and testing.
For the development it was decided to connect 2 teams.
Terms were very short.

The project involved a business analyst and an interface specialist. We called up with the client every day, showed screen layouts, collected feedback, made corrections and the next day called up again. After 8 days, the screen layouts were ready for development and agreed upon.
In order not to waste time, the development team built the architecture of the system, connected all the required components, made a test screen.
The development was divided between 2 teams, each team had server developers and interface developers. Also each team included a tester. The steps were following: screen layout -> design -> front-end development -> back-end development -> testing. The current result was shown to the customer every week.
After 4 weeks, the development was completed, the testing and debugging phase began. After 2 weeks, the system still had bugs (about 20%), but it was already working. We decided to show at the exhibition incomplete version, and to fix bugs take another 2 weeks.

- The company managed to make the product until the exhibition, present it and successfully collect orders for their product
- In the end, we managed to completely implement the system in 10 weeks from scratch and without technical specifications
- After the current project, the company implemented with us 2 more major projects

- 6 Developers, 2 QA, 1 Web-Designer and Business Analyst, 1 Project Manager.
Platform to choose
roof and house materials
Project for the selection of building materials for the house: roofing, walls, terraces. The user can choose different materials, look in the browser on the models and see how the materials will look.

It was necessary to fully develop a platform for the selection and visualization of building materials. An important addition was that the system had to work in the browser without installing additional plug-ins.
The platform included the admin part, which allowed creating / editing materials, as well as a user part, where you could try these materials on the house.
The client also needed a modern, user-friendly interface

As 3D technology in the project, WebGl technology was chosen, which allows displaying 3D models in the browser. Also, technology was supported by all browsers of mobile devices.
In the rest it was planned to use standard technologies: Web API + Angular.
The work was planned to divide into stages.

We decided to start with screen layouts (mockups), rendered, agreed with the client.
Our team didn't have an experience with WebGl, the search of specialists did not give a result, the technology was new. As a result, we decided to work themselves and to train our own programmers.
During the week we collected all examples of using the technology with examples of code, compiled a list of examples with the required functionality (realistic shadows, realistic materials, reflection of light, 3d model loading, camera rotation functions, etc.).
The development was divided into 2 parts: work with 3d and usual web-development

- We learned the new 3D technology in the browser within 4 weeks
- We created editor of materials and more than 20 materials of manufacturers, realism was checked on the photographs of objects with materials
- We achieved maximum realism of materials, using more than 12 parameters for each material
- The platform supports all modern browsers, including mobile browsers

- 4 Developers, 1 QA, 1 Web-Designer, 1 Project Manager
Feel free to contact us
Roman Skvortsov
CEO, Founder
Phone: +7 962 720 12 49
E-mail: r.skvortsov@ambaha.com