ETHIndia is the world's largest Ethereum hackathon, with speakers and sponsors from all over the globe promoting and celebrating the blockchain ecosystem. Owing to its scale, my prior commitments and my experience with only the Web2 space, I brushed it aside. 45 mins before the final deadline to apply, my friend Ashish Bharath called and asked if we were interested. With little convincing and setting priorities right (and lesser hopes of making it), team unETHical was born.
The Prelude
Having almost forgotten about the hackathon, we received an invite to be among 2000 selected hackers out of 21000+ registrations from across 69 countries - one month after registering. We were jumping (at least I was). But a late invite also meant less time to prepare. Half the team was sceptical and had other things scheduled - the team almost fell apart. But again, with a lot of convincing, cancelling other commitments (as important as exams) Rahul Pujari (the UI/UX guy) from Delhi, Abhiraj Mengade (the frontend guy) from Pune, Asim Jawahir (the IoT guy) from Kerala, Ashish Bharath (the Solidity guy) and I (frontend guy) from Bengaluru, were all set to attend the 36-hour extravaganza.
The Experience
The hackathon started off with a series of workshops on the blockchain, which were really helpful in getting us up to speed on the technology we would be using for our project. There were also multiple sponsor stalls and a beautiful main stage for an amazing speaker lineup. The hackathon officially started at 8:00 pm, and that's when the real work began. The organisers provided a 24/7 snack bar with lots of good food and energy drinks to keep us fueled. The next day was primarily spent coding and trying to get our project to work. We barely slept the previous night, and there were tons of bugs, especially in the IoT part of the project. I remember at one point, we were pulling our hair out trying to figure out why our device wasn't connecting to the internet 😂. Another highlight of the day was the swag haul. Whenever there was a rush around a sponsor stall, we knew that a new batch of swags had arrived 😆. Each of us ended up with 11-12 t-shirts, caps, stickers, hoodies, badges, a mouse pad, bands……phew, please see the image to see everything! 😸
The Project
This section covers the technical details of what we built. Please feel free to move to the next section if you'd like.
Problem?
The government has set a target that 30% of all vehicles be electrically driven by 2030. For this aim to be realised requires that strong incentives be created for the manufacture, sale, and usage of electric vehicles. In addition, it is expected that the increased usage of EVs will substantially increase the usage of batteries to power them. Though technology is improving, the issue of battery charging is particularly troubling. Charging stations require a lot of infrastructure. A proposed method is to use battery swapping stations where you walk in and swap your existing discharged batteries with charged ones. But here also, there are two problems:
- Putting a price on the usage of the battery: Location aside - some features of batteries may directly affect their worth, such as the age of the battery and its historical treatment. Tracking energy consumption is also cumbersome.
- Difficulty in energy source attribution: An aspect of EV usage sometimes overlooked is that they are largely environmentally viable only if the source of electricity is also driven by renewable energy. Attributing electricity sources is a difficult process, however.
Solution
Blockchain'ify' the station and the information of the battery. Why?
- Immutable battery information storage: The blockchain may store information such as the age of the battery and its previous treatment in an immutable fashion, thus removing the possibility of misrepresentation to increase the price or lower the cost of usage.
- Attribution of energy source: Usage of blockchain to store information on the sources of energy used to charge the battery may help inform choice to incentivise usage of sources of renewable energy.
- Programmable transfers: Exploiting the ‘smart contract’ feature of blockchain applications would allow for more efficient swapping of batteries at charging stations since simple rules on costing can be applied on the basis of battery attributes and executed on exchange.
How does ChargeSwap work?
- The user signs up for our platform. We made the onboarding simple for conventional Web2 users, by allowing them to sign up with social login in addition to the usual MetaMask login. Thanks to the Biconomy SDK.
- [Assumption for now]: The user is sent a battery by us with the ownership transferred to them in the smart contract. This smart contract is deployed on Polygon (the Mumbai testnet as of now).
- The user searches for nearby stations based on different parameters such as the availability of the battery, its source and the distance to the station.
- Upon arriving at the station, the user scans his discharged battery using RFID at the IoT-enabled device. The metadata of each battery is immutably stored using IPFS.
- The user is asked to pay the price for the charge required. The price is just a multiple of (100 - discharged battery %) written in the smart contract.
- Upon successful transaction, the IoT-enabled device interacts with the smart contract to swap the ownership of a newly charged battery and the user's discharged battery.
- The user can now insert the changed battery into their EV and get going.
The results
"Hackers, please submit your hack by 9 am!" - said the announcement. Rushing through the final pieces, we made our last commit at 8:52 am. Now it was time to pitch our project to the judges and sponsors. After pitching to 5 panels over 3 hours, already exhausted, we finally decided to take a rest. With partial sleep, I checked my inbox at 3:22 pm. "IMPORTANT - [ETHIndia 2022]: You're shortlisted for Top 10 teams" - the subject read. Putting my specs to confirm, I started waking up my teammates. Every single one of us couldn't believe it, and we were ecstatic! We presented our hack live to over 2000 people and a virtual audience through YouTube. Wait, it wasn't over yet.
ChargeSwap also won the Best Public Good by Polygon, and the Best New Module Integration using the Biconomy SDK with a total prize money of $6500+. Multiple investors and organisations, including the Govt of Telangana, expressed interest in helping to carry forward our project. We also met Mr Sandeep Nailwal, who not only recognised us but also appreciated our project.
Takeaways
-
It's all about the team.
Find individuals that fit different pieces of the puzzle. Let each individual work independently and trust their skills. None of us had any idea about IoT except Asim, whom we trusted (at least a little). The same goes for other team members and their skills.
-
Your network is your net worth.
Hackathons are all about meeting new people and understanding new ideas and opportunities. Talk to diverse individuals. They are nicer than you think.
-
Plan a little beforehand
Have some potential problem statements researched beforehand, keeping in mind the theme of the hackathon. It's easier to find a solution to an existing problem rather than finding both.
-
Don’t underestimate your potential
We saw people who had won coveted hackathons, received big fellowships, etc - easy demotivation. If only you believe in yourselves, will you able to triumph the odds.
From a team that doubted even its selection to attend the hackathon, and almost falling apart upon selection, to emerging as winners among multiple categories and being featured in leading newspapers - it all feels nothing but surreal. I can't wait to see where ChargeSwap takes us in the future! ⚡