For crypto currency investors and even people who are simply interested in crypto currencies, it's a pain to have to manually navigate to different places to check for all kinds of information about them every day. That is why I was prompted to create this artificial assistant for people to get all what they need with a single click.
What it does
Crypto Club offers all-around daily feeds for subscribers on the currencies that they are interested in, and conducts checks on the prices hourly so that the users will be alerted via email and text message, should there be any significant fluctuation of the price of a crypto currency. The text messaging system also acts as a simple chat-bot since the user can also query information (e.g. pricing, news, forum updates, or advice from AI) about a currency by sending a message the other way around.
Individuals interested in Crypto Club can simply subscribe at the official site with their name, email address, and phone number.
How I built it
The "daily feed" and "hourly check and alert" functionalities are built with Python with a number of different libraries including os, dotenv, smtplib datetime, pymongo, unidecode, praw, flask, and twilio. I leveraged a Cryptocurrency price API and a News API, and performed web-scraping from Reddit to set up all information that will potentially be sent to the subscribers. Communication via SMS with the user is realized by means of the Twilio API.
On the other hand, the signup web app is created using standard HTML/CSS and is provisioned using Node.js with Express. Information collected via post requests are stored in a MongoDB Atlas cluster, and because of that, they are all accessible by the main Python utility programs.
Challenges I ran into & What I learned
I needed to learn the Twilio API, smtp, and some other libraries very quickly and all from blank. I also needed to correctly parse the large payload sent from a bunch of endpoints. Finally, some companies such as Twitter and Reddit has adjusted their sites in an advanced way so that scrapping via traditional means (using beautiful soup or selenium) turned out to be impossible, and so I was forced to opt for alternative approaches.
Accomplishments that I'm proud of
As the sole developer of this project, I was able to create, debug, and maintain hundreds of lines of code in 24 hours, and I made some sophisticated functionalities working as intended.
What's next for Crypto Club
I wish to turn Crypto Club into Investment Club to provide virtual assistance on not only crypto-currencies but also all kinds of other things (e.g. stocks and bonds) that people may invest in. The official subscription site will be revamped accordingly based on this expansion plan. In addition, currently the AI advice given for each cryptocurrency is retrieved from an external provider and so its reliability is by no means guaranteed. I will set foot on developing an AI of the Club's own with some advanced machine learning techniques such as neural networks to offer the optimal experience using the product.