Blockchain seemed very interesting to me. I really wanted to make something that could incorporate a basic version of this technology, and hence I made Chequeout
What it does
To use Chequeout, users first make an account and register their banking details with us. After that using the app is super simple. All you have to do is try in plain natural language the item(s) you want. Chequeout will identify your needs and will pull up cards with products from Amazon. To purchase, just click chequeout. You're done!
Our system then initiates a blockchain transaction. This ensures that your data is safe and secure, which also enhancing the security of the transaction. To simulate an actual blockchain network while demoing, I built a tool that solves the proof-of-work problem quickly.
How I built it
The simulated blockchain network is built using python. Google's dialogflow API is used to generate some cool responses to the natural language input you give, which in turn gives a more personal touch to the process. Google's NPL API is used to tokenize input text and pluck out the items that need to be looked up. To look up items, I used a Python library called amzsear, which has both a CLI and an API to search amazon and get back a list of items
Challenges I ran into
Oh boi... Understanding how blockchain and Django worked was time-consuming. Also, I spent a really long time trying to get my GCP dialogflow and NLP APIs working successfully with Django.
Accomplishments that I'm proud of
My first ever solo hackathon! I'm really proud of how far I've come, especially considering the fact that I had no idea on building entire web apps just a few months ago at my first hackathon, HackGT
What I learned
To never give up, Awake chocolate doesn't actually keep you awake, and the Django way of doing things!
What's next for chequeout
Chequeout has a lot of room for improvement...
- The UI of the website can be improved monumentally
- Customers need to be given the option to actually check ☑️one item from a small array of chosen items based on preferences indicated previously
- Better handling of errors
- An assistant that can engage in longer conversations with users and answer questions about the status of transactions, bank details, product details and so on.