Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CitiBike Finder
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kylefdoherty
July 23, 2014
Programming
71
0
Share
CitiBike Finder
Building a Sinatra App with CitiBike's JSON Station feed and the Google Maps API
kylefdoherty
July 23, 2014
More Decks by kylefdoherty
See All by kylefdoherty
Getting Started Testing
kylefdoherty
0
100
Going Pro
kylefdoherty
0
54
Other Decks in Programming
See All in Programming
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
600
Making the RBS Parser Faster
soutaro
0
490
How Swift's Type System Guides AI Agents
koher
0
290
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
400
TiDBのアーキテクチャから学ぶ分散システム入門 〜MySQL互換のNewSQLは何を解決するのか〜 / tidb-architecture-study
dznbk
1
180
YJITとZJITにはイカなる違いがあるのか?
nakiym
0
240
Programming with a DJ Controller — not vibe coding
m_seki
3
140
Coding as Prompting Since 2025
ragingwind
0
840
AI時代のエンジニアリングの原則 / Engineering Principles in the AI Era
haru860
0
570
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
290
HTML-Aware ERB: The Path to Reactive Rendering @ RubyKaigi 2026, Hakodate, Japan
marcoroth
0
180
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
150
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.3k
A better future with KSS
kneath
240
18k
Believing is Seeing
oripsolob
1
110
The Curse of the Amulet
leimatthew05
1
11k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Designing for humans not robots
tammielis
254
26k
A Soul's Torment
seathinner
6
2.7k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
170
The SEO Collaboration Effect
kristinabergwall1
1
430
Abbi's Birthday
coloredviolet
2
7.2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
200
Transcript
Citi Bike Finder Amy Johnson & Kyle Doherty
Dock Blocked
Blue Biked
None
Requested Solution Trip planner that suggests starting and end locations
based on historical data
Realistic Goals Sinatra using Citi Bike JSON Feed Search for
nearby stations Google Maps API for directions
Demo
JSON JSON Parser HTTParty Object
JSON Parser Station (Geocoder gem) Station Builder
Controller Station (Geocoder gem) Name & Location
Controller Station (Geocoder gem) Name & Location - Station Name
- Location Station Refresher - # of Bikes - # of Docks
- Station Name - Location - # of Bikes -
# of Docks
Directions with the Google Maps API
What You Need... 1. Directions Renderer Object • new google.maps.DirectionsRenderer();
2. Directions Service Object • new google.maps.DirectionsService();
Directions Renderer • new google.maps.DirectionsRenderer(); views/stations/directions.erb
Directions Service • new google.maps.DirectionsService(); views/stations/directions.erb
Directions Renderer • new google.maps.DirectionsRenderer();
Next Steps Rails App Write Tests & Refactor Create prediction
model Optimize DB calls Use caching to speed up responses
Amy Johnson - github.com/amyrjohnson Kyle Doherty - github.com/kylefdoherty Project Repo
- github.com/kylefdoherty/citi-bike-search