Tell us about your project

Thank you!
Our managers will contact you soon

Web applications for business and science 

IT geeks looking for mind-blowing projects

Market places

Multilingual, with multiple currencies and flexible pricing. CRM integration, bonus programs, different access levels. Any type of payment gateways, STEAM.

Payment systems

High security level. Hacking and fraud protection. Smart-contracts, cryptocurrency support. Charge and withdrawal in automated, half-automated modes and so on.

Travel and booking apps

Ticket and tour sales on your website. We work directly with booking systems such as Amadeus or Galileo or with higher level API's like Booking, AirBNB.

CRM and ERP

Solutions for different business types like taxi services, direct sales automation, call-center automation. Integration with various industrial equipment.

Educational apps, MOOCs

Sites like Coursera or edX with complex reports and payment gateways. We can provide reliable video streaming based on CDN.
Science applications
Strong fundamental skills in physics,biology, big data. Neural networks, pattern recognition. Prototypes in R, MatLab and Python.

More features for your projects 

Extra but not least

Mobile

Native code apps as well as adaptive websites. Backend for your service.

Highload systems

Proper caching, load balancing from scratch. We are ok with AWS and Google Cloud also.

User tracking

Google Analytics and Mixpanel funnel setup. A/B testing to implove KPI.

Media streaming

CDN or your own streaming server. Encrypted stream protection. Wowza  and P2P streaming.

Affiliate programs

Partnership system with traffic analytics. Secure internal wallets and payment gateways.

Full-text search 

Sphinx, Elastic search. Support for clever search, word forms and synonyms. 

Cases - how we do things

Over 6 years we have implemented 102 projects and here are some real cases
TagFly

«TagFly» is a tourist portal, a system of blogs and tours booking. In this system the user sees the ultimate price, can immediately buy the tour without any concurrence and go traveling. «TagFly» realizes quite innovative ideas in several directions at once both in tour search mechanism and showing articles and site design.

Metatest

Metatest is a system of employees testing. It allows creating flexible tests (varying from simple choice system and variants sorting to graphical answers) and supports branchy tests depending on the answers. Results are also customized, because a built-in report creator has a flexible program code it is appropriate for advanced users.

Playmusics

Playmusics is an online musical library. Idea was to create a mashup of VK.com social network (music itself) and LastFM (artist info). Customer wanted to give user the ability to search for, download and organize music into playlists. Search results had to be grouped by artists, biography and upcoming events had to be shown as well.


Read case

TagFly

First of all this is a system of blogs. Even if there was no function of booking on the site, the article content of the portal alone is worth the user’s attention. There you can find not only descriptions of countries and resorts, but also a lot of information from the first-person points of view given by other tourists.

The client has the ability to adjust the search parameters, so that it was possible to sort articles according to different criteria in different categories (countries) or even insert sets of other articles for ads adding them to the main result. All of this should look like Pinterest newsfeed. The block can be not only in the form of articles, but also in the form of ads or special blocks. We racked our brains quite long about how to do this, and we came to the conclusion that we needed to write a special language of return. And it should be very simple so that an ordinary site administrator could use it, and quite rich so that the task we discussed was solved. We faced a similar task during our other project connected with «MetaTest», where we needed a flexible report creator.

 Here is an example of return settings in the category of “France”

 

here is what we get as a result

 

 

The second foundation was the system of tour searching, which allowed performing search faster than other sites. The site fulfills the search according to the broad request, that’s why additional requests and specifications occur instantly for a user. For example, while searching for a certain hotel the system will not do additional requests for operators as is the case with other sites. You simply tick necessary items, enter the names, change the number of stars etc., the information is updated in less than a second.

 

 

Unfortunately tour operators’ API was not good for such approach. It limited the number of tours, which a user could get for a single request. That’s why if you give a broad request, part of the results doesn’t come out.

That’s why we corresponded a lot with support and our colleagues. As a result we split the broad request in subrequests and set the caching so that everything worked quickly. We also found some bugs in the API itself and fixed them.

The third and the last thing, but not the least, is the system of tour price actualization. It uses maximum automatization so that you get the ultimate price without any concurrences with managers, and after that you may proceed directly to payment.

First we relied on built-in function of price actualization in API, but it often mixed fuel surcharge, forgot to include visa surcharge and gave data in different currencies. That’s why we added our own handbooks into the system, which were adjusting data coming from API. The handbooks themselves synchronized with other external resources, leaving the possibility of manual correction. Thus we got full and accurate pricing with which we could send the user to fulfill payment. 

So we needed only to enable online-payment, think about interface from the point of view of being user friendly. We added into the project social networks elements such as “likes”, “comments”, “rating”, “users’ articles”. In order to show reviews on hotels, we made a mixed return: one part of the reviews we take from external resources and add some other reviews to them, which users left on our site. Also we added some goodies like possibility to automatically create advertizing landing pages directly from administration panel. So version 1.0 was ready.

 «TagFly» is an interesting project both for us because we solved engineering tasks, and for the users because they got possibility to travel more easily.

 The general site appearance as a result:

Read case

Metatest

This system is created for corporate use, that’s why group and general reports are supported. There are also access roles and levels, for example, the heads of departments can easily control the process of test undertaking by their employees. The tests itself can be taken either independently or after an invitation sent via internal messages system. They also can be private ones and limited in time. For example, “The whole department should take the psychological type test by the end of November”.

As is often the case, the client appeared without clear understanding of what product is needed. But instead he knew what tasks he wanted to solve with its help. The company administration is sure that their staff should be constantly assessed by psychological tests, and that the results will help them to increase the company efficiency. Initially there were only some examples of tests that needed to be integrated, and there was a desire to get better graphical reports after taking tests.

 

Taking a test

 

Test results

 

We discovered once the system had several roles, which possessed totally different aims and tasks. As the system itself wasn’t determined in full yet, it was necessary to put the access right mechanism in advance. The best patterns for this was Access Control List, where the users got the roles and the roles disposed resources. This was a successful decision, because it was easy to record the addition of new possibilities during development with access system.

When the first version was ready, the client decided to expand the sphere of system appliance. Now it had to work not only within one company, but to be a cloud product for many other ones. One more time the system of roles rescued us. It was enough to rearrange already marked resources and add the “Super administrator” role.

 

On this very step there was already understanding of how the system had to work.

 

Test editors create tests, they develop their logic and create reports for users and administration. Staff officers create the staff database and import it from Excel file, then they send test invitations to employees or departments and control the process of test taking. General reports are available after the tests are done by all of the staff members or after the limit time is over, they are further used for decision making.

 

After that we solved the problem with notifications of different application members. For this purpose we added the system of personal correspondence. With the help of this system, the administration can send test invitations and fulfill distribution to departments. Messages are copied and sent via e-mail. If this was the employee’s first invitation, a new account would be created for him in the system.

 

New message

 

The problem of reports still remained open: they had to be extremely flexible because the administrator might want to know everything about his employees. This includes the line from statistic data like median, the average with both lower and upper quantiles eliminated, forming a detailed report for every employee. For example, what the answer was for personal motivation question given by sales department officers who had been working in the company for more than a year. All of this was nicely shown in graphs, diagrams and tables.

At first sight this could be solved only with the help of code writing for each specific report type, which would raise the price the support system and complicate the testing. On the other hand, we wanted to make it possible for users with no programming skills (but with greatly developed logical thinking) to create reports.

After some thinking we decided to write a special language of report creation, the so called DSL (Domain Specific Language). We took the Twig template engine as a base, because, first of all, the language was aimed at documents creation. On one hand, Twig is a valid language with conditions, cycles and variables, on the other hand, it is absolutely safe and its templates have no access to the core code. In order to make it real DSL we added to Twig the function of derivation of graphs, tables and statistic calculations. Also the variables with the most frequently used data (average, dispersion, answers list etc.) were available for each report.

 

Report template

 

Only now, when the system was thought out and worked well as the client it wanted to, we created the logo and design. We also added some goodies like questioning on the home page and the system of internal ads, which was controlled by the administrators.

As a result we got a stable and complicated user friendly product. We consider our main achievements to be accurate detail clarification of testing process up to the code writing (so called Requirements Specification) and a successful decision with templates creator.

Read case

Playmusics

Client wanted to create an online musical library. Idea was to create a mashup of VK.com social network (music itself) and LastFM (artist info). He wanted to give user the ability to search for, download and organize music into playlists. Search results had to be grouped by artists, biography and upcoming events had to be shown as well.

The most obvious way to organize search was to create semantic database of artists, albums, tracks and connections between them. Querying that DB allowed us to find right track and then to search for mp3 file in VK later. To keep semantical data fresh we had to configure replication between our server and MusicBrains service or similar. That was the right way, but after estimating semantical db size (around 100Gb) and replication problems we came to a simpler solution.

Quality of VK search API was questionable and VK database is not semantical. It's just a plain list of tracks uploaded by users. There were lots of duplicates, misprints and mistakes. But we decided to take this "dirty" output and to filter it through LastFM API. Also we removed duplicates, fixed typos with our own algorithm. If the author of the track wasn't found in LastFM, we listed the track under "Other" category. Thus we got the almost semantic grouping without having our own semantic database. To minimize number of requests and improve performance we implemented several cache levels: for popular requests and for artist data.

 

with semantic database



schema we implemented

 

About UI design. Whole website is a musical player. Current playlist, search results and user playlists all shown in one manner to make UI simple and intuitive.

search results

 

playlist management

 

user playlist loaded

 

We created MVP and deployed website. Traffic increased and we found out that VK API wasn't a good fit. It had undocumented flaws and limits that were much lower than announced. Modular architecture that we always used was a great helper, it allowed us to rewrite search module without touching the rest of the code. We replaced API with HTML parsing of search page in VK. Thus we preserved the whole initial schema, making service completely functional.

So we managed to create a service built on top of public API's with caching to improve performance. It was important to write several prototypes in order to choose optimal solution. Modular architecture approach helped us a lot and when the external server went down, we simply had rewritten faulty module.

Technology stack we use

On top of base math and algorithmic skills

Wide range of technologies
Java, Node.js and PHP (Laravel, Symfony, Zend) on backend
React, Angular 1 and 2+, Redux on frontend
Full development lifecycle
We do frontend & backend programming, design, mockups and even hardware design

Strong fundamental skills

We have technical education in computer science field and tons of real life development experience

Tell us about your project
Thank you!
Our managers will contact you soon

Our services

Collaboration options

Time and Material
Give us at neat formulated task and we will transform it into working app.

40$+ / hour

Dedicated team
We assign full-time developers for your project exclusively. 

4000$+ / developer

Fixed price
Project analysis and management are included. Waterfall or agile approaches.
5000$+ / project

Batteries are included

A few more facts about BeeJee ninja developers

Not just a team, but a company

Well-established processes. 50+ employees. 
 Waterfall or agile aproach. PM's are included.

TL;DR; ?

We speak English, Russian and German
We keep the code clean, commented, covered with tests.

Experience + passion = ?

Nearly 100 implemented projects over last 5 years.
We are fans of solving non-standard and complex tasks.
This page is made in a landing page editor
We made that editor and IDE it was written in too.
We do software for making software. Tell us if you want to know more.
Ninja's code
Dao and dzen of software developers
Resourceful mind is my fortune

Smart architecture today is a pledge for easy work tomorrow and ever

Call of duty is my armour

True ninja works 24/7 to meet the deadline again and again

Understanding the core is my sword
Transforming raw ideas to real software for real people is good
Tell us about your project
Thank you!
Your order is sent. Our manager will get back to you soon

Kyiv, Ukraine

Maksymovycha str. 3G
+38 (067) 109-76-97
Moscow, Russia
Elektrolitniy proezd 7A 
+7 (499) 403-17-40
+7 (812) 243-17-40