A Social Investment and Trading Platform
Alexander Wallin, CEO and Founder of SprinkleBit
The Background Story
When SprinkleBit CEO Alexander Wallin reached out to us, he already had a team of developers and a working version of his service. But he wanted to improve his development workflow, add more functionality, and create an iOS mobile application for SprinkleBit.
Wallin has been partnering with RubyGarage to make his – as he puts it – ‘not an innovative’ product more valuable by letting investors of all experience levels get recommendations from others and by teaching newcomers how to trade, simulate the market, and invest for the future.
To improve the workflow of our client’s team we introduced them to a number of development practices based on Scrum, an Agile framework. We implemented Test-Driven Development (TDD) and Domain-Driven Design (DDD) approaches to cut the time and resources required for quality assurance. We’ve also been applying refactoring practices authored by M. Fowler, as well as Extreme Programming (XP) practices authored by K. Beck. Additionally, we’ve changed the whole approach to testing, logging errors, and deploying new versions of the product. All together, these changes have allowed the SprinkleBit team to regularly release updates with required functionality every two weeks, and have improved their overall product delivery workflow.
In terms of adding new functionality to SprinkleBit, we did the following: integrated MongoDB in order to serve feed needs; successfully integrated Facebook-like real-time chat, where any message can be delivered across three supported platforms in less than a second; and decoupled parts of the product from each other to create a so-called "microservice" architecture, resulting in the use of several backend languages simultaneously and all the parts playing nicely with each other. To monitor the entire system’s behavior and track possible errors and unpredictable scenarios that may arise, we implemented Elastic in the ELK logging stack.
Several modules of SprinkleBit’s backend application are implemented with the modern “microservices” architecture in mind. Now, the SprinkleBit development team is writing loosely-coupled, self-documented PHP and JS code, but some of the biggest new modules like “chat” or “quotes” were implemented in Java and communicate with the rest of the “monolith” backend via AMQP and Redis protocols.
The first version of the SprinkleBit iOS application was released in 6 months, but already included most of the functionality present in the web solution, including a market simulator and the ability to perform real transactions on the stock market. After SprinkleBit was promoted on TechCrunch, people started actively using the app to successfully make real market transactions.
SprinkleBit’s trading platform now has over 10,000 users and has raised a total of $13.5 million in funding. The company has already moved its headquarters to New York City and continues to offer even more functionality with our help, including support for more mobile platforms and devices.
MySQL and MongoDB
Placing Bids and Buying/Selling Stocks
To allow users to place bids and buy and sell stocks, we needed to integrate SprinkleBit with some extremely complex APIs made by one of the market makers.
Since SprinkleBit operates with real money, we implemented Sandbox — a simulator that imitates the unpredictable behaviour of the NASDAQ/NYSE stock markets and gives people an opportunity to learn how to trade stocks for virtual money. All profits and losses in Sandbox are also virtual.
To make SprinkleBit a social trading platform, we included direct communication functionality, including a real-time Facebook-like chat with challenging features such as notifications, multiple chat windows within one screen, and group chats.
As an entrepreneur, I guess by nature I get a thrill in undertaking projects without knowing how. Stepping into a risky venture involves massive amounts of thinking, research, advice, courage and trust. All the while understanding that, despite all of the aforementioned, your entrepreneurial path will be like no other and failure is definitely on the table. An easy thing to write… not an easy thing to actually do. In order to move forward on this path you must trust that where you’re stepping is going to be solid business ground. Before I stepped into mobile app development, I talked to many people and got many recommendations for companies to work with. And, although many of the companies recommended to me were very reputable, there was something different and exciting about RubyGarage. After several in-depth Skype meetings, there was no question that they were my app developer. It wasn’t that they understood me/my app right off the bat. They didn’t and they didn’t hide that at all. They remained open-minded, continued to question and together we brought a wild idea to life. The finished product is the real deal! Throughout the whole process I felt safe to brainstorm with them in a business realm I had no idea about knowing their advice would be accurate and sound. That safety has fostered a great partnership. One I hope to have with them for a long time. I highly recommend RubyGarage on so many levels. A decision to go with them is a right decision.