Home screen, with smart city scores and recent issues logged by your community.
A fade in panel with animated buttons for saving, liking, tweeting, and Trelloing that given task or issue.
The interactive and beautiful map which is used to display nearby tasks and IoT devices by GE.
The chat bot provided through Azure which handles city questions and issue logging.
An automatically generated Tweet for a task geared toward getting the attention of city and state officials.
Navigation to multiple parts of the applications.
A list of tasks or issues that your community members would like to solve
Explanations of the scores in an accessible manner.
The data analytics page, showing trends in pedestrian traffic and the current status of Atlanta's IoT effort.
A visible task or issue that someone is having - maybe the city should look into more parking?
A node and environment sensor, which are IoT devices that relay information such as temperature.
A dialog with a more descriptive view for each mapped task.
Further conversation with the chat bot.
StreetSmart Cities is inspired by the growing industry and use of IoT devices, and is motivated by the fact that not enough has been done to utilize these tools effectively, especially in a way which gets the community involved. StreetSmart Cities is a platform which aims to do this, and includes a chat bot, collaborative work system, and data analytics from IoT APIs which work together to get us closer to the dream of smart cities.
What it does
SmartCities is centered around collaboration, enabled by big data and cognitive services. City folk can log into the app to view information about their City SmartScore and their own SmartScore. These scores essentially relate to how involved the community, city, and themselves are in using technology to better their environment and make important decisions.
Users can log a task using the Microsoft Bot Service, which asks questions about the issue you want to raise; this may be a crime, advice, repair, etc... The bot will log this task, which other users can now see. The community is now able to work together to better their city.
However, some tasks may require the assistance of public figures and government officials; this is where the Twitter API comes in, which allows users to track, retweet, and apply pressure to their city to get things done. In-app, anyone can share and retweet issues or complaints, which tag local government automatically (for example @Atlantacitygov). This platform therefore ensures that the city takes their constituents into consideration during the city planning process.
However, the platform would be incomplete without the addition of IoT devices. Within both a data analytics section and an interactive map, users can see information about the city's pedestrian traffic, temperature, humidity, and cameras provided by GE Current. This allows the entire town to use these tools in an attempt to further their goal of making their city both safer and cleaner.
To learn more about what it does, I suggest checking out the screenshots above!
How I built it
I built StreetSmart Cities using the following technologies:
- GE Current API
- Azure + Bot Services
- WRLD3D + AR Maps
- AWS through Heroku
- Lottie for After Effects
- Twitter APIs
- Picasso + OkHttp3
- Jupiter Notebook
- Domain.com (purchased http://streetsmartcity.org, to be linked)
I started by getting a Django RESTful server up and running, and quickly made a few scripts to automatically generate data. Next, I spent time configuring the chat bot and tweaking it to what I was looking for. I then spent a lot of time preparing the basic infrastructure of the app, and making sure that each UI component was just right. After getting Twitter, Lottie, and WRLD3D integrated into the application, I went back to the server to begin some data mining with the GE Current API. After obtaining tons of data on temperature, humidity, and pedestrian behavior, I created endpoints to get that information, and integrated it into my application.
Challenges I ran into
This was my first time competing in a hackathon by myself, and also the first time that I played around with chat bots, serious animation, Django, and 3D mapping. Getting the chat bot to behave as I wanted was particularly difficult due to my inexperience with both C# and chat bots in general, but I came away knowing how to use one, so that was fun!
Accomplishments that I'm proud of
I am proud of most of what I accomplished this weekend, especially in regard to completing a full functioning Android application with a backend and chat service. I spent a lot of time working out the intricacies of the user interface, and in the end, I think it paid off.
What I learned
I learned a lot about new services during this Hackathon. I especially enjoyed learning about After Effects animation in Android, as well as the use of a chat bot.
What's next for StreetSmart Cities
I plan on building out and refining the features of the system, as well as getting feedback from town officials to see what features they would really want in such as product. I also plan on extending the capabilities of the chat bot and map display.