It's no lie that money lies at the center of how our ever-increasingly complex and globalised society functions. Already in 1611 humans were trading stocks. Yet to this day not much has changed about who does it and how. Most of the money circulating in the stock market belongs to institutional investors instead of everyday people. We set out to try and change that by creating a simple securities exchange platform that is modern, easy to use and extensible.

What it does

The Rialto platform allows anyone regardless of prior knowledge to get started with trading securities. In less than 10 clicks from a users first visit to the site they are able to have fully traded their first security. Not only does Rialto offer best-in-class simplicity, but uses modern technologies under the hood to allow parallel and real time trades with no extra hassle.

How we built it

Our product consists of 2 separate applications. The first one is the Rialto server, written in JavaScript, which handles everything from authentication to matching buyers and sellers. Real-time communication with the server is made possible through WebSockets which allow a seamless bi-directional flow of data between the client and the server.

The second core component is the Rialto client, which was written in JavaScript and utilises the React framework. The client simply provides a visual interface for all functionalities of the server. This approach technically would allow us to expand our offering to also include ready-made SDKs for developers to automate their trading on the Rialto platform or to also offer mobile applications to our users to allow trading from anywhere, anytime.

Challenges we ran into

Turns out the bidirectional data flow, which the Sockets provide is nice until it's not. Managing the overhead this caused ended up costing us time, but in the end we managed and came up with a solution that we're pretty happy with. However if we were to build this product again from scratch we would opt for a mixed approach where normal HTTP requests are used for applications such as authentication, and single-use data fetching and only using WebSockets for applications where real-time data truly matters such as live securities views.

Accomplishments that we're proud of

We're proud of the progress we made during the 36 hours especially considering our small team size and we're also happy with the flows to trade securities.

What we learned

We learned a lot about WebSockets, relational data, but perhaps the most insightful thing we learned is how far you can get with effective time management.

What's next for Rialto Finance

Hopefully to expand our product's use case to the real world and bring trading to the hands of more people.

Share this project: