As a cash-strapped College student completing a summer internship in the notoriously expensive city of San Francisco, Joshua Meier ’18 discovered he could save money by using Uber for his commute. But as Meier waited for his driver to arrive during the height of morning rush hour, he kept his eyes nervously glued to the clock.

“I was always rushing around to get out the door in the morning, and the time I spent waiting for my Uber to arrive started to add up,” said Meier, a computer science and chemistry concentrator at the Harvard John A. Paulson School of Engineering and Applied Sciences. “If I could just call it for 8:30 a.m. every day, that would be perfect.”

Scheduling a pickup is not an available option in the Uber app, so Meier began developing his own mobile application to solve the problem. He launched TaxiLater, an iPhone app that lets users arrange an Uber pickup hours, days, or even months in advance.

Using TaxiLater, an individual enters his or her pickup location and then sets a time and date. The app’s server continually polls Uber to locate the closest drivers, and then automatically calls a driver at exactly the right time, Meier explained. For example, if a user needs an Uber pickup at 8:30 a.m. and the app determines the closest driver is six minutes away, it will send the request to that driver six minutes in advance.

“Those estimates are always updating because drivers are constantly moving around in their cars,” Meier said. “The algorithm generates very good estimates and there is a very high probability that the Uber driver will show up when someone wants.”

‘… Building apps or working on research projects that impact people — that is what science is all about.’

— Joshua Meirer ’18

Because the back-end computations are worked out in a cloud-based server, users do not need to have their phone turned on for TaxiLater to contact the driver. In fact, after entering the information into the app, a user could even throw away his or her phone and the Uber request would still be sent. The app, which is free to download from the Apple Store, ties directly with a user’s Uber account to process payments and provide receipts.

One of the biggest challenges of developing TaxiLater was designing an interface that was both user-friendly and closely resembled the Uber app. Working with the Apple Store presented its own set of challenges: Meier made several revisions to the app’s name and design based on Apple’s requests.

He launched TaxiLater in May, and its popularity exploded overnight. Meier never expected it to take off so quickly — the day he launched TaxiLater, he pulled an all-nighter to reinforce the engineering stack after thousands of users signed up in a matter of hours. TaxiLater has continued to attract more than 1,000 new users a day.

Drawing on user feedback, Meier is already planning to build additional features for the app. He is adjusting the algorithm so a user can set a destination and arrival time, and then the app determines the best time to notify a nearby Uber driver, taking into account the time it will take to travel to the pickup location.

“There is a huge opportunity to take TaxiLater into other verticals,” he said. “What I’ve shown here is that people are very interested in scheduling their on-demand services.”

Meier, who built the application in his spare time between classes, homework, and his work in a genome engineering research lab at the Broad Institute, is looking forward to seeing where this project will lead.

“It is really rewarding when I can mix what I think is fun with something that others find useful,” he said. “Developing something to give back to the world — building apps or working on research projects that impact people — that is what science is all about.”