Document Management System For a Healthcare Company

Document Management System For a Healthcare Company

How adopting new features empowered a HealthTech company to take their DMS software to the next level, fully automate document management, and put an extra coat on personal information protection.

Challenge

The company’s app was under active development. The client wished to extend the app functionality with these features:

  • Editing Microsoft Office documents
  • Upload / download file structure
  • Uploading files to the system using e-mail
  • DevOps services
  • Protection of personal information (POPI)
  • Printing / faxing documents
  • Implementing pass-through authentication (Single Sign-On)
[arrowsection-dmhealthcare]

Solution

This is what we introduced to reach the client’s goals:

  • Integration with Microsoft Office 365 (WOPI)
  • POPI: converting documents (including both pdf and rtf) to a tuple of images
  • POPI: option for editing images and downloading them as a pdf file)
  • Upload / download file structure module (node fs, zlib)
  • Integration with the Scrypt Sfax service (for printing / faxing)
  • Integration with MailGun (uploading files via e-mail)
  • End user authentication (SAML)
  • Continuous integration: Jenkins + Docker + AWS infrastructure

Key features

As a result, the application now has a number of advantages:

Automated workflow for an institution’s documents (editing, uploading & downloading, printing & faxing and implementing pass through authentication (Single Sign On))

Personal information protection

Possibility of converting files to a tuple of images

Integration with Microsoft Office 365, the Scrypt Sfax service and MailGun

Possibility of editing images and downloading them as a pdf file

Technologies

Server Side:
DB:
Front Side:
Other:

Eyewear Measurements App For an Optical Company

Eyewear Measurements App For an Optical Company

How digitizing and automating eyewear measurement operations empowered a European eyewear company to accelerate in-store order processing by 67%.

Challenge

The customer contacted us with a request to build a native iOS application for their sellers. The application would be able to determine distances (in millimeters) between a customer’s pupils and heights (calculated between the bottom of the lens and the middle of the customer’s pupil) using the camera.

Solution

We have successfully accomplished the task that we were given. We have developed an optical measurements application based on iOS system. It can provide our customer with accurate values (in millimeters) of pupillary distances and heights.

A part of our work was also the development of a UX/UI design.

Key Features

  • accurate values (in millimeters) of pupillary distance and height.

Technologies

Live Translation App For The Rio 2016 Olympics

Live Translation App For The Olympics

How creating a translation service app with real-time communication between users and language professionals instead of manual prompting and machine translation empowered an Australian startup to target Rio 2016 Olympics visitors and strike 6.6 million users in the first month after the rollout.

The software is invaluable for everyday situations:

  • Bargaining with sales people overseas
  • Negotiating prices with taxi drivers
  • Asking strangers for directions, etc.

Challenge

The customer was looking for software development experts capable of creating a certain kind of solution – Uber for interpreters. The greatest challenge of this project was to create a search system which could quickly and easily find the best interpreter according to language, rating and price.

Solutions

The team worked with a task router, which made the search very efficient. While working on this project, *instinctools closely cooperated with the remote front-end team. Due to the nature of the product and constantly changing requirements, many product aspects had to be designed and formalized in parallel with the development. Therefore, Scrum was chosen to make the development process flexible and efficient for all of the parties involved.

Key features

The software that was developed has the following features:

Possibility to connect the user with an assistant who speaks the required language by clicking the Call button

Live interpreting services offered by the solution. The person on the other end of the line does everything possible to make sure that the original message is understood

After the conversation, there’s an option to rate the interpreter

Result

The work on the translation service application was a great experience for *instinctools. As a result of productive cooperation, the customer received a robust, high-quality product that met their requirements and was ready for launch. This application was widely used during the Rio 2016 Olympics.

Technologies

PHP
Redis
PostgreSQL
AWS
Twilio

Real-Time Bidding Platform For an Advertising Company

Real-Time Bidding Platform For an Advertising Company

How redesigning the Demand-Side Platform and improving its real-time bidding component helped an advertising company gather valuable information on external user engagement and reach the latency level of less than 100 ms.

About the Project

*instinctools company was involved in the Real Time Bidding project that uses the Personal Retargeting technique. It is about showing ads to users, who have visited an advertiser’s site, however, failed to perform the conversion action. Personal Retargeting brings them back and shows each user a specific scenario,
depending on their previous action: viewing an item, comparing an item to other modifications etc.

DSP (Demand Side Platform) makes each 1 click cheaper. While using Trading Desk, advertisers adjust bids according to the value of their target audience, as well as to the desired impressions and clicks volume. The platform compares the data with the information on traders and bids, buying impressions as cheap as
possible and selecting the best matching audience. The whole process takes a split second: while the page is still loading.

Challenges

  • Support existing system functionality with lack of documentation and original developers’ knowledge.
  • Provide high-availability system to process a large amount of requests coming from SSP and advertiser sites. Each request should be executed with the lowest latency possible (less than 100ms).
  • Refactor and redesign the existing system in Microsevices manner. It provides scalability opportunities to process a large amount of requests. It also gives additional capabilities to optimize the costs of production environment usage and support.
  • Implement means of monitoring to measure system performance and track errors in real-time.

Solutions

The existing platform has been maintained and augmented with the Demand Side Platform, a system that organizes auctions for advertisers, and a user data management system. The platform has been integrated with the largest SSP platforms, such as Facebook Exchange and Taboola, employing HTTP cookies to gather information on users.

We have done an analysis of existing components and put together technical manuals. Having revealed and eliminated the failure caused in the course of maintenance, we achieved stable system’s operation.

We also have:

  • redesigned the system;
  • managed infrastructure hosting, data storage and data sharing using Amazon Cloud services developed components in the up-to-date programming languages;
  • gathered a huge amount of data using SSP and DMP components;
  • integrated several database management systems;
  • gathered valuable information on external user engagement;
  • Implemented a user metric processing system carried out continuous integration processes;

Technologies

The system design was based on wellknown Amazon cloud technologies like Elastic Compute Cloud, Elastic Load Balancer, Simple Storage Cloud, Elastic MapReduce, DynamoDB, etc.

Aggregated reporting included processing of huge data amounts received from SSP and DMP components. It was implemented using Hadoop jobs executed in Amazon EMR. The results were aggregated in Amazon Redshift databases.

As a part of asynchronous operation processing, the several messaging platforms were used. NSQ provided distributed queues for high amount data processing. Sidekiq was used to implement business logic messages processing through the set of components written in Ruby.

Application metrics were processed using Graphite and were shown by Grafana.

Continuous integration processes were implemented based on Gitflow by using Github + Travis services.

For the needs of infrastructure hosting, data storage, data sharing the following services were used: Amazon EC2, Amazon ELB, Amazon S3.

The components were developed in modern programming languages. Go language capabilities gave an opportunity to implement performance critical items. Scripting functionality which included component integration, configuration and deployment were completely implemented with Ruby and related technologies.

Multiple database management systems were used based on the required functionality: DynamoDB and Aerospike used to collect huge amount of data related to outside user activity, Redis databases satisfied the needs of temporary data keeping, PostgreSQL and Amazon Redshift provided strong consistency storage and processing of data related business activity and reporting.

Rollbar service was used to track errors occurred in a production environment.

Key Features

The client has obtained a stable version of the platform together with the build products, as well as an option to solve integration issues quickly and at a low cost in the future.

The augmented platform benefits are:

  • Tracking the system in a real-time mode
  • Integrating with other systems within its own framework
  • Performing the expected functions fast and accurately

 

The client was pleased with our fulfillment of the requirements and the recommendations of advertising partners. We are currently continuing to maintain the stable operation of the platform.

Technologies

Price Comparison and Purchasing Platform For a SaaS Company

Price Comparison and Purchasing Platform For a SaaS Company

How modernizing the price comparison web platform and bolstering it with online and offline deal-making decreased the software maintenance costs by 23% and expanded the customer pool by 14%.

The Price Comparison and Personal Offers platform instantly provides an overview of all shops and their offers for a product that a customer is looking for. Personalized offers can be made just-in-time taking into account a customer’s profile and market data.

About the Project

The *instinctools Company was involved in a price comparison project with a unique capability to make personal offers to customers based on their profile and current market conditions. The Price Comparison platform aggregates offers from all shops, and shows them to the customer using a browser add-on and mobile application while the user is looking for the product.

The Personal Offers platform allows shops to offer personalized deals using a rule engine, taking into account a customer’s profile and competitor’s offers. This allows shops to implement a loyalty program and compete for best offer in terms of price, delivery terms or additional value.

The whole process takes a split second. Therefore, the best deals are presented to a customer while rhey are looking into a product and are ready to buy it right away.

Challenges

  • Redesign and refactor existing system, going from a monolith application to micro-services architecture to support growing number of offers and impressions.
  • Monitor and orchestrate micro-services to provide high availability and low latency service to customers.
  • Implement online and offline deal making process, reliable tracking transactions and accounting commissions.
  • Support existing system functionality lacking original developers’ knowledge.

Solution

We delivered online and offline deal-making process by collecting requirements, designing a new system, planning a change to the existing product and successfully integrating it together. The existing functionality has been maintained throughout the process. It was covered with automatic tests and redesigned to support a growing number of requests.

To support operations, we implemented monitoring of backend services while providing reliable tracking of transactions and making user’s behavioral data available for data analytics.

We have done major refactoring to unify approaches used throughout the micro-services, which lowered costs for operations and maintenance.

We also have:

  • fixed existing security issues and implemented best practices to protect the business from common security threats, which was confirmed by penetration testing done by an independent contractor;
  • implemented event tracking for behavioral analytics;
  • managed cloud resources and implemented automation which reduced operating costs;
  • set up DevOps practices and implemented continuous integration and delivery;
  • redesigned a system to enable horizontal scaling.

Key features

The client has obtained the desired functionality in time to run partnership programs with online and offline shops. The delivered platform was cloud-ready and modular, allowing the scaling of hot spots and handling business growth and peak load.

The benefits of the delivered platform are:

Ability to handle increasing traffic

Monitoring the system in a real-time mode

Gathering of customer behavioral data for analytics purposes

Integration with third-party analytics products

Vendor-free deployment to cloud, no lock-in to AWS

Performing the expected functions fast and accurately

The client was pleased with our fulfillment of the requirements and the recommendations of the affiliate partners. We are currently continuing to maintain the stable operation of the platform.

Technologies

JavaScript was chosen as a common language for the platform. The existing system used a mixture of CoffeeScript and pre-ES5 code. We used Babel to bring the expressiveness of ECMAScript 2016 to every service.

The system was deployed to Amazon EC2 using Terraform, Ansible and Docker, with core components independent from AWS platform offerings. The delivered solution is not locked to AWS.

MongoDB, Elasticsearch and Redis were used as operational data storages.

Continuous integration and delivery were implemented around Git repositories using the Gitflow model. The integrated setup of Jenkins, Docker, Slack and GitHub Status API was used to implement DevOps practices.

Prometheus and Graphana were used to build a backbone for backend monitoring. Sentry was used on both the frontend and backend to catch runtime errors from all environments.

Node.js and React were chosen as two pillars to establish a common ground and allow, among other things, server-side rendering and code reuse between web application, browser add-ons and mobile application created in React Native.

Amazon Kinesis, Redshift and S3 were used to build analytics platform open to third-party analytics products, e.g. Tableau and Amazon Quicksight.

An increasing number of offers and data crunching tasks were gracefully handled by a scalable pool of workers getting jobs from the RabbitMQ queue.

npm was used for public and private package registry. The combination of semantic versioning, GitHub Releases and private npm registry allowed the sharing of knowledge inside a distributed team.

NodeJs
Github
React Native
RabbitMQ
npm
Elasticsearch
Redis
Prometheus
Grafana
Sentry
Docker
Babel
Webpack
Ansible
Jenkins
Terraform
MongoDB
Amazon Web Services

E-Learning Solution Upgrade For a Software Company

E-Learning Solution Upgrade For a Software Company

How enriching their existing e-learning solution in the field of software security with an audit layer and reporting helped a software company hone performance monitoring for their customers, leading to greater user satisfaction.

Challenge

By the time the customer contacted *instinctools, they had already had a complete solution and only needed to maintain it and add some new features. All the aspects of the working process were highly formalized due to the elevated security level of the project. The developers had to coordinate their actions with several executives to get permission to make any changes.

Solution​

*instinctools team worked on the creation of a special layer for the audit of potential unwanted actions.

The developers also created a new type of report which allows the companies that use the customer’s eLearning product to monitor the developer’s performance.

Key features

The list of implemented features included, among other things, the following features:

24x7 Unlimited On-demand Access

Individual & Group Reporting

Knowledge Checks and Final Exams

Optimized Content Update Process

Results

The customer is pleased with the team’s performance, process and the quality of deliverables. We fulfilled SLA compliance up to 99,9%. The fruitful cooperation on this project resulted in the implementation of several powerful features which improved the quality of the solution and
its value for the end user. After receiving an additional round of funding, the customer plans to return to *instinctools for further product development.

Technologies

MSSQL
PHP
PHP
Moodle LMS
AWS
Google Cloud
Linode
Anna Vasilevskaya
AI modified real photo
Anna Vasilevskaya
Account Executive

Get in touch

Drop us a line about your project at
[email protected] or via the contact
form below, and we will contact you soon.