At the Starbucks on Dairy Ashford and Westheimer Street, a Short Dark Roast coffee for Paul was getting cold. After thirty minutes, Paul finally showed up at the drive-thru window. He had a good excuse for being late: he had placed the order at home using a Commodore 128 computer.
"The barista looked at me like I was on crack," Paul DeCarlo, a software developer from Houston, told me over Skype. "I was like, 'If you only knew how I ordered this.'"
The remarkable hack, which DeCarlo christened Coffeedore 64, takes advantage of an convenient feature of the Starbucks mobile app that lets customers order ahead of time to avoid waiting in line. By circumventing the system, this purchase of a cup of coffee illustrates the power of open APIs.
Under normal circumstances, using a computer to buy a frappuccino is not allowed. Starbucks keeps their backend data private, so if you want to order slightly burnt-tasting coffee over the internet, you have to do it through the official app. That was until last July when a developer named Nick Lee wormed his way past the security measures of the online ordering system and published the results. Suddenly, anyone could connect to Starbucks from anywhere, even a Commodore.
DeCarlo liked the idea of programmatic coffee so much that he tried it out himself. First, he programmed a Starbucks bot called SbuXBoT, which allowed him to search for a nearby Starbucks and place an order using his Starbucks account. Problem solved.
Only this setup wasn't quite hacker-y enough.
"Internet chat relay (IRC) is the place where bots originated. It's the whole soul of what a bot is," he said.
Next, DeCarlo brought the bot to Freenode, an IRC network notorious for trolls and denial of service attacks. Any IRC-capable device can order a coffee from his channel, but DeCarlo cautions against it, as the connection is not secure.
The project continued to snowball. When DeCarlo inherited a Commodore 128 from a friend whose house was flooded during Hurricane Harvey, the first thing he wanted to do was order coffee with it. The only question was how. The Commodore 128, the direct successor to the Commodore 64, is a 32-year old relic that lacks support for things like modern networking equipment.
Fortunately, Wi-Fi modems for this ancient beast have recently been developed by members of the Commodore community, mostly for use with Bulletin Board systems that somehow still exist like Particles! BBS. With a little networking wizardry, DeCarlo was able to dial into his IRC channel and interact with his bot, as witnessed in the above clip.
For all of his hard work, DeCarlo was rewarded with a lukewarm cup of coffee. DeCarlo didn't care that it had gotten cold. He cheered when the barista gave him his cup.
"I don't normally drink coffee. Literally, I took a sip," he said. "I'm wired as a result."