Imagine not having wifi access at a ETHBerlin conference. What would you do? Build a hotspot sharing tool!
What it does
An app where an individual can become an internet provider by sharing internet data through the hotspot and in turn receive micro payments for the amount of data used (measured in megabytes).
How we built it
Used expo for a nice tweak-check cycle while developing a react native app. Created an in-app signing key that can deposit into a payment channel when it receives funds. Used android API to scan & connect to wifi hotspots. Connector starts a payment stream upon connecting & the provider will shut off the hotspot once the connector stops sending payments
Challenges we ran into
We wanted more fine grain control over the mobile networking. Ideally the provider could boot a single connector who didn’t pay & leave the others connected. Metering individual connections was also a feature missing from the mobile networking API. We circumvented these issues by turning it into an app focused on a single-connector at the loss of a bit of flexibility
Accomplishments that we're proud of
We got a payment channel working smoothly that could transfer pennies with zero fee in just a couple seconds. Got ramped up & working productively with react native despite most of our team being unfamiliar with it.
What we learned
Dug into the networking and learned a lot about what is and isn’t possible with mobile networking apis. Learned how to use react native productively.
What's next for Hotspot me!
Code could use some refactoring. A valuable addition would be a p2p payment method (maybe via Bluetooth) that could be used to make the first payment before internet access is allowed.