Skip to content

β€‹β€‹πŸƒβ€β™€οΈ Find contextually-aware safe havens on your way home - any time, any day

Notifications You must be signed in to change notification settings

launchpals/open-now

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

83 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Open Now

Find contextually-aware safe havens on your way home - any time, any day.

nwHacks 2019 Deployed with Inertia

There are many cases where innocent people commuting home are attacked shortly after getting off the bus. Last week, one of our members felt threatened that they were going to be followed home after highly uncomfortable interactions with a stranger on the bus. In this state of panic, Google Maps was found to be lacking in design for users who are in fight or flight mode, when all they want to do is to find the closest safe place to get off the bus.

Open Now presents a simple, easy-to-parse interface that immediately presents you with a number of options for reaching the nearest safe haven, as recommended based on contextual data.

Features

  • Quick, at-a-glance overview of possible routes nearby safe havens and destinations
  • Intelligent suggestions based on contextual data such as your current and predicted trajectory, public transit mode, walking pace, and weather
  • Detailed, turn-by-turn directions and destination details just a tap away
  • Dark theme optimized for night-time environments

How we built it

Open Now is an iOS app built in Swift, backed by a server written in Golang that powers our intelligent point-of-interest recommendations. The app and the server communicates using protocol buffers to serialize data transfer over Google’s remote procedure call framework, gRPC.

The server communicates with open-source public transit databases as well as the Google Maps Platform to generate recommendations, and is hosted using Inertia β€” a continuous deployment tool that we previously built β€” to handle automated updates on our cloud instance.

Development

Protobuf

Install protobuf v3.6+, then:

# for generating Go stubs
bash .scripts/protoc-go.sh

# for generating Swift stubs
brew install swift-protobuf 

Running make proto will generate all the stubs.

Frontend

TODO

Backend

cd backend
export GO111MODULE=on
go mod vendor