How many times have you thought about investing in cryptocurrency or supporting a local business using crypto? How many times have you been overwhelmed with the complexity of blockchain transactions and financial analysis? Perhaps you've invested in cryptocurrency before but ended up buying on the peak or selling on the dip of the market. Well, Bizchain has arrived to help you out!
What it does
Bizchain introduces a new realm of crypto trading experience with a new touch that you haven't seen before. Our platform is a mobile application that makes crypto trading more accessible, powerful, and painless with the opportunity of supporting your local businesses at the same time.
For Business Owners
Our Mobile App allows small business owners to sell items for cryptocurrency and then automatically use a percentage of their revenue in one of our AI-Powered Crypto Bots.
For Regular Consumers
Any Regular Consumer can register on the app, browse a selection of local businesses, and buy products that are being offered by the respective business. If the regular consumer purchases a good/product/service from a local business, they will receive a small reward that goes to their Crypto Portfolio. If the regular consumer doesn't want to purchase anything, they can simply invest in the Crypto market by going to their dashboard page.
In addition to offering shopping, AI Crypto Trading, & Price tracking, Bizchain also offers Price alerts through SMS messages that are sent automatically based on the time and price of the asset.
How we built it
Bizchain's backend is comprised of 2 separate Python (Flask) APIs that are hosted on Google App Engine. The first API is responsible for returning crypto data like the current price, price prediction with our own ML model, previous prices, technical indicators, data processing, and placement of order using our bots. The second API is responsible for the automatic SMS service, which constantly queries our Firestore database and checks the price of a specified coin in order to send messages to a user.
- The First API that returns crypto data was built using the CoinRoute API to get coin bids/prices, the CryptoCompare API for technical indicators, and historical data. The Machine Learning model for ETH price prediction was trained and deployed on Google AutoML Tables with a Regression type. We built our own dataset using 2 years of daily ETH price data (openprice, high, low, volume, date,closingprice), which was enough to train our model. Our "David, The Conqueror I" (Divide & Conquer) trading bot analyzes the previous weekly trend in the coin queried in order to find the lowest & highest bounds & the number of transactions to create.
Ex: If you attempt to create a "David, The Conqueror I" (Divide & Conquer) trading bot using ETH as your coin and $5000 as investment, the algorithm will check the lowest & highest prices weekly and will come up with the following interval [ 2398.17, 3879.88 ]. After this, the bot will use 50% of your investment to buy the coin at its current price and set a selling price of approximately $3870 (high). The other 50% is equally divided into multiple "micro-transactions" in the bounds of [ 2398.17, 3879.88 ]. An example of a possible "micro-transaction" is a buy price of 2398.17 with a selling price of 2414 and a small investment of $27.
^TL; DR^: This strategy is good in an oscillating market. By following the strategy above we make sure to buy the coin when the price drops and sell it quickly when the price rises a little bit.
- The second API that includes SMS automation was built using Courier, Twilio, Firestore, CoinRoute, and Google App Engine with scheduled cron jobs. Every time the cron job is triggered, our API fetches all the 'subscribers' on our Firestore database and sends them custom messages about the percent change and current price of the respective coin.
Challenges we ran into
In order to make a project about crypto trading, we have to fetch a lot of data in order to display visualizations, simulate trading, predict prices, and using technical indicators. This vast amount of data makes everything slower and it creates the possibility of inaccuracy in a data record. These time constraints made us drop some of the other cool features that we were going to implement because it was going to take too long to train and deploy multiple models on Google Cloud AutoML.
Our team also came to the conclusion that is not easy to work with many APIs at once considering we have to think about deployment and accessibility for the frontend. Therefore, we tried to keep everything as simple as possible while using external APIs.
Accomplishments that we're proud of
We are extremely proud to have worked on Bizchain together. We still can't believe we were able to build such an exceptional platform in such a short span of time. Our whole team agrees that we would use our own app for crypto trading considering we were the developers of the AI and APIs! You, the reader, should join us too! Let's be proud together!!
What we learned
We learned that it's essential to properly brainstorm and allocate time to all the features of our application. In addition to that, our team learned more about crypto trading and blockchain transactions while using the APIs of the sponsors' documentations. Our beginner hackers learned how to implement automatic SMS and E-mail messages for the users of our platform.
What's next for Bizchain?
For the next iteration of Bizchain, we would like to provide more AI-powered bots with customizable parameters as well as improve the connection between our shopping feature and the portfolio. The time constraint made things very hard to complete so if we had more time, we would do some other amazing features like qualitative analysis for news/social media, and much more! Stay Tuned!! :D
Before designing the app in React, we made a prototype in Figma using the collaborative design feature