SlideShare a Scribd company logo
Unifying Mobile, Cloud, and AI Techniques in a
Crowdsourcing Application for Smart Cities
A Voice and Location Enabled Platform for Connecting Cities and
Their Citizens
By Marc Bacvanski
marc.bacvanski@gmail.com
March 2017
Ok City!
Problem: Disconnected Citizens
● Cities don't have resources to engage citizens
● Citizens don't know who to call when something concerns them
● People don't report important matters because they don't want to flood
911 calls
● Citizens don't have an effective way to inform and share good news with
the community
Citizens are disconnected from their cities due to a lack of an
easy, fast communication platform for reporting issues and
sharing positive events in the local community
System Requirements: User Stories
● As a city manager, I want to view statistics for my
city so that I can take action on them.
● As a city manager, I want to resolve issues
posted in my city to mark their completion
● As a city manager, I want to moderate posts so
that I can focus on important ones.
● As a citizen, I want to view nearby posts so that I
can know what is going on.
● As a citizen, I want to create posts to inform the
city about problems to be fixed.
REST
Sentiment
Text
Post Vis
Post Mgr
Scalable, Mobile Backend AI and ML APIs
NoSQL DatabaseScalable, Mobile Backend
REST
Geo Vis
Post Stats
Post Resolve
Portal Views
Web Sec.
NL API
Citizen
Posting
Citizens
Viewing
City Manager
● System deployed in cloud
● Scalable, distributed architecture
● NoSQL Big Data database
● Implemented latest web technologies: Node.js,
enterprise-grade security
● AI for sentiment analysis
Context Diagram: Ok City System and its Users
● Mobile application featuring
Text-To-Speech
● Material design: consistent
experience from phone to
desktop application
● REST communication with
backend
● Integration with maps and
geolocation
Ok City Cloud Deployment
Report stored in database, machine
learning applied for sentiment
Flow of Interactions
Recording a Report
User voice-records a
report in the app
Browse Reports
User can view nearby
reports on a map
Resolving Reports
City manager can resolve
obsolete or completed reports
View Reports & Statistics
City manager can view reports and
powerful statistics about his city
Citizen (Phone)
Reports and statistics
sent to city portal
Report data sent
to user's device
City Portal
Back-end
View Resolved Reports
Users can see their reports
that have been resolved
Comparison to Other Systems
Feature Existing Ok City
Geographically Placed Posts
Voice-Activated Posts
Custom Posts
City Manager Portal
City Manager can Resolve Posts
City Statistics: Sentiment, Timeline
Existing systems include: Waze, Yelp, TripAdvisor, city portals like Ask Mountain
View Mobile. These systems have limited functionality.
Mobile: Browse Nearby Posts
Opens filter dialogue: filter reports by
recency
Post on map: message, location, and
time of reporting
● Map reflects user-selected filtering
options
● Map centers at user's location, shows
nearby posts
Mobile: Record New Post
User can manually edit the recorded
post
Submit report to city, re-record post
● Automatic speech-to-text is
performed on the phone itself to let
citizens record reports hands-free
● Safe to use on the road: no need for
typing
● Sentiment analysis is done once the
text report is sent to the server
Mobile: Filter Posts by Location, Time
● Scalability is maintained by having
all filtering done on server-side
● Posts are filtered by time of posting
● Posts that are resolved by the city
are not shown to user
● Posts are only displayed from within
selected geographical view bounds
User can select time period from which
to display reports
UML Sequence Diagram: Post Creation
Web: City Overview - Geo View and Posts
Filter by keyword
Resolve selected
reports
Sentiment of
report: positive or
negative
This page is built using Material Design Lite and JavaScript that interacts with the Google Maps API
as well as the back-end server using REST and JSON.
Web: Resolved/Unresolved Citizen Reports
Reports, filtered by
resolved only
Marker on map
with description
and timestamp
The JavaScript running this page is written in EcmaScript 6 using Functional Programming styles and
asynchronous programming techniques using Promises.
Web: Pulse of the City - Analytics Visualization
Pie chart of
positive / negative
sentiments
Line chart of
sentiment over
time
More actions in
drawer
Zoom controls for
pagination of data
over time
These graphs use Google's visualization API, and utilize pagination to efficiently handle large
numbers of reports. These visualizations can be easily extended to handle custom visualizations.
Sequence Diagram: City Manager Viewing Reports
Component Architecture: Mobile and Web Backends
System architecture presented as UML diagrams, according to the IEEE 1471
standard for representing software architecture.
Functional Programming in JavaScript 6
Code Size (LOC):
● Total: 2425
● Java: 1076
● JS: 1000
● HTML/XML: 349
Mobile: Java 8 Structural Code Analysis
Ok City Vendor-Independent Cloud Deployment
REST
Handler
AI: Sentiment Analysis
Text Analytics
Post Visualization
Post Manager
Scalable, Mobile Backend: Node.js
Mobile
Device
Firewall Load
Balancer
AI and ML APIs
City Portal Firewall Load
Balancer
Scalable MongoDB NoSQL
Database
Scalable, Mobile Backend: Node.js
REST
Handler
Geoquery Visualization
Post Statistics
Post Resolver
Portal Views
Web
Security
Natural Language API
Speech to Text
Report Submitter
Report Mapper
Report Manager
City Statistics
Geo View
Technologies Used
Technology Usage
Android Mobile app
Java 8 Programming of Android application
Node.js Web server
Express.js Node.js framework for web applications
EcmaScript 6 Web programming
MongoDB Scalable, NoSQL database
HTML5 + CSS3 Web UI
Material Design Lite Front-end templating
JQuery Client-side scripting
Google Natural Language API Sentiment analysis
Heroku Scalable, cloud hosting from Salesforce
Technology Highlights
Cloud Architecture: Flexibility and Autoscaling
● Stateless REST architecture, service-oriented
● Separation of responsibilities, fault-tolerant resiliency
AI and Machine Learning
● Sentiment analysis using Google Natural Language APIs
● Speech-To-Text on mobile application
Security
● OWASP (Open Web Application Security Project) best practices
● Implemented with Lusca: enterprise-grade security package
used in financial industry
User Experience: Material Design
● Easily accessible experience
● Unified experience across mobile and web
Future: Deep Learning, Real-Time Streaming
● Sophisticated Deep Learning using custom natural language for
criticality analysis, beyond commercial offerings
● Integration with IoT sensors and video feeds in cities to generate
automatic posts
● Deployment on serverless architecture such as AWS Lambda and
Google Cloud Functions
● Automatic server deployment using Docker
● Big data analytics on nationwide data
● Real-time stream processing
y = softmax(Wx+b)
Join Me on Github!
My Profile
Ok City Repos
This is just the beginning. Let's work together on
building the future of connected cities!

More Related Content

Similar to Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities

10549227d cybercity digitalcity
10549227d cybercity digitalcity10549227d cybercity digitalcity
10549227d cybercity digitalcity
lsgi4321
 
Urbanetic2015_05pdf (1)
Urbanetic2015_05pdf (1)Urbanetic2015_05pdf (1)
Urbanetic2015_05pdf (1)
Jose A. Alfano
 
Mobile Calendar Application - Tourism Development Company
Mobile Calendar Application - Tourism Development CompanyMobile Calendar Application - Tourism Development Company
Mobile Calendar Application - Tourism Development Company
Stacy-Ann Duhaney
 
Integrating Virtual Environment and GIS for 3D Virtual City.ppt
Integrating Virtual Environment and GIS for 3D Virtual City.pptIntegrating Virtual Environment and GIS for 3D Virtual City.ppt
Integrating Virtual Environment and GIS for 3D Virtual City.ppt
grssieee
 
Platform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart CitiesPlatform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart Cities
Hiroshi Takahashi
 
R-Style Lab Mobile Portfolio
R-Style Lab Mobile PortfolioR-Style Lab Mobile Portfolio
R-Style Lab Mobile Portfolio
ahardziyenka
 

Similar to Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities (20)

10549227d cybercity digitalcity
10549227d cybercity digitalcity10549227d cybercity digitalcity
10549227d cybercity digitalcity
 
Transforming City with Internet of Things
Transforming City with Internet of ThingsTransforming City with Internet of Things
Transforming City with Internet of Things
 
Mobile Application Developer
Mobile Application DeveloperMobile Application Developer
Mobile Application Developer
 
Coding for Community Team - Turing Lovelace
Coding for Community Team - Turing LovelaceCoding for Community Team - Turing Lovelace
Coding for Community Team - Turing Lovelace
 
Urbanetic2015_05pdf (1)
Urbanetic2015_05pdf (1)Urbanetic2015_05pdf (1)
Urbanetic2015_05pdf (1)
 
Mobile Calendar Application - Tourism Development Company
Mobile Calendar Application - Tourism Development CompanyMobile Calendar Application - Tourism Development Company
Mobile Calendar Application - Tourism Development Company
 
IRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare APIIRJET- City Tour Traveller: Based on FourSquare API
IRJET- City Tour Traveller: Based on FourSquare API
 
ArcGIS Server 10 Applications Advancing Local Government Service Delivery
ArcGIS Server 10 Applications  Advancing Local Government Service DeliveryArcGIS Server 10 Applications  Advancing Local Government Service Delivery
ArcGIS Server 10 Applications Advancing Local Government Service Delivery
 
Future of Citizen Engagement & Asset Management with CitySourced and Cityworks
Future of Citizen Engagement & Asset Management with CitySourced and CityworksFuture of Citizen Engagement & Asset Management with CitySourced and Cityworks
Future of Citizen Engagement & Asset Management with CitySourced and Cityworks
 
Apps & web solutions with OpenSource - Mani Singh - IMIA Asia Pacific Conference
Apps & web solutions with OpenSource - Mani Singh - IMIA Asia Pacific ConferenceApps & web solutions with OpenSource - Mani Singh - IMIA Asia Pacific Conference
Apps & web solutions with OpenSource - Mani Singh - IMIA Asia Pacific Conference
 
Significance of statistics analytics in urban making plans
Significance of statistics analytics in urban making plansSignificance of statistics analytics in urban making plans
Significance of statistics analytics in urban making plans
 
Collaboration centred cities through urban apps based on open and user-genera...
Collaboration centred cities through urban apps based on open and user-genera...Collaboration centred cities through urban apps based on open and user-genera...
Collaboration centred cities through urban apps based on open and user-genera...
 
Integrating Virtual Environment and GIS for 3D Virtual City.ppt
Integrating Virtual Environment and GIS for 3D Virtual City.pptIntegrating Virtual Environment and GIS for 3D Virtual City.ppt
Integrating Virtual Environment and GIS for 3D Virtual City.ppt
 
Platform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart CitiesPlatform Adaptation and Challenges in Smart Cities
Platform Adaptation and Challenges in Smart Cities
 
R-Style Lab Mobile Portfolio
R-Style Lab Mobile PortfolioR-Style Lab Mobile Portfolio
R-Style Lab Mobile Portfolio
 
FIWARE Tech Summit - City Enabler - Changing the Way to Give Value to Your Da...
FIWARE Tech Summit - City Enabler - Changing the Way to Give Value to Your Da...FIWARE Tech Summit - City Enabler - Changing the Way to Give Value to Your Da...
FIWARE Tech Summit - City Enabler - Changing the Way to Give Value to Your Da...
 
Rae an Andres resume
Rae an Andres resume Rae an Andres resume
Rae an Andres resume
 
Leveraging ArcGIS Platform & CityEngine for GIS based Master Plans
Leveraging ArcGIS Platform & CityEngine for GIS based Master PlansLeveraging ArcGIS Platform & CityEngine for GIS based Master Plans
Leveraging ArcGIS Platform & CityEngine for GIS based Master Plans
 
GAPE - Efficiency in a Click
GAPE - Efficiency in a ClickGAPE - Efficiency in a Click
GAPE - Efficiency in a Click
 
yugam_anand
yugam_anandyugam_anand
yugam_anand
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 

Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities

  • 1. Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities A Voice and Location Enabled Platform for Connecting Cities and Their Citizens By Marc Bacvanski marc.bacvanski@gmail.com March 2017 Ok City!
  • 2. Problem: Disconnected Citizens ● Cities don't have resources to engage citizens ● Citizens don't know who to call when something concerns them ● People don't report important matters because they don't want to flood 911 calls ● Citizens don't have an effective way to inform and share good news with the community Citizens are disconnected from their cities due to a lack of an easy, fast communication platform for reporting issues and sharing positive events in the local community
  • 3. System Requirements: User Stories ● As a city manager, I want to view statistics for my city so that I can take action on them. ● As a city manager, I want to resolve issues posted in my city to mark their completion ● As a city manager, I want to moderate posts so that I can focus on important ones. ● As a citizen, I want to view nearby posts so that I can know what is going on. ● As a citizen, I want to create posts to inform the city about problems to be fixed.
  • 4. REST Sentiment Text Post Vis Post Mgr Scalable, Mobile Backend AI and ML APIs NoSQL DatabaseScalable, Mobile Backend REST Geo Vis Post Stats Post Resolve Portal Views Web Sec. NL API Citizen Posting Citizens Viewing City Manager ● System deployed in cloud ● Scalable, distributed architecture ● NoSQL Big Data database ● Implemented latest web technologies: Node.js, enterprise-grade security ● AI for sentiment analysis Context Diagram: Ok City System and its Users ● Mobile application featuring Text-To-Speech ● Material design: consistent experience from phone to desktop application ● REST communication with backend ● Integration with maps and geolocation Ok City Cloud Deployment
  • 5. Report stored in database, machine learning applied for sentiment Flow of Interactions Recording a Report User voice-records a report in the app Browse Reports User can view nearby reports on a map Resolving Reports City manager can resolve obsolete or completed reports View Reports & Statistics City manager can view reports and powerful statistics about his city Citizen (Phone) Reports and statistics sent to city portal Report data sent to user's device City Portal Back-end View Resolved Reports Users can see their reports that have been resolved
  • 6. Comparison to Other Systems Feature Existing Ok City Geographically Placed Posts Voice-Activated Posts Custom Posts City Manager Portal City Manager can Resolve Posts City Statistics: Sentiment, Timeline Existing systems include: Waze, Yelp, TripAdvisor, city portals like Ask Mountain View Mobile. These systems have limited functionality.
  • 7. Mobile: Browse Nearby Posts Opens filter dialogue: filter reports by recency Post on map: message, location, and time of reporting ● Map reflects user-selected filtering options ● Map centers at user's location, shows nearby posts
  • 8. Mobile: Record New Post User can manually edit the recorded post Submit report to city, re-record post ● Automatic speech-to-text is performed on the phone itself to let citizens record reports hands-free ● Safe to use on the road: no need for typing ● Sentiment analysis is done once the text report is sent to the server
  • 9. Mobile: Filter Posts by Location, Time ● Scalability is maintained by having all filtering done on server-side ● Posts are filtered by time of posting ● Posts that are resolved by the city are not shown to user ● Posts are only displayed from within selected geographical view bounds User can select time period from which to display reports
  • 10. UML Sequence Diagram: Post Creation
  • 11. Web: City Overview - Geo View and Posts Filter by keyword Resolve selected reports Sentiment of report: positive or negative This page is built using Material Design Lite and JavaScript that interacts with the Google Maps API as well as the back-end server using REST and JSON.
  • 12. Web: Resolved/Unresolved Citizen Reports Reports, filtered by resolved only Marker on map with description and timestamp The JavaScript running this page is written in EcmaScript 6 using Functional Programming styles and asynchronous programming techniques using Promises.
  • 13. Web: Pulse of the City - Analytics Visualization Pie chart of positive / negative sentiments Line chart of sentiment over time More actions in drawer Zoom controls for pagination of data over time These graphs use Google's visualization API, and utilize pagination to efficiently handle large numbers of reports. These visualizations can be easily extended to handle custom visualizations.
  • 14. Sequence Diagram: City Manager Viewing Reports
  • 15. Component Architecture: Mobile and Web Backends System architecture presented as UML diagrams, according to the IEEE 1471 standard for representing software architecture.
  • 16. Functional Programming in JavaScript 6 Code Size (LOC): ● Total: 2425 ● Java: 1076 ● JS: 1000 ● HTML/XML: 349
  • 17. Mobile: Java 8 Structural Code Analysis
  • 18. Ok City Vendor-Independent Cloud Deployment REST Handler AI: Sentiment Analysis Text Analytics Post Visualization Post Manager Scalable, Mobile Backend: Node.js Mobile Device Firewall Load Balancer AI and ML APIs City Portal Firewall Load Balancer Scalable MongoDB NoSQL Database Scalable, Mobile Backend: Node.js REST Handler Geoquery Visualization Post Statistics Post Resolver Portal Views Web Security Natural Language API Speech to Text Report Submitter Report Mapper Report Manager City Statistics Geo View
  • 19. Technologies Used Technology Usage Android Mobile app Java 8 Programming of Android application Node.js Web server Express.js Node.js framework for web applications EcmaScript 6 Web programming MongoDB Scalable, NoSQL database HTML5 + CSS3 Web UI Material Design Lite Front-end templating JQuery Client-side scripting Google Natural Language API Sentiment analysis Heroku Scalable, cloud hosting from Salesforce
  • 20. Technology Highlights Cloud Architecture: Flexibility and Autoscaling ● Stateless REST architecture, service-oriented ● Separation of responsibilities, fault-tolerant resiliency AI and Machine Learning ● Sentiment analysis using Google Natural Language APIs ● Speech-To-Text on mobile application Security ● OWASP (Open Web Application Security Project) best practices ● Implemented with Lusca: enterprise-grade security package used in financial industry User Experience: Material Design ● Easily accessible experience ● Unified experience across mobile and web
  • 21. Future: Deep Learning, Real-Time Streaming ● Sophisticated Deep Learning using custom natural language for criticality analysis, beyond commercial offerings ● Integration with IoT sensors and video feeds in cities to generate automatic posts ● Deployment on serverless architecture such as AWS Lambda and Google Cloud Functions ● Automatic server deployment using Docker ● Big data analytics on nationwide data ● Real-time stream processing y = softmax(Wx+b)
  • 22. Join Me on Github! My Profile Ok City Repos This is just the beginning. Let's work together on building the future of connected cities!