SenTMap is a sentiment-based portfolio management system for the financial industry. It’s an advanced research tool designed to keep investors up to date with analyzed financial news. This way they can focus on what matters to their holdings and make better business decisions as a result.
“We selected Simform for our financial technology visualization system that has very complex processes and 3D visualization. Of all the teams we worked with, Simform had the best service, was available for discussions, and made time to answer any questions we had. As we moved to project stage, Simform proved they would go the extra mile to make sure that the project requirements were met. The team worked really hard and was able to quickly learn new libraries specific to Finance and implement them effectively. As far as the application they built, it is running at a very high level. We expect to be working with them again for our future development needs.”
Unlike prepackaged visualizations, SenTMap required custom built charts display sentiments in way that required minimum visual processing.
A practical challenge in developing such systems is scalability and resource constraint when large number of instances are required.
SenTMap has different pages, each of which require their real-time states, historical states, and often merging those states.
We employed agile development methodology so that constant scrum sprints and meetings could help lead the project in the right path. Agile lead adaptive paths helped us work with Alexandria deliver a high performance software in a complex.
The applications had 5 different pages and each page was unique on its own. Socket + node.js + express.js helped us push different data to each of these unique 5 pages individually, depending on their settings.
Two pages of SenTMap required 3D charting capabilities. To build highly customized 3D charts, we utilized three.js. More complicated implementations involved integrating geometries, lighting and data mesh. To build Treemaps, we utilized squarified Treemapping algorithm.
As we were not storing data anywhere, for the data we receive from client’s server has to be processed to be fed to various visualisations.
To manage historical requests, we used Express.js and simple JSON requests. As the data was stored on client’s server it became complicated to merge the received data with the data present. All this was done storing data on our servers and without even refreshing the web page.
We utilized the non-blocking nature of node.js to channel the flow of real time information to our application. Utilizing node.js, we were also able to reduce the server RAM requirements to minimum to reach 1M concurrent users.
Given the sheer number of cases where product could break, we started testing from very early stages of the project. Code quality protocols were followed to performance and bug detection.
We initially planned synchronous data handling, but that resulted in a poor user experience as the pages remained blocked. We then took the difficult route of asynchronously combining all software components that resulted in a better user experience.
Giving it the nickname of ‘Analyst Killer’, SenTMap has been well received on Wall Street. Based on ideas derived from decoding GNOME, it became a money killer app and has helped data-obese portfolio managers have more confidence with risk management.