Rain Johanson
●
●
●
●
●
2 click taxi ordering service
Android
Client
Android
Driver App
iPhone
Client
iPhone
Driver App
Cloud & backend
systems
Dispatcher
Dashboard
VOIP
integrations
PBX systems
Back-office
systems
Taxi company
Dashboard
Windows
Phone
client
Business
Dashboard
Button
Web app
client
Driver
portal
HTTPS protocol
● Event-driven and non-blocking, ideal for web services
● Well suitable for SOA and high throughput applications
● Everything about HTTP(S) is supported
● Single threaded
● Scripting language, no build
● Well supported in the cloud
Driver
polling
Search
Client
apps
Driver
apps
Node.js subsystem
Mobile apps
Google
Distance
Matrix
3rd party services90% of requests below 4ms
HTTPS protocol
(lat,long,state)
(lat, long, state)
Tracking
Data driven - statistics system
Database 1
Database ...
Database N
Backoffice for
statistical queries
Solution to statistics
- MapReduce and pre-
compute ?
- real-time query
- something familiar
- minimum effort for scale
- store everything
Mobile apps
Move to cloud
Database syncer
service
AWS S3
Database 1
AWS Redshift
cluster
Database ...
Database N
Redshift syncer
service
Statistics API,
AWS
Mobile apps
Backoffice
Query API, AWS
Beanstalk service
(RO)
Services access pattern 13th Friday
(November)
New Year’s eve
5x bigger
no change
Challenges and opportunities
Client application interaction design
and overall user experience
Big data & geospatial analysis
What happened ?
End of month,
good weather
Start of month,
good weather
Second week,
little rain
Non-stop rain, holiday
& independence day
on 18th
Rides: Tue & Wed in Riga
Tuesday-Wednesday over a 4w period
Supply vs demand
Demand prediction, but where ?
driver (accepted ride)
client
Demand prediction
Combine historical data with
real-time data
● city
● seasonality
● local events
● weather
● payday
● real-time road/traffic conditions
● national holidays
● media coverage
● Taxify discounts/campaigns
Route and maps
Map heavy (map to road)
Price calculation and prediction
Accuracy of ETA
Efficiency, what time is drop off,
can we queue next order ?
Route correction - Prague tunnel
● Taxify- in 9 countries
● 5 apps, 22 systems
● Mostly async real-time
● Challenges in UX
● Opportunities in data
science
● Q & A
Monthly rides
Taxify engineering presentation - DevTernity

Taxify engineering presentation - DevTernity