Inspiration
Running out of battery on a mobile devices while, on the go, is a common occurence these days. And whenever a plug is needed, none can be found. Airports, shopping malls, shops, they all might have public sockets which nobody knows of (an undiscovered gold mine).
What _ UndiVolt _ does?
When you start the app, you can directly see a map of the nearest sockets. In addition to this interactive map, everybody can also report new sockets and rank other sockets. We will create world's largest socket map or better said: the world will create its own map of public sockets thourg crowdsourcing. Based on user rating, the map will be kept updated even when sockets malfunction or no longer exist because repeated bad rankings will cause the socket to be deleted.
That is only a part of UndiVolt. What happens if you forget your charger? In this case, the app allows you to search for all nearby users who are willing to lend a particular charger. Those users will receive a pushNotification and if they accept it, the locations will be exchanged and a the helper and one in need will be able to chat throug the app. It's Tinder for chargers :-)
How we built it
We rolled up our sleeves, proudly powered through the NodeJS server functionality with support for Plug discovery and rating, user identification and 1 to 1 user chat. Then we put our pride and enthusiasm in Swift development. Sadly, the cruel world and, maybe, the tiredness kicked in. Only half of the planned functionality was successfully implemented.
Challenges we ran into
We chose to develop with iOS' Swift for the first time. None of us had any previous experience with it so it proved to be very difficult to advance at a quick pace. We spent 1 hour on 2 for loops and 4 Strings to extract a char from a string...yep, it's that bad.
Initially we wanted to use Google Maps but it has issues with iOS 9, so we went to Apple MapKit.
But the biggest challenge was the full-stack nature of our project, employing both a server and an app client.
Accomplishments that we are proud of
Basically, we managed to build an iOS app, in a language we never used before, in just 24 hours, which communicates with a server we built. Even if we only finished half of the functionality we wanted, and just 10% of the design, it's still nice :-).
What we have learned
The force is weak with the Swift.
What's next for UndiVolt
A lot of optimisation would follow, in order to make it a steady system. The backend is quite done, but needs to be much more secure. The app requires more design and the rest of the functionality.
We do plan to launch it on the AppStore in the following weeks, if we get a free hosting for long enough :-)
Log in or sign up for Devpost to join the conversation.