take a scroll to learn more
We did a lot of research before launching Tradeo and saw a clear demand for better data and negotiating power with the brokers from the FX trading community.
Traders are looking for a social networking experience in the financial markets. They are looking for ways in which they can access financial information and connect that to social trading," says Jonathan Adest, chief executive of Tradeo in Tel Aviv.
Tradeo is a growing social trading network providing Forex traders with the market insights, real-time stats and analytics for better understanding of the overriding moods and trends.
The platform boasts a great package of features such as an opportunity to follow the top experienced community members and copy their strategies, detailed charts and graphs showing traders’ performance, positions, orders, and preferences as well as regular social media functionality including befriending, commenting, liking, chatting, groups, polls and more.
Tradeo stands out with the multiple trading platforms support (ActTrader, FXCM, MetaTrader 4) and seamless integration with the major world brokerages (Tradmaker, Avatrade, IC Markets, FXPro, and more).
Immediately after launching, the project raised $1M of angel investing and venture capital funding.
How it all began
The exciting story of our over a year relationships with the client started from a regular quote request. There wasn’t a thoroughly thought and detailed plan, just a promising, but relatively vague idea. We didn’t fully realize the scale of the future project and couldn’t expect it to turn out so brilliant.
I’m looking to build something like: myfxbook.com, currensee.com, openbook.etoro.com Can you manage the development of something like that... but 10 times better?? :)
We would find out later that Jonathan was all about optimism, an incredible sense of humor, and strong confidence of success. He virtually energized us and continuously amazed the team with a super professional business approach, excellent insight, talent, and never-ending ideas.
It was also more than pleasant to meet Alex Behar, CTO at Tradeo. He’s a kind of person who can help you up with practically everything. Extremely experienced and hard-working, Alex makes a perfect CTO performing his job to 100% and more.
To say that we liked the client and the project idea was to say nothing. We were thrilled and enthusiastic to get things started.
Since we’re not quite acquainted with the topic, we started with an in-depth research of the similar products on the market to come up with a comprehensive competitor analysis. After a few negotiation rounds and discussing the project features and selling points, we were ready to make a proposal with a detailed description of our approaches and methodology, skills and values, as well as work breakdown, time & cost estimations, and a stage-by-stage development plan. Obviously, nobody was talking about a fixed-scope project.
We’re about to create something new and different through countless experiments.
At the same time, we couldn’t let ourselves be non-professional and skip the estimation part. Having always been completely transparent with our clients from the start, we clearly stated that due to the project specifics we’re able to provide only very approximate estimates which might vary up to 100% from actual costs. Though we certainly understood how risky it could be, we chose to be down-to-earth instead of making tempting but misleading promises.
We weren’t the only ones to bid for the project, and our straightforwardness could cost us the client. But it wasn’t just about winning the tender, we really wanted to help Jonathan and Alex fulfil their dream. Luckily for us, everything came together. The guys must have felt that we were on the same page and agreed to work with us.
That’s how our cooperation began. It was a long and interesting journey from draft mock-ups to the first prototype and finally launching. After the release, the project raised substantial investments allowing the customer to build its own team afterwards. Tradeo continues to thrive and prosper attracting more devoted users every day.
The process of implementation
Our first challenge was to prepare decent mockups
We believe that a good mockup is worth a thousand words.
It’s much easier to share an idea through visual representation rather than bulky text specifications. An explicit mock-up is also key to avoiding the guessing game during development and estimation.
Our aim was to combine a financial aspect of the platform with the social media functionality and provide a both new and user-friendly way of doing it. Based on the mockups, we could further proceed with the high-level architecture and design for the project.
The main concern was related to providing real-time and precise data such as different types of financial indicators or fellow traders’ activity feed. From the very start, Jonathan raised the bar by requesting to receive and display exchange rate fluctuations every second. All that affected the project infrastructure and selecting appropriate technologies. The first product version was designed using PHP (Yii framework), MySQL, Redis, Node.js, Websockets, and others.
Synchronizing with the world brokerages was also quite a task. We were confused about an amount and diversity of brokers out there and disappointed with not all of them having a public API. Without it, integration is very time-consuming and unreliable. But this feature was critical to the product functionality, and we had to come up with a viable solution.
Embedding a social feed might seem easy, but Tradeo wasn’t the case. The feed was supposed to show upvotes, comments, trades, broadcasts, and lots more in addition to being speedy, dynamic and working impeccably with a large number of users.
We were no big experts in distributed software development, but we had to design a desktop app by ourselves for the sake of getting the first product version quicker. Moreover, the client had difficulties in finding appropriate specialists for this job. It was a different and very challenging experience with a more complicated tech aspect (update support, stability maintenance). Later, we had dedicated specialists taking care of these issues, but that experience made us realize we prefer web development and are certainly no fans of Microsoft technology stack.
After a few months of close collaboration, we were happy to finally arrange a face-to-face meeting and invite Jonathan and Alex to our office. We also helped the guys learn about our culture, mentalitet, customs and, surely, showed off Minsk nightlife.
We spent a couple of great days brainstorming a lot and super efficiently working side by side.
We believe that personal meetings contribute a lot to the long-term relationships. With an opportunity for face-to-face communication, you get to know each other much better, increase the level of mutual trust and respect, show a client your working process from the inside. It all allows quick handling of any problems or disturbing issues resulting in a more productive environment and cooperation.
We really appreciated Jonathan explaining a business value of every single aspect or feature of the product, making it easier for us to develop the best functionality. Moreover, his confidence of the project success was pure motivation and inspiration for the whole team.
Knowledge & Experience Transfer
Right from the project kickoff, it was obvious we couldn’t be permanently responsible for the product support. The other party would need to take care of it when the time came. We knew as soon as the client’s own support team was built and ready to operate, we would initiate transferring the project knowledge.
The process began a year after the project start and required time and patience. Working closely with the other team, we were explaining our approaches, discussing various aspects of the development, problems that might arise and long-term solutions to them. Looking with a fresh perspective, the guys came up with really great unorthodox ideas and helped a lot.
While implementing the first product version, we were trying, experimenting, learning. It was crucial to share the whole experience with the client. We wanted to make sure its team had the complete picture, saw clearly what had been done, and how a certain action might affect the final result.
What lessons we have learned
The first true Yii framework test
Before working on Tradeo, we had an opportunity to try out Yii framework on lots of small-scale projects, and it had appeared an excellent experience. That’s why we didn’t hesitate to use it again as a quick, convenient, and lightweight tool. However, the framework didn’t prove to be a perfect solution for bigger scope enterprise projects. All related details and conclusions we’ve made are shared here.
The importance of staying focused
Instead of focusing on social trading as the main aspect, we scattered our attention over peripheral things like news, calendars, notifications which took up a lot of our time. We attached high importance to this particular functionality, but unfortunately couldn’t predict if it would be equally appreciated by users. As it turned out later, these features were much less demanded than, for instance, traders’ activity feed or trading indicators.
The fixed estimates nightmare
Projects like this are not about fixed cost & time. We were lucky to have Jonathan who totally understood the specifics and gave us flexibility we needed - we planned several iterations ahead but made changes whenever necessary. If sticking to fixed figures, you risk ending up with constant confrontation and even failing the project.
Tradeo helped us to gain first-hand experience in building a scalable infrastructure. Seemingly easy in the beginning, the task took us months to accomplish. To focus more on the development itself, we used the assistance of Alex and a dedicated system administrator. Nevertheless, we put a lot of efforts in achieving satisfactory results and grasped the importance of evaluating the data volume from the very start.
Even in a hurry, maintain code quality
It’s vital that you maintain the highest quality of code and architecture right from the start. If you keep putting off tests till bug fixes or the first version release, you may eventually get to the point when you have no time or resources for it. Writing tests with no delay till the MVP stage spares you the trouble of manual testing and dealing with numerous regression bugs, which is extremely significant for big and long-term projects.
We also got familiar with crowdsourced testing via tools like uTest, and were actually quite disappointed. They managed to detect only superficial problems, e.g. cross-browser bugs, ignoring more complex issues.
Another thing deserving attention was code review. We didn’t manage to perform it on a regular basis, but did it occasionally instead. That resulted in different coding styles as well as multiple hooks.
Do not underestimate the complexity design
With many site pages, the design part of the project turned out to be a slow and long process. We hadn’t intended to devote a great deal of time to it, however, we later faced many cross-browser layout issues distracting us from more urgent and important tasks. It would be very reckless to underrate the complexity of designing custom HTML email templates, since specialized skills and knowledge are required here.