Stock traders rely on a litany of specialized tools to monitor and predict trends in the stock markets. Some of these tools are not only extremely expensive, but also come with a steep learning curve. FinOwl offers an easy-to-use and reasonably priced tool, integrated into cloud messaging applications, which can augment or even replace its expensive, complicated alternatives.

What it does

Ingesting and validating market data across multiple providers, FinOwl is backed by comprehensive, accurate data which it uses to provide the user with both static and interactive stock charts as well as the ability to export this data as a CSV file. Users can query charts using either a simple text syntax or a form rendered right inside the chat.

How we built it

FinOwl for Teams is built using Microsoft BotFramework and implements a dialog flows, adaptive cards and task modules to present the user with several methods of requesting a chart and/or data and presenting it to them in a clean, intuitive manner. FinOwl’s resources are built in Azure using App Services, Azure Bot, Blob Storage, SQL Server, Azure Data Factory and Azure Functions.

Challenges we ran into

We began this project with zero experience using BotFramework, so learning how to manage dialogs and present data in a clean manner was a challenge. We also had to standardize the data coming in from multiple providers, which presented a host of challenges.

Accomplishments that we're proud of

We managed to build a robust back end with comprehensive data validation and sanitization, running as a nightly, server less ingestion process. We also managed to pull together many different pieces to present the user with a clean and easy to use bot.

What we learned

So many of the aspects which went into building this product were brand new to our team, thus the list of ‘what we learned’ would comprise the better part of the resources we’ve implemented.

What's next for FinOwl

We want to use messaging extensions in Teams to provide inline lookup of external resources without requiring the user the query the charting service directly. We plan to expand our feature set to include market analysis and intraday data as well as the option to push notifications to the user given particular market-related parameters.

Share this project: