Like most inspirations, our idea came straight from a problem. In the family of one of our team members, there has an issue with staying connected. Although they had the mobile technology to connect, there was still an issue of getting messages through. Grandpa, who never remember to connect to the WiFi, would miss out on all the online messages that her children and grandchildren would send her. His uncle, who was slightly more tech-savvy and was connected to the WiFi, would receive SMS from other family members, but was hesitant to use his prepaid credit to respond. There was a problematic gap between online and offline messaging.
What it does
ChatChain bridges this gap and allows users to send and receive messages all in one place on their mobile device regardless whether they are online or offline. All of this for free.
Have you ever tried to message someone but they weren't online? Have you every tried to message someone offline while they didn't have a phone on them?
Meet ChatChain, the blockchain powered cross-platform instant messaging application.
ChatChain's broadcasting algorithm allows for messages to be sent as hashed blocks over SMS and the internet, deciding on which route to take.
ChatChain connects people in ways they could never connect before.
Where ChatChain truely shines is during overseas travel. Using geolocation, ChatChain knows you are no longer in the country, switching your messages to send over WiFi. When a message is sent, it is then passed to another phone in the country the sender wants to deliver the message to. The message, then gets sent as an SMS to the intended recipient. The message can only be read through the app and shows it as being sent from the original sender.
The application defaults as the user's main messaging application so ChainChat truly becomes your one place for connecting to people where ever they may be.
How we built it
The Blockchain is what powers the whole system. Each message is a transaction, each transaction is a block, blocks make up the chain! Blocks in the blockchain are 100% secure and immune to the 51% attack and double-spending due to our amazing security. Since each message is a block, the nonce is relatively easy to guess (for the purpose of mining new blocks) so that messages aren't being sent with delay due to the lack of block creations.
- Intercepting SMS
For instance, lets say we have a group of 3. One person broadcasts a message to the other 2 people. Out of these two people, one is offline and one is online. The person that is online will receive the message and through blockchain and P2P technology, that peer/person will automatically discover that the other person is offline and hasn't received the message, that person will then send an SMS of the same message to that person which will be intercepted by our app, displaying it as a normal message as if they were online.
Challenges we ran into
- Testing the application As of Android 4.4, you had to make an app default to be able to intercept SMS messages. Originally, we intended to have our app intercept SMS regardless of whether the app was default or not, but this wasn't possible after 4.4.
We wanted users to be able to do more in the app, so we went back to our list of ideas we had written down at the start of the hackathon and decided to use some time to implement this feature. This feature is a song finding feature. The user sings into the microphone and it detects the song they are singing (technically speaking, this works using Google's Speech to Text API, then does a Google search of the lyrics/text, grabbing the most probable song and returning it back). It's Shazam on steroids.
Accomplishments that we're proud of
- Completed the MVP in the first day
- Implementing 2 killer features in our app
- This was our first hackathon. Every team member have never been to a hackathon before. We thought we did quite well as a team considering our newbie experience!
What we learned
- Managing friction within the team requires everyone to be open minded.
What's next for Chatchain
Definitely looking to further our song finding feature and making our Blockchain technology more robust! This is definitely a project that will be worked on in the coming weeks and we greatly thank UNIHACK for giving us, as a team, this opportunity to work on an idea we believe will be something big. Decentralisation is a concept people everyday are accepting to be important. With the rise of cryptocurrencies and blockchain technology, the market for having decentralised technology becomes ever more valuable.