Web applications

from
EXPERIENCED TEAM

 IT-geeks looking for mind-blowing projects
 Complex and creative projects are welcome



Tell us about your project


Thank you!
Our managers will contact you soon

We will keep your personal data safe

Web applications for business and science 


Technologically challenging, but easy-to-use

Market places

Everything for online business. Complex shops - multilingual, with multiple currencies and flexible pricing. CRM/ERP/1C integration, bonus programs, different roles and access levels. Internet auctions of different types: from Scandinavian to Vickrey. Cash or virtual currency, linking up any types of payment gateways, STEAM.

Payment systems

Applications working with cash or virtual currency. Protected extra copies and backups on third-party servers. Running a multiple roles book-keeping and transactions in the basis of the system model. All of this will help in protecting from potential hacking or fraud. Calculation of interest on accounts, manual charge and withdrawal in automated, half-automated modes and so on. 

Travel websites and applications

Ticket and tour sales on your website. We can work directly with booking systems such as Sirena, Amadeus or Galileo or with higher level API's (Aviasales, Booking, Sletat.ru, AirBNB). We will prepare the system for high-load traffic, implement caching to speed up the site. We will deal with shortcomings of third-party API by adding accurate fuel fees and extra charge such as visas from external data sources.

CRM / ERP Systems

Complex solutions for those who lacks capacity of out-of-the-box CRM and ERP systems. Easy solutions for enterprise portal, desktop application and mobile application for managers, conductors, etc. Solutions for different business types: taxi-dispatching office, MLM-networks, production plants. Solutions with integrated audio and video connection, integrating CRM with digital telephone exchange. 

Training websites, MOOC

Applications which automate the educational process. Public and private testing, automated, with complex reports out of test results. We will develop and set up webinar systems, advisory services and conference calls for both the Internet and company's private network. Web development for massive educational platforms as Coursera and edX. We will provide video and other heavy content output anywhere in the world.
Science applications
Strong fundamental skills allow us to participate in the area of science projects. Physics and biology are welcome. We can work with Big Data, we are experienced in machine learning. Neural networks, pattern, image and video recognition. We prepare algorithms and adjust data before processing. We do understand the importance of optimization, work with NVidia CUDA. Using high-language prototypes such as R or MatLab. Dealing with  C++/Asm, detecting bottlenecks.

Unique features for your projects 

Additional features that we can create 

Mobile apps

We duplicate and enhance web application features in mobile application. We write native code as well as adaptive website versions. We write backend for your app.

Highload systems

Proper caching, load balancing, multi-server architecture and working with cloud systems such as Amazon Web Services and Google Cloud.

User activity analysis

We can smoothly set up Google Analytics and Mixpanel. We determine sales funnel based on user’s goals. We run A/B tests to increase KPI.

Media-server

Setting up video streaming through CDN or a streaming server. Encrypted broadcasting, protection from stream copying. We work with Wowza and can enable P2P-streaming.

Partner programs

In addition to an application we can add partnership system with traffic analytics. Secure internal wallets and payment getaways.

Full-text search 

Quick search in large databases based on Sphinx and its analogues. Support of clever search, word forms and synonyms. We can buildcomplex indices.

Cases - how we do things

Over  5 years we have implemented 97 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 a cloud searching and replaying music service. It allows simple organization of personal musical library in the form of playlists, downloading certain tracks and whole lists in the form of archives. The searching results are grouped according to the artists, and the user can see their works, biography and event posters as well. 

Read case

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.

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

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.

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

Playmusics is a cloud searching and replaying music service. It allows simple organization of personal musical library in the form of playlists, downloading certain tracks and whole lists in the form of archives. The searching results are grouped according to the artists, and the user can see their works, biography and event posters as well. 

The client wanted to create the musical library, which would make it possible to search music and get information about artists at the same time. The result of the search didn’t have to be a simple line-like list, but groups of songs by different artists, so that the user could read information about them, biographies, and view when their concerts took place.

It was important to create a very handy music downloading support, because this site was targeted not only on online users, but also for those who wanted to find necessary music and download it. Those tracks which are downloaded by the users got into the core database, thus with the lapse of time the storage is filled with the files most frequently searched.

The most obvious way to organize the search was to create the source of structured information about artists and their works. i.e. semantic database which contains all the artists, their albums, the names of the tracks and connections between them. Making search in this database we could get the names of the songs, so that we could search them in the social network Vkontakte. Such database should be supported, for example, we should fulfill constant replication from such servers as MusicBrains and similar.

But then a thought occurred to us that we could do everything a lot simpler. We tried to use API from Vkontakte for searching and filtrating data with the help of lastFM. Vkontakte gives back the name of the track and its artist, and then the system tries to find the artist in lastFM. If it finds the artist, it adds his biography and events poster showing them up in result. If the author of the track isn’t found, such track is listed in the end of the list under the “Other” category. Thus we get the grouping without semantic request. There was a question, how good can such grouping and will it be simple to avoid mistakes and misprints, because in Vkontakte music is downloaded by ordinary people, so one and the same group can be written differently.

work scheme with the database



We made it simpler

As we always start our work with prototype, on initial stage we already graded different approaches and the last method shower good results, because we decided to exclude our own base. We only needed to solve the problem of efficiency, because for one search request of our user the system had to do multiple requests to external sources. Because databases of alien sources work at a different speed, we created several types of caching: cache for identical requests and independent cache on artists.

 First we decided to take the music interface from Vkontakte as a basis. Because this is what millions of users are familiar, and reinventing a bicycle was not a sane idea. A little bit after we realized that interface can be even handier and we refused using popup windows. The musical player in Vkontakte is only one of the site’s functions, and we have the whole site which is a musical player itself. Currently replayed music, search results and lists made by the users manually – any of these tasks are playlist. 

search results

create a new playlist

loaded playlist

When the traffic increased on the site, it turned out that it was impossible to write similar service through API in Vkontakte. When you are looking for music through API, it asks rather quickly to enter capture code, quite earlier than it is described in documents. This was a very unpleasant surprise for everyone, because the site was already functioning and given to the client. We had to find the way to remake the site with minimal efforts so that it was possible to bypass the activation of program interface in Vkontakte. Here plug-in architecture was a great helper, it allowed us rewriting the search module without touching the rest of the code. We changed the API activation for parsing of the searching page. Thus we preserved the whole initial scheme, making service completely functional.

general appearance of the site

As a result we created a quick and handy musical searching service, which is capable of finding material both from alien services and internal database which is getting filled with the help of popular requests. The system filters and groups results in Vkontakte with the help of API lastFM, showing first works of famous artists together with their biography and events poster. Music can be downloaded either in the form of separate files, or as whole lists in the form of archives.

It was important to use experimental approach in this project with writing several prototypes in order to choose an optimal decision in working speed and convenient support. Built-in plug-in architecture helped us here a lot, and when the external server went out of order, we simply overwrote the necessary module

Solution for any challenge

Full development lifecycle
We do frontend & backend programming, design, mockups and even hardware design

Strong fundamental skills

We always dive deep into the core of things. We have technical education in computer science field and tons of real life development experience

Wide range of technologies
We do web with PHP (Zend, Yii, CodeIgniter), Ruby (Rails), Python (Django, Flask).
We do 3D apps and games with low level solutions (C++/DX/GL) and various middleware (XNA, Torque3D, Unity, o3d)
Free candy for every visitor

Visit our cosy office to feel the atmosphere we are working in

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

We will keep your personal data safe

Are you dreaming big? We are!

What kind of tasks we are interested in
Complex and challenging

BigData, parallel computing, 3D graphics, 100K+ codebase, projects with strict requirements for speed, performance and security

Large-scale

Web services capable to hold extreme load with massive simultaneous online presence, real-time sites and applications

Helping people

We would love to work on projects with strong scientific backgrounds. Physics? Biology? Artificial Intelligence? All of this is welcome!

Batteries are included

A few more facts about BeeJee ninja developers

Not just a team, but a company

We are used to translate real world needs into software that just works.
We give exact estimates and we do tell you about risks in advance.
We don't just write a code but take care about the service in general.

TL;DR; ?

We speak English, Russian and German
We keep the code clean, commented, covered with tests.
We are located in Kiev. Relocation is possible.

Experience + passion = ?

Nearly 100 implemented projects over last 5 years.
We are fans of solving non-standard and complex tasks.
Our experience makes us confident about project success.
This page is made in a landing page editor
Actually, we made that editor too.
And the enviroment we write code in (IDE) is also an in-house product.
We do software for making software. Tell us if you want to know more.

Our services

Collaboration options

Just resourсes
On fixed-price or time-and-material basis. Give us at neat formulated task and we will recommend technologies and will transform it into working app.

from 30$ / hour

Dedicated team
We assign full-time developers for your projects exclusively. Also we can hire people in Ukrainian and Russian market for you.

from 3000$ / developer

IT-consulting
IT-systems change relationships between people, so it is important to identify all the stakeholders, take into account all their needs.
from 50$ / hour
Ninja's code
Dao and dzen of software developers
Resourceful mind is my fortune

Smart architecture today is a pledge for easy work tomorrow

Call of duty is my armour

True ninja works 24/7 meet the deadline

Understanding the core is my sword
We transform raw ideas to real software for real people
Tell us about your project
Thank you!
Your order is sent. Our manager will get back to you soon
We will keep your personal data safe

Kyiv, Ukraine

Vasylya Kasiyana str. 2/1
+38 (050) 660-41-39
Moscow, Russia
Elektrolitniy proezd 7A 
+7 (499) 403-17-40
+7 (812) 243-17-40