UI and Front-End Development for a Web-Based Cryptocurrency Trading Analysis Service
Quick Facts:
Project Details
Urgent supply of a dedicated front-end development team. In-depth exploration of technical analysis practices in crypto, data visualization, SciСhart integration, performance optimization, and reliability improvement.
ChainView is a US-based cryptocurrency startup developing a web-based platform for traders.
The Client was in search of a vendor that could provide a professional team to develop the platform interface and connect external libraries to display various charts. The team had to join the development ASAP and be reasonable in price.
Business requirements:
- Frontend for a new product - a cryptocurrency trading terminal with technical analysis (TA) functionality, graphic TA tools, and indicators similar to TradingView.
- High-performance reliability and efficiency of processing a large flow of trading data in real-time.
- Using the SciСhart library to display various types of trading charts, heatmaps, and graphic tools in the terminal to improve the efficiency of chart display.
Problems revealed during the development:
- The technical complexity of the product appeared much higher than expected. In the short term it was necessary to change the staff of the dedicated development team and increase the number of senior level engineers up to 50%.
- Due to the large volume of data, the mechanisms of synchronous processing and data display didn't have time to work in the required timeframe. As a result of a large volume of data, a lag was formed between updating data (using the socket protocol) and their display, which grew - this led to "discretization" of the picture on the display
- The version of the chart library at the time of development did not have all the necessary functionality to display all the types of charts needed. It was necessary to come up with a hybrid technology that allowed the use of different means of displaying data on charts with the simultaneous use of different libraries and display mechanisms.
The SQLite library was used in conjunction with IndexedDB for data caching and asynchronous processing on the Client side. The SQLite library uses Webassemble technology and works very fast, so we were able to significantly speed up data filtering operations, as well as writing and reading. All charts worked smoothly, regardless of the required timeframe for their display and user actions. The second "main problem" was the library itself, which was used to display charts, so we drew part of the charts on a clean canvas, which gave us not only invaluable experience but also Client satisfaction.
- Visual charts, which are used in "Scichart" library;
- As a global state, Redux was used. It was responsible for storing data and manipulating it;
- React was used as the main display library;
- To calculate the data on the fly, all the data was received via WebSocket and distributed to Redax or the SQL storage;
- SQL.js library was used in a pair with IndexedDB on the Client side for data caching and asynchronous processing;
- Part of the charts was drawn on a clean canvas.
The cooperation with Info-Polus had a positive impact on the Client's business. Within a short timeframe, the client expanded its product development team. This allowed the Client to update the platform interface, integrate the required library, and optimize the visualization of large amounts of data. The startup has acquired new customers and continues its development.
Tech stack:
Get in touch today
Don't wait! Contact us today to discuss your software development needs.