Today, DoorDash is launching in the state of New Hampshire!
Use code DASH2NH for $5 off orders of $15 or more, valid through November 24, 2018
Starting today, DoorDash will be available for delivery from more than 500 local restaurants in the following 18 cities across Merrimack, Hillsborough, and Rockingham counties: Concord, Pembroke, Allenstown, Suncook, Hooksett, Manchester, Auburn, Bedford, Merrimack, Litchfield, Nashua, Hudson, Derry, Londonderry, Windham, Salem, Atkinson, and Hampstead.
Now New Hampshire residents can get their favorite national and local restaurants like Blaze Pizza delivered straight to their door from 11 a.m. — 10 p.m., every day!
In celebration of our newest market, New Hampshire customers can receive $0 deliveries for all orders over $15 over the next month. New users can also use the promo code DASH2NH for $5 off their first order of $15 or more, valid through November 24, 2018.
As the days get colder and we head into the entertaining-heavy holiday season, check out DoorDash’s selection of local restaurants in your neighborhood to keep you and your family well fed and warm. And check out our top chef tips to take your DoorDash dinner to the next level.
Enjoy!
Now Dashing in New Hampshire was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
By Sueli Shaw (Social Impact Manager) and Emily Tung (Business Development Senior Manager)
At DoorDash, our mission is simple: to connect people with possibility.
That’s why we’re honored to partner with La Cocina, the renowned nonprofit kitchen incubator based in San Francisco’s Mission District. Through this partnership, we’ll support La Cocina’s mission of cultivating working class food entrepreneurs, primarily immigrant women and women of color, as they formalize and grow their businesses.
We believe that by lowering the barriers to entry into San Francisco’s rich food economy for under-resourced groups, we can collectively grow towards a more equitable, sustainable, and yes — delicious — food industry.
In addition to providing funding for La Cocina’s incubator program, we’re also creating an array of unique opportunities and dedicated support for La Cocina participant and graduate businesses through our platform. We are also excited to announce our sponsorship of La Cocina’s twice-yearly storytelling event F&B: Voices from the Kitchen on Thursday, November 8. If you’re based in San Francisco, join us in supporting La Cocina by purchasing your tickets at voicesfromthekitchen.org!
Speaking of stories, we’ll leave you with introductions to four businesses who are now catering through DoorDash:
Bini’s Kitchen: Binita Pradhan brings Nepalese soul food from her home of Kathmandu in the Himalayas to San Francisco. Her momos are famous throughout the Bay Area, but Bini claims that her real specialty is the homeground blend of roasted and ground spices, including bay leaves, cumin seeds, coriander, cinnamon, nutmeg, and black cardamom.
Mama Lamees: Owner Lamees Dahbour is of Palestinian origin and was born and raised in Kuwait. The origin of her cooking begins in her mother’s kitchen, where she started learning culinary skills at the age of 10. At La Cocina’s shared kitchen in the Mission, she prepares everything from hummus and tabbouleh to waraq malfouf (cabbage rolls) and maqloubeh (lamb or chicken slow-cooked in layers of seasoned basmati rice).
Mission Boricua: Rosie Ortiz is a Mission District native with Puerto Rican roots. She launched her business earlier this year, with guidance from La Cocina and the community. On the menu are empanadas, alcapurrias, and rellenos de papa, as well as traditional preparations of rice, pigeon peas, and Puerto-Rican style sofrito.
Peaches Patties: To master the flaky pastry crust for her Jamaican patties, Shani Jones turned to her mother (nicknamed Peaches) who moved from Kingston, Jamaica, to the U.S. to marry Jones’ father. Shani’s upbringing was a mix of heritages. Today, in addition to patties, Shani offers other Jamaican specialties like jerk chicken, plantains, and fragrant rice and peas.
Stay tuned for more about these entrepreneurs, their stories, and their food. We will also be on-boarding even more La Cocina businesses to the DoorDash platform soon.
Questions? Email social-impact@doordash.com to hear more about our nonprofit partnerships or to let us know if you want to partner together to deepen our community impact.
If you are interested in catering from these businesses for lunch or dinner to your office, please reach out to robinson@doordash.com to get set up.
Open Up Your DoorDash App for a Spooktacular Treat
Who says trick-or-treating is only for kids?
This Halloween DoorDash is turning the tables (or should we say doors?) and encouraging adults to relive their trick-or-treating glory days without having to leave the office by offering a FREE “Spooktacular Treat” from the DoorDash “Dash-oween Store” on 10/31 while supplies last!
When: On Halloween(10/31) starting at 2pm while supplies last, trick-or-treat (no matter what your age is!) through DoorDash wherever you are (likely at your desk) by opening the DoorDash app on your mobile phone or desktop and looking for the “Dash-oween Store.” Add the FREE “Spooktacular Treat” to your cart for a scary-good surprise!
Where: The store will be live in the following spooky cities: Atlanta, Austin, Calgary, Chicago, Denver, D.C., LA, NYC, Phoenix, San Francisco, and Toronto!
Bonus Treats: During the haunting hours the promotion is live, customers will have the opportunity to donate $1 to Feeding America® via DoorDash’s “Project DASH” initiative. DoorDash will match every donation made during this sugary-sweet promo. *
Look for the Dash-oween Store on desktop or mobile
Will the “Spooktacular Treat” be a trick OR a treat? The only way to find out is to add this “Spooktacular Treat” to your DoorDash cart on Halloween!
*$1 to Feeding America promo does not apply to Canadian markets.
Happy Dash-oween was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
Through Project DASH, we’re fighting hunger and reducing food waste by facilitating the pick up and delivery of donated surplus food. For both donors (restaurants and food businesses) and nonprofits (food pantries and shelters), that means convenience — and more time to focus on their missions while we help with what we do best: logistics.
Since launching Project DASH in January, we’ve powered more than 3,500 deliveries of over 200,000 pounds of donated food from restaurants to hunger-relief nonprofits. But we know we can do even more. We wanted to find out what might be holding people back. Here are a few common myths about food donation that we’ve had to dispel along the way.
Myth: Donating surplus food isn’t safe.
When we talk about donated surplus food, we aren’t talking about pizza crusts or half-eaten meals. We’re talking about high-quality, unopened, unserved food. It’s the excess that results from overstocking ingredients and prepping more than is served. Donations must adhere to food safety standards, including temperature.
Myth: I’m taking on legal risks by donating food.
A single American restaurant might waste up to 100,000 pounds of food per year. This food is often thrown away instead of donated. One of the most common reasons is the fear of being sued.
But in 1996, Congress passed the federal Bill Emerson Good Samaritan Food Donation Act. Under this law, those who donate food in good faith to nonprofits for distribution to people in need are exempt from liability in the event that the donated product causes harm. In other words, you can’t be held liable if anyone gets sick from donated food (except in cases of gross negligence or intentional misconduct).
Since the passing of the Good Samaritan Act more than twenty years ago, no one has ever been sued for a food donation.
(In case you’re wondering: Mr. Emerson was a Republican congressman from Missouri who fought hard for the proposal but died of cancer three months before it was passed.)
Myth: I don’t have any surplus food to donate.
Some restaurants have such efficient kitchen protocols that they produce almost zero food waste. We should celebrate this accomplishment!
One common source of surplus food is new store openings: when new employees are being trained, they “practice” preparing menu items, which temporarily results in large amounts of excess unserved food.
For others, food waste results from the need to strike a balance between over- and under- production. Consider bagel shops for example. There needs to be enough bagels to sell to all customers, but not too many since the bagels must be baked fresh daily. Based on its operations, each food business has an “optimal” level of food waste, and some of that may be eligible for donating.
Myth: It’s more expensive to donate food than to just throw it out.
Across the country, many impactful organizations help businesses donate their surplus food. Some of may charge a fee for their services, while others (such as our partner MealConnect) are free to use. Those that work with DoorDash to power deliveries of donated food make it even easier to donate by taking transportation out of the equation.
Reducing waste can help businesses save money by saving on upfront costs, time, and waste collection fees. In addition, donations may be tax-deductible.
Myth: Throwing my surplus food in the garbage isn’t such a big deal.
Get this: it takes 25 years for a head of lettuce to decompose in a landfill. With limited exposure to oxygen and pests, decomposition happens very….very slowly. Throughout the process, food in landfills releases methane, a greenhouse gas that is at least 28 times more potent than carbon dioxide.
Wherever you live, and whether it’s required or not, think twice when discarding surplus food: could it be composted? If you run a food business, could your surplus be donated to a local community organization serving people in need?
By powering the logistics of food rescue, we hope to help make food donation a widespread practice. There is still a long way to go. But we invite you to help dispel these myths and join the movement for a waste-free future.
Are you a business interested in working with us to donate your surplus food? Email projectdash@doordash.com.
Donating Food: Five Myths was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
Authors: Erich Douglass, Wei Lin, Steven Liu, Yen Pai
Introduction
As we migrate our systems to a microservices-oriented architecture at DoorDash, we have taken care to balance the excitement around anticipated benefits (development velocity, deployment independence, etc.) with a more measured assessment of our preparedness to work with the complexities introduced by more distributed systems.
One of the most common pain points with microservices — or, for that matter, any distributed system, finer or coarser-grained — is ensuring that service deployments maintain backwards compatibility and that the whole ecosystem plays well together in all environments, not just production.
An integration environment where teams can bring microservices together to ensure compatibility is critical to both development velocity and system correctness; but as the number of services grows, the coordination required to maintain this environment can become a heavy burden for development and infrastructure/operations teams.
At DoorDash, we looked towards applying consumer-driven contract testingas a technique to enforce compatibility testing. Conveniently, a mature and well-supported contract testing framework called Pact exists for enabling contract testing between REST services and consumers of services.
For our initial use case, we chose to adopt Pact to enforce the contracts between our mobile apps and the mobile backend-for-frontend (BFF).
Development Workflow with Pact
Pact works by connecting a set of unit tests. One set of tests for the service consumer and one set of tests for the service provider. The consumer tests contain specifications about an HTTP request and the shape of the response. When the tests are run, the Pact framework turns the specifications into a contract that is uploaded to a repository (known as a broker). The broker is a web service that contains a collection of contracts and associations between consumers and producers. With that in mind, the overall flow looks like this:
On the consumer:
Write unit tests specifying the request and the response shape
Run the tests, which, if successful, generate a Pact file
Upload the Pact file to the broker
On the producer:
Download the Pact files that involve the producer
Run the tests, which, if successful, generate verification results
Upload the verification results to the broker
In our case, the consumers are the iOS and Android mobile apps. Next, we’ll see how to specify the consumer API contract.
iOS App: Pact on Swift
Integrating Pact testing with an iOS application is pretty straightforward, consisting of a few simple steps:
Install the Pact mock service
Install the PactConsumerSwift library
Configure Xcode
Write your test
Upload the verification results to your Pact Broker
Install the Pact Mock Service
The Pact mock service spins up a local server that will generate Pacts when your tests are run. Your tests will provide a series of expectations (fields, http status, etc.) for an endpoint (for example, /v1/auth) that are compiled into a Pact file.
To install the Pact mock service, simply run the following:
Install the PactConsumerSwift Library
The PactConsumerSwift library is used by your application to conveniently interact with the mock service to generate pact files. It provides objects and methods that can be used to easily define expectations and pass these expectations to the mock server.
To incorporate the service into your project, simply add the following line to your Podfile:
Configuring Xcode
In order to have the local pact server spin up when your tests run, we’ll add pre-actions and post-actions to your project target.
Select your target and click Edit Scheme, select the Test phase, and add a new Run Script Action for both pre-actions and post-actions. It should look something like this:
For pre-actions, enter the following and save:
This will spin up the mock service on port 1234.
For post-actions, enter the following and save:
This simply stops the mock service.
Write Your Tests
A sample test is as follows:
This sets up the services that will be making the network calls. The MockService, provided by PactConsumerService, is initialized with provider and consumer keys — make sure these match the ones you previously used to set up your Pact broker.
The BootstrapClient is the network layer you are using in your application. Configure it with the base url provided by the MockService (which will point network calls to your local server).
We use the MockService to start building our expectations. These are customizable and you can add or remove expectations that fit your particular use case. We can specify a response body that we expect, headers, HTTP status, and other related fields.
Make sure the request parameters are configured properly for the request that you want to test as these will be used by the broker to reconcile your Pact with the backend results.
This part of the test runs your network call against the local server (remember that earlier we initialized an instance of our network service with the base url provided by the MockService). We run it within a closure passed into the runfunction on MockService so that the MockService can perform any configuration that it needs before running the actual call.
And that’s it!
Upload the Verification Results to Your Pact Broker
If you run your tests and they complete successfully, you’ll see that a new Pact file has been generated for you in your /tmp/pacts folder at the root of your project. Now, all we need to do is to upload this to your Pact broker. We’ll do it manually with curl but this can be added to the post-actions of your test phase as well.
And that’s it! If the upload is successful, you’ll see the new Pact file in your Pact broker. Next, we’ll look at a similar example from the perspective of the Android client.
Android App: Pact on Kotlin
Add the Pact gradle plugin:
Add a task to let Pact know how to publish to the broker:
Add these 2 test dependencies:
Define a Pact test which describe the interaction between the consumer and the provider. First, we define a Pact rule:
Create a test function to define the interaction:
Finally, we can define a pact verification test for this pact:
Now that the consumer contracts have been defined, we can start to write tests to ensure the contracts are fulfilled by the mobile BFF.
On the Mobile BFF: Pact in Kotlin
Once you’ve defined the contract via the consumer tests, you can move on to verifying the contract. In order to verify the contract, we need a way to start the application and send it the HTTP requests that are part of the contract. In our architecture, the provider is the mobile BFF.
There are two main approaches to verification:
Run the mobile BFF via the command line
Run the mobile BFF via an integration test
Pact provides tooling to accomplish both approaches. Since the mobile BFF makes requests to downstream services, we chose to verify using an integration test, since it would be easier to mock the outgoing HTTP requests. We also considered verifying the contract via the command line, but that would have necessitated building in a “test” mode to the mobile BFF and we thought that would be too much effort compared to simply using an integration test.
To set up Pact for the provider, start by configuring build.gradle:
This block of configuration sets up the system properties that Pact needs to find and download the necessary contracts from the broker. Since the contracts come from the broker, Pact will automatically try and upload the verification results when the tests are run. This should only happen on CI, otherwise, running the tests on your local workstation will overwrite the values stored in the broker.
Next, add the required dependencies:
Then, we can start writing a test to verify the contract. Start by creating a JUnit test (we’re using JUnit 5 in this example) and add the necessary annotations to indicate that it is a Pact test.
The @PactBroker annotation indicates that the test should fetch the contract from the broker using the system properties defined in build.gradle. @Provider tells Pact which provider this test is verifying. The last two annotations indicate that this is a Spring Boot integration test and instruct Spring to start the application on a random port. The selected port will be injected into the field annotated with @LocalServerPort.
The actual test is pretty simple.
We first configure the target in the PactVerificationContext. This is the URL where our application is running. Since the port field is injected at runtime, we use that port number to create the URL.
Next, we perform one last piece of configuration. Since we expect the consumers to make authenticated requests, we add the Authentication header into the requests that Pact makes to the mobile BFF. Finally, we call context.verifyInteraction to execute the request.
It may seem strange that a test doesn’t actually have any test methods or assertions. This is because the tests themselves live in the Pact files. The contract created by the consumer is the actual test. It specifies what a request looks like and what the response is expected to contain. The Pact framework takes this specification and automatically turns it into a more traditional unit test. The benefit of this approach is that new contracts can be added by the consumer and they will automatically get executed by the provider when its test suite is run.
Conclusion
Contract testing is a strong supplement to traditional functional testing (see contract vs. functional testing) and stays true even if API documentation becomes outdated.
Pact is relatively easy to set up and well-supported within the community. Stay-tuned for follow-up posts on the expanding use of contract-based testing in our systems and how we expand the concept to gRPC-based services!
Contract Testing with Pact was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
Today, DoorDash is launching in our 45th state: Maine! But where will our first stop in Maine be? Portland, one of the top food destinations in the country, of course!
Use code MAINEDASH for $5 off your first order of $15 or more, valid through December 1, 2018
Starting today, DoorDash will now be available in Portland, Maine in addition to nine surrounding cities including: Biddeford, Cape Elizabeth, Gorham, Higgins Beach, Old Orchard Beach, Saco, Scarborough, South Portland, and Westbrook.
With more than 320 restaurants on the platform such as national staples like Applebee’s, we’re thrilled to now offer local residents even more access to the foods they love, with the convenience of delivery.
To celebrate the debut of DoorDash in Portland, deliveries for the next month will be discounted to $1 delivery fees for all orders over $15. New users can also use the code MAINEDASH for $5 off their first order of $15 or more, valid through December 1, 2018.
Now Dashing in Maine was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
In California and around the country, too many Americans simply don’t have enough to eat. According to Feeding America, 1 in 8 Americans are food insecure, including more than 12 million kids. At the same time, more than one-third of our food supply goes to waste.
That’s why DoorDash launched Project DASH in January 2018 — to use the technology we’ve built, our resources, and our voice to act for sustainability and fight hunger.
Today, we want to highlight the leadership of the Northern California Recycling Association, which recently hosted the Zero Food Waste Forum in Berkeley to shine a spotlight on steps our home state has taken to help our most vulnerable neighbors while reducing food waste.
The Forum noted several recently-enacted laws in California to help combat waste statewide. These initiatives are an important part of the fight against hunger and food waste, and we believe they should be more widely understood to help dispel taboos around food donations.
Here’s a rundown.
AB 1826 (2014): To require certain businesses to recycle organic waste and local jurisdictions to implement organic waste recycling programs to divert waste generated by businesses.
SB 1383 (2016): To reduce the disposal of organic waste by 75%, with 20% recovered for human consumption, by 2025.
AB 954 (2017): To promote the use of clearer food date labels like “BEST if Used by” or “BEST if Used or Frozen by” to indicate freshness date labels, and “Use by” or “Use or Freeze by” to indicate safety date labels.
SB 557 (2017): To allow the donation of food and milk from school share tables. Share tables are a practice in school cafeterias: since children are picky eaters and often take more than they can eat, they are allowed to put what they don’t want on share tables.
AB 1219 (2017): To clarify and strengthen the Good Samaritan law that protect donors from liability when donating surplus food to people in need.
DoorDash is proud to partner with restaurants, food pantries, and food recovery platforms to connect surplus food to those who need it while helping businesses reduce waste and improve their operations.
Are you a merchant interested in donating surplus food through Project DASH, our initiative facilitating deliveries of food donations to local hunger relief agencies? Contact projectdash@doordash.com.
Holiday events can be stressful — from juggling food in the oven, to mingling with long-lost cousins you haven’t seen in years. But, of course, holidays are also an incredible time to connect with loved ones, reflect on the year and the things you’ve accomplished, and give back to those around you.
Thankfully, you can reduce some of that stress during Thanksgiving (or, if you prefer, Friendsgiving) to spend more time with friends and family and less time making a green bean casserole to feed 20. Because the year is 2018, and DoorDash is a thing.
To get into the spirit of things, we hosted our own Friendsgiving and Project DASH canned food drive on Nov. 8 in L.A. with chef Sam Talbot and Molly Yeh of Food Network’s Girl Meets Farm, and ordered in dishes from some of our L.A. partners available on DoorDash, including Mendocino Farms, Veggie Grill, Superba, and Pitfire.
Co-hosts Chef Sam Talbot and Molly Yeh“I like to spend a little more time baking, whether that’s making a pie or baking cookies,” Sam Talbot told us. “So I ordered a bunch of really delicious sides, some great salads, a few different chicken and turkey mains coming. I definitely cut some corners tonight so that I could spend some time with my friends — because, of course, it’s Friendsgiving.”
While we plated everything up, our guests got busy learning how to make apple pie with Molly and vegan and gluten cookies with Sam — something you can share with your guests, too, if you want to spend some quality time with your sugar, literally and figuratively. Just follow these handy recipes, courtesy of the chefs.
“My ideal Thanksgiving involves spending the entire day watching the parade and then helping my husband make his annual pumpkin pie, which is sometimes great and sometimes not so great,” laughs Molly. “I just love making pie, and focusing on the dessert table. So if I could just channel all my energy on that and then turn around and have turkey and stuffing appear, that is the dream!”Delivering Good Tip № 453: Sending thank you cards to your local food banks and shelters is a fun (and meaningful!) pre- or post-mealtime activity you can do with your Friendsgiving guests.
To help support our Project DASH initiative to fight hunger, we asked Friendsgiving attendees to come armed with cans of food to donate (and we highly encourage you to do the same this year at your own Friends- or Thanksgiving). Small steps can make a huge difference to reduce hunger across the country!
According to Feeding America, 1 in 8 Americans are food insecure, including more than 12 million kids. With Project DASH, we’ve been able to make more than 6000 deliveries of food to those in need around the U.S. And through our food rescue partnerships, we’ve saved over 300,000 pounds of high-quality food from going to waste. To volunteer at your local food bank this holiday season, visit Feeding America to learn more.
We hope that this holiday season you’ll be able to reclaim some time with a little help from your friends at DoorDash. Mashed potatoes? Check. Farm-fresh vegetables. Check. Pies on pies on pies? Definitely. Roast turkey? You’ll probably want to do that one yourself, but if not…you know where to find us.
Happy Friendsgiving from our friend-family to yours!
Order a few sides via DoorDash, and you’ll free up the oven for everybody’s favorite course: dessert. Involve your guests with the baking while you sit back and relax knowing that your food is on its way.
Molly Yeh, food blogger and host of the Food Network’s Girl Meets Farm, and chef Sam Talbot shared their delicious dessert recipes with us at our Friendsgiving celebration in L.A. on Nov. 8. Read on for both recipes.
Molly Yeh’s Hawaij Apple Pie
The way that I like to show people that I love them is by baking for them. I love making cute cookie boxes, or something that’s homemade and freshly baked and has some fun quirkiness to it — just anything that brings a smile to people’s faces. It’s what I love putting my time into. The Hawaj apple pie is made with hawaij, which is a Yemeni spice mix that is heavy on the cardamom. It’s kind of like pumpkin spice and goes great with apples. The crust is really thick and flaky.
— Molly Yeh
For the filling 8 apples, washed and dried Juice of 1 lemon 1 cup dark brown sugar 2 tsp. hawaij 1⁄4 tsp. cinnamon 3 tb. cornstarch 3⁄4 tsp. kosher salt 1 tsp. vanilla extract
For the assembly 2 tb. Land O’ Lakes® European-Style super premium unsalted butter 1 egg, lightly beaten 1 1⁄2 tb. turbinado sugar Flaky salt, optional
For the crust 1 tb. apple cider vinegar 6 tb. water 2 1⁄2 cups all-purpose flour, plus more for dusting 1 tb. sugar 1 tsp. kosher salt 1 cup Land O’ Lakes® European-Style super premium unsalted butter, cold and cubed
For the cardamom whip 1 cup Land O’ Lakes® heavy whipping cream 1⁄4 cup powdered sugar 1⁄4 tsp. ground cardamom
Chop the apples into 1⁄4” slices, place them in a large bowl, and toss with the lemon juice. Add the brown sugar, hawaij, cinnamon, cornstarch, and salt and mix to combine. Mix in the vanilla and boiled cider. Cover the mixture and let it sit at room temperature for an hour or so (while you make the pie dough).
To make the dough, combine the cider vinegar and water in a measuring cup and stick it in the fridge. In a large bowl, combine the flour, sugar, and salt. Add the butter and use your hands to toss it with the flour and pinch the butter into flat sheets, incorporating the butter so that about 75% of the mixture is mealy. The rest of the mixture should have some slightly larger, pea-sized bits of butter. Drizzle in the vinegar and water and mix with your hands until the mixture comes together to form a dough.If it seems dry, add a bit more water, a few drops at a time, until it comes together. Turn it out onto a clean surface, using your hands to press on any stray crumbs, and divide the dough in half. Pat the halves into discs, wrap with plastic wrap, and refrigerate for 30 minutes.
Adjust a rack to the lower third of the oven and preheat the oven to 400oF. On a floured surface, roll out one of the discs to a circle just larger than 12 inches. Place it in a 9” pie plate and refrigerate it for 15 minutes.
Meanwhile, you can roll out your top crust. For a basic top crust roll out the remaining dough disc on a floured surface until it’s a little larger than 10”.
Fill the pie crust with the apples and pour the juices over it. Chop the 2 tbsp. of butter into small pats and distribute it all over the top. Place the top crust over the pie, pinch the edges to seal, trim any stray bits with kitchen shears, and then fold the edges over and crimp. Cut 4 slits in the top. Give the edges a little hug to make sure they are sitting snuggly on the rim of the pie pan otherwise they could fall off in the oven.
Freeze the pie for 15 minutes. Brush it with egg wash, sprinkle with turbinado sugar and flaky salt, if desired, and then place it on a baking sheet and bake until the internal temperature reaches 195oF. Begin checking for doneness at 45 minutes. Let it cool slightly.
To make the cardamom whip, combine the heavy cream, powdered sugar, and cardamom in a large bowl or stand mixer fitted with a whisk attachment. Beat on medium-high to stiff peaks.
Sam Talbot’s Vegan Chocolate Chip And Salted Chili Cookies
At my restaurants in the past, I offer classic comforts that people already know and love, but I update the recipes so everyone can enjoy them. I have a foundation and we inspire millions of people living with type 1 and type 2 diabetes. I like show people who are newly diagnosed that diabetes doesn’t have to be this big, dark cloud that you have to succumb to, but that you can have really delicious things like vegan cookies that are not made with white sugar, that are sweetened with apple cider or apple sauce. These crazy delicious cookies put sweet and savory together in the best way. Trust.
—Sam Talbot
Hands-on prep: 25 minutes Total: 50 Minutes Makes 3 Dozen cookies
Ingredients 2 cups (about 8.5 ounces) organic flour 1 ¼ teaspoon baking soda 1 1/2 teaspoon smoked ancho chili powder 1 1/2 teaspoon fine sea salt, plus more to finish 1 3/4 cup coconut sugar 1/4 cup date sugar ½ cup coconut oil ¼ cup organic apple cider 2 tablespoons applesauce or apple puree 1 to 2 tablespoons almond milk or water, if needed 1 3/4 cups dark chocolate chips (70% cacao)
1. Preheat the oven to 350°F. Line 2 baking sheets with parchment paper.
2. Whisk together the flour, baking soda, chili powder, and salt in a bowl.
3. Combine the coconut and date sugars, coconut oil, cider, and applesauce in a bowl. Beat with an electric mixer at medium-high speed until well blended. Gradually add the flour mixture, beating at low speed just until blended. (If the dough looks dry, beat in 1 to 2 tablespoons almond milk or water, a little at a time, just until the dough comes together.) Stir in the chocolate chips.
4. Drop the dough by rounded spoonfuls onto the prepared baking sheets, 2 inches apart.
5. Sprinkle the dough with the sea salt.
6. Bake in preheated oven, in batches, until the edges are set, 10 to 12 minutes. Cool the cookies on wire racks.
Friendsgiving: All About Dessert was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
Don’t get fried on Black Friday — get fries. As in, a FREE order of fries. That’s right, Black FRYday is here and we’re pretty sure it’s gonna be your new favorite holiday.
Starting at 6am until 11:59pm PST on Nov. 23, enjoy free fries from our friends below when your order is $5 or more with code BLACKFRYDAY.
Limited to the first 15,000 customers (aka you still gotta hustle for this one, but you can do it while you’re in your PJs). Terms apply.*
No lines, no crowds, just crispy, fried deliciousness.
Happy FryDay!
*Offer valid for one (1) order of fries from participating merchants. Offer valid only on 11/23/18 between 6am and 11:59pm PT at participating locations, while supplies last. Valid only on orders with a minimum subtotal greater than $5. Not valid for pickup or dine-in. Does not apply to fries included in combo meals. Limit one per person. Fees, taxes, and gratuity apply. All deliveries subject to availability. Must have or create a valid DoorDash account with a valid form of accepted payment on file. No cash value. Non-transferable. Use promo code BLACKFRYDAY to redeem.
Black FryDay means FREE fries was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
You may recall last year we joined forces with The Cheesecake Factory to give away 10,000 FREE slices of cheesecake and sold out almost immediately. This year, we wanted to make sure we did things bigger (4x bigger!) and better, and get more slices of delicious cheesecake into the hands of DoorDash fans across the country. Well…this is major: On Wednesday, December 5, we’re partnering with our friends at The Cheesecake Factory to give away 40,000 slices of FREE cheesecake in celebration of their 40th anniversary. This delicious freebie is only available through the DoorDash app and website.
What: Have your cake (and eat it, too) with one free slice of Cheesecake Factory cheesecake per customer. No delivery fees, service fees or subtotal minimum required…this means you don’t have to order anything and can still get your slice of cheesecake for free.
When: On December 5 starting at 11:30 am local time while supplies last.
How: Open up the DoorDash app on your mobile phone or desktop and add one slice of your favorite Cheesecake Factory cheesecake flavor to your cart. Use promo code FREESLICE at checkout and your cheesecake will be on its way.
Where: Get yourself a free slice of cheesecake via the DoorDash website or app from all participating Cheesecake Factory locations nationwide.
That’s not all. To continue the celebration please enjoy no delivery fees for the rest of the week when ordering from The Cheesecake Factory.
“What would happen if we removed statement timeouts in our Postgresql databases?” That’s one of the questions asked in a management meeting. At the time I only responded that it would be bad — it would cause problems and make it harder to debug. However, I realize now that this is a topic that many people don’t dig deeply into, so I’ve decided to share some of best practices in DoorDash.
So, what would happen? In the best case, we may notice nothing for a few weeks. However, in a fast growing company like DoorDash with hundreds of engineers contributing code everyday to a complicated system, we would eventually have an outage which is introduced by unbounded resource usage which can be easily captured if not prevented by a proper timeout setting.
We live in a realistic world and resources are always limited. For actions like creating a connection, making databases queries or executing functions, timeout itself won’t improve efficiency of any of them. However, timeout creates an upper bound, stops outliers from causing outsized damage.
Normally timeout has a direct impact on site latency, while site health is indicated by several signals — throughput, latency, error rate and saturation. If the exception or return code is captured correctly, you will see the signal in the error rate. If you don’t have enough capacity, you may see signal in saturation, e.g., web requests will queue up and throughput will drop. Similarly, if you don’t have timeout limits, the error rate won’t increase while the resource consumption continues to grow . It will just be a matter of time before the system becomes saturated and throughput drops .
With good timeout settings, damage can be kept under control and more visible. Without timeout setting, your system may fail in unexpected ways and people will struggle to figure out why.
How to Set Timeout
Everything should have a timeout, but what should the value be? It is complicated. For example, Postgresql has various timeout related settings — statement_timeout, lock_timeout, keepalives related configurations, idle_in_transaction_session_timeout, etc. Different domains like queuing systems and web servers have their own sets of timeouts. A good way to think about it is to do it in an architectural way considering the upstreams and downstreams. Tower of Hanoi Timeouts presents a great rule of thumb for structuring nested timeouts. tl;dr:
No child request should be able to exceed the timeout of the parent.
No matter the timeout is about connection creation, lock or query/transaction execution, please make sure no child request should be able to exceed the timeout of the parent. Timeout normally means some process would be forced to exit. Parent level timeout would hide the issues which could be caught at the child level and increase the difficulty to root cause issues.
Specifically for Databases
Timeouts are oftentimes overlooked in the world of databases. A simple explanation is that lots of developers are very optimistic and trying to live in an ideal world of infinite resources. Among all of the resources, CPU and I/O are normally the most impacted by slow queries, which can be gated by statement timeout settings in Postgresql. For databases, whenever CPU or I/O is saturated, it’s a disaster. We tested some of our most resource intensive queries on our staging databases and AWS Performance Insights suggested we need 1000x bigger instance type to support it, which of course is not available in AWS (yet).
In AWS Aurora, timeout can be even more important than in traditional RDS. unexpected I/O may add too much pressure for the cluster to handle, forcing replica nodes to restart in order to recover to a healthy state. Aurora has an interesting architecture. All nodes, master or replicas, are all sharing the same underlying storage layer. You will still see millisecond level replica lag which isn’t really related with data replication. It takes the replicas sometime to update their memory for things like Btree index. When Aurora replica feels it is lagging to much, a restart will be triggered to get things consistent quickly.
Statement timeout tuning in DoorDash
Inspired by a talk with our friend Marco Almeida, who lowered the postgresql statement timeout to 1s at Thumbtack, we started tuning our statement timeout setting one year ago. The original setting was 30s which was even longer than our uwsgi Harakiri setting. Currently, our main databases’ default statement timeout setting is 2s, and it is still a work in progress to lower it even more.
We use several tools to gain visibility and insight into how our statement timeout tuning affects our system PgAnalyze helps us to gather info from pg_stat_activity so that we know how long each query takes. Exceptions caused by transactions hitting statement timeout are visible to us in Sentry and NewRelic. Error rate is reviewed weekly and we have organizational support to fix the errors since it is so important. It improves stability, performance and saves money. In this way we create a feedback loop to make our system more and more stable.
Proper timeout settings contribute to production stability and debuggability. They are important. Spend time to improve the configurations if you care about reliability and do not think about removing them.
At DoorDash, we’ve always viewed delivery as the intersection of a math problem and a human problem. Experimentation is in our DNA. That’s why today, we’re pleased to announce our partnership with General Motors’ Cruise Automation, an industry leader in autonomous vehicles. Starting in early 2019, DoorDash and Cruise will test the first food deliveries using autonomous vehicles in San Francisco.
Together with Cruise, we’re looking to answer three primary questions:
What key technical and infrastructure challenges exist with autonomous delivery?
How can autonomous delivery positively impact merchants, dashers, and customers?
Are autonomous vehicles capable of achieving the same quality standards DoorDash customers have come to know and love?
We’re kicking off our pilot in San Francisco, a complex and intricate city where Cruise has been testing vehicles for the past three years. To begin, we’ve built a runner system to move orders from the merchant to the autonomous vehicle. Then, the customer will be notified when the autonomous vehicle is approaching the customer address.
In partnership with Cruise Automation, we look forward to scaling and improving the delivery experience for our merchants, dashers, and customers.
Curious to learn more about the future of last-mile delivery? Join our team to help us decide which new technologies we should pilot next.
What happens when you combine an all-American love of barbecue with a global tradition of cooking over an open fire (3 billion people strong, according to National Geographic)? You get International Smoke, a restaurant devoted to all things fire-related in dishes that span the globe, from smoked Korean short ribs to St. Louis cut pork ribs.
Smoked Pork Ribs from International Smoke
Now available exclusively on DoorDash, International Smoke is the brainchild of award-winning Chef Michael Mina and bestselling cookbook author and lifestyle expert Ayesha Curry (and ICYMI, she’s also married to Golden State Warriors MVP, Stephen Curry).
We chatted with Chef Mina about the vision for International Smoke and got his inside tips on the best things to order when you’re watching the game.
How did you and Ayesha get your start working together?
Ayesha and I met and became friends and realized we shared a lot of similarities. We both draw inspiration from our travels, and share a similar love of sharing food with our family and friends. We talked about collaborating on a project, and the rest is history!
What is the vision for International Smoke and the dishes you’re offering?
Every single culture utilizes fire, grilling and smoke to cook. We wanted to create a menu that highlighted grilling in countries all around the world. Ayesha and I both believe that food brings people together, and we wanted to create a menu and experience that does just that.
You’re hosting a tailgate party at home — what do you order?
We have so many items that are great for a crowd to share. Some of my favorites are the Rib Tip Mac & Cheese, the salads (great for people to experience the lighter side of barbecue!) and the Duck Wings. The ribs are of course one of our signature items, but the Sinaloa Chicken is also one of my favorites.
International Smoke’s Sinaloa Chicken
What are International Smoke’s plans for the coming year, and beyond?
In addition to our San Francisco and Houston locations, we are excited to be opening in Aventura (just north of Miami) in February 2019, and in Del Mar, California in Spring 2019.
Repeat after us: “Your favorite restaurants come to you.” The most delicious premise on the planet, right? No matter what you’re doing, no matter where you are (okay, within reason!), you can get delicious at your door with DoorDash.
In fact, we’re so excited about this “Delicious at Your Door” idea, we’re launching our first-ever national ad campaign around it in partnership with ad agency M/H VCCP — TODAY!
We’re giving you a sneak peek at the 30-second ad spot below — and you can also catch “Delicious at Your Door” on TV starting January 14.
So if you’ve ever been swamped at work, too busy to make dinner, or craved sushi at the most inconvenient moments (hi, new moms in the maternity ward), we’re pretty sure you’ll be saying to yourself “hard SAME” after you see this. It’s okay. You just need a little #DeliciousAtYourDoor.
Plus, stay tuned for all sorts of fun challenges on our social channels, all with the chance to win exclusive offers. Follow @DoorDash on Facebook, Instagram and Twitter for details, and get ready for the action on January 18.
Today, DoorDash is excited to announce a major milestone: five and a half years and 360 million miles of deliveries later, we are the first on-demand destination to offer food delivery in all 50 states!
DoorDash is now live in its 48th, 49th, and 50th states with food delivery operations underway in Anchorage, Alaska; Billings, Bozeman, and Missoula, Montana; and Sioux Falls, South Dakota. We also launched in Fargo, North Dakota; Morgantown and Huntington, West Virginia; and Cheyenne, Wyoming. What does this mean for DoorDash fans? You can now order from your favorite restaurants nationwide, from national staples like Wendy’s, Chick-fil-A, and Chipotle, to beloved local spots.
Today only (1/16/19), to celebrate this exciting launch, DoorDash is offering 50 cent deliveries for all customers in all 50 states. The promotion is valid for one day only on orders of $10 or more, from 12:01 a.m. PT through 11:59 p.m. PT on Wednesday, January 16. Simply enter the promo code FIFTY at checkout*. ____
*50 Cent Delivery Fee Terms: Offer valid 12:01 a.m. to 11:59 p.m. 1/16/19. Valid only on orders with a minimum subtotal of $10 or higher. Valid only in the US. Limit one per person. Other fees (including service fee), taxes, and gratuity still apply. All deliveries subject to availability. Must have or create a valid DoorDash account with a valid form of accepted payment on file. No cash value. Non-transferable. Use promo code FIFTY to redeem. See full terms and conditions at dasherhelp.doordash.com/offer-terms-conditions.
Now Dashing in All 50 States was originally published in DoorDash on Medium, where people are continuing the conversation by highlighting and responding to this story.
On the heels of our most pivotal year at DoorDash, it’s no secret that we have ambitious goals ahead, and we will need a lot of engineering prowess to pull it off. That’s why today, we’re thrilled to announce Ryan Sokol as DoorDash’s new VP of Engineering. Ryan will lead our engineering team, including the product, infrastructure, and data science teams, and will also serve as a member of the Management Team, reporting into Tony Xu, our CEO/co-founder.
Ryan joins us from Uber, where he led and scaled Uber Eats from its inception, overseeing a team of 200+ engineers, and serving on the Uber Eats executive leadership team. Ryan was previously head of engineering at Voxer and has served stints at Genentech, IBM and smaller technology consultancies including his own.
Ryan comes to DoorDash at a critical inflection point in our business following a breakout year. In 2018 we 5xed our geographic footprint from 600 to 3,300 cities and tripled our valuation to more than $4 billion. We doubled the engineering team to 200+ last year, working on a variety of problems from machine learning applications to logistics to personalizing consumer experiences. This year, we plan to double our team again and continue on our trajectory as the fastest growing last-mile logistics company in the space.
To get to know him better, here is a quick Q&A with Ryan:
Your number one reason for joining DoorDash?
I’m joining DoorDash to help an amazing team reach new heights. All of my interactions and diligence with those I trust would lead me to believe that DoorDash is poised to be one of the most influential companies on the planet. I’m most looking forward to learning from some of the best and applying my accumulated knowledge to help DoorDash fast forward its tech to the future and realize its full potential as soon as possible.
Any contrarian viewpoints that have helped you navigate your career?
I have always stuck out like a sore thumb in manager meetings throughout my career and like to think of myself as an engineer in manager’s clothing. I’m heavily biased for action and believe that an actionable decision is almost always better than deferment. I’ve been a fierce advocate for diversity in engineering before it was cool and have found myself swimming upstream for most of my career in this regard. I’m irked by waste, repetitive manual tasks and bullies. On the flip, I love optimizing processes, software and relationships to be as efficient as possible in the aim of achieving greatness.
What are you reading right now?
“7 Powers” by Hamilton Helmer at Tony’s suggestion and “Becoming” by Michelle Obama, because she’s awesome.
Most important career advice you’ve received?
Interestingly I found that meaningful advice rarely comes when you ask for it, but reflection can be a powerful tool in steering one’s career. Having the discipline to look back to seek, admit and own one’s failures is the best way to grow. Doing this in the surroundings of an accountable but blameless culture makes it even easier. Highly accountable and blameless cultures are hard to come by and if you ever find one, hang on tight because good things are bound to happen.
Tell us one fact about you somebody couldn’t find on your LinkedIn or resume.
I used to have an irrational obsession with speed, which manifested itself in me taking every vehicle I owned to its maximum velocity.
I aspire to be a classic car mechanic when I’m super old—as opposed to regular old like I am right now. Problem is, I’m not good at it.
I want to run for local office in the next decade.
You have our vote, Ryan. Welcome to the DoorDash family!
Ahead of next Sunday’s big game, we’ve partnered with Burger King® exclusively to delight fans nationwide with a surprise unlike any you’ve ever seen before…
What: Limited edition, first-of-its-kind Mystery Boxes delivered straight to your door. Once you receive yours, keep the contents of your Mystery Box a secret and follow instructions inside to join in on the fun in anticipation of game day!
When: Starting today through February 4th, local time while supplies last.
How: Claim your own Mystery Box by heading to our website or mobile app and entering promo code MYSTERYBOX on all orders of $10 or more from participating local Burger King® restaurants.* Checkout and your Mystery Box will be on its way. We’ll also be offering $0 Delivery Fees** when you order Burger King® today through the day after the Big Game.
Where: Get yourself a Mystery Box via the DoorDash website or app from all participating Burger King® locations nationwide.
**$0 Delivery Fee Terms: Valid through 2/4. $10 order minimum. Other fees (including service fee), taxes, and gratuity still apply. See full terms and conditions at doordash.com/mysterybox.
Holiday events can be stressful — from juggling food in the oven, to mingling with long-lost cousins you haven’t seen in years. But, of course, holidays are also an incredible time to connect with loved ones, reflect on the year and the things you’ve accomplished, and give back to those around you.
Thankfully, you can reduce some of that stress during Thanksgiving (or, if you prefer, Friendsgiving) to spend more time with friends and family and less time making a green bean casserole to feed 20. Because the year is 2018, and DoorDash is a thing.
To get into the spirit of things, we hosted our own Friendsgiving and Project DASH canned food drive on Nov. 8 in L.A. with chef Sam Talbot and Molly Yeh of Food Network’s Girl Meets Farm, and ordered in dishes from some of our L.A. partners available on DoorDash, including Mendocino Farms, Veggie Grill, Superba, and Pitfire.
Co-hosts Chef Sam Talbot and Molly Yeh“I like to spend a little more time baking, whether that’s making a pie or baking cookies,” Sam Talbot told us. “So I ordered a bunch of really delicious sides, some great salads, a few different chicken and turkey mains coming. I definitely cut some corners tonight so that I could spend some time with my friends — because, of course, it’s Friendsgiving.”
While we plated everything up, our guests got busy learning how to make apple pie with Molly and vegan and gluten cookies with Sam — something you can share with your guests, too, if you want to spend some quality time with your sugar, literally and figuratively. Just follow these handy recipes, courtesy of the chefs.
“My ideal Thanksgiving involves spending the entire day watching the parade and then helping my husband make his annual pumpkin pie, which is sometimes great and sometimes not so great,” laughs Molly. “I just love making pie, and focusing on the dessert table. So if I could just channel all my energy on that and then turn around and have turkey and stuffing appear, that is the dream!”Delivering Good Tip № 453: Sending thank you cards to your local food banks and shelters is a fun (and meaningful!) pre- or post-mealtime activity you can do with your Friendsgiving guests.
To help support our Project DASH initiative to fight hunger, we asked Friendsgiving attendees to come armed with cans of food to donate (and we highly encourage you to do the same this year at your own Friends- or Thanksgiving). Small steps can make a huge difference to reduce hunger across the country!
According to Feeding America, 1 in 8 Americans are food insecure, including more than 12 million kids. With Project DASH, we’ve been able to make more than 6000 deliveries of food to those in need around the U.S. And through our food rescue partnerships, we’ve saved over 300,000 pounds of high-quality food from going to waste. To volunteer at your local food bank this holiday season, visit Feeding America to learn more.
We hope that this holiday season you’ll be able to reclaim some time with a little help from your friends at DoorDash. Mashed potatoes? Check. Farm-fresh vegetables. Check. Pies on pies on pies? Definitely. Roast turkey? You’ll probably want to do that one yourself, but if not…you know where to find us.
Happy Friendsgiving from our friend-family to yours!
In California and around the country, too many Americans simply don’t have enough to eat. According to Feeding America, 1 in 8 Americans are food insecure, including more than 12 million kids. At the same time, more than one-third of our food supply goes to waste.
That’s why DoorDash launched Project DASH in January 2018 — to use the technology we’ve built, our resources, and our voice to act for sustainability and fight hunger.
Today, we want to highlight the leadership of the Northern California Recycling Association, which recently hosted the Zero Food Waste Forum in Berkeley to shine a spotlight on steps our home state has taken to help our most vulnerable neighbors while reducing food waste.
The Forum noted several recently-enacted laws in California to help combat waste statewide. These initiatives are an important part of the fight against hunger and food waste, and we believe they should be more widely understood to help dispel taboos around food donations.
Here’s a rundown.
AB 1826 (2014): To require certain businesses to recycle organic waste and local jurisdictions to implement organic waste recycling programs to divert waste generated by businesses.
SB 1383 (2016): To reduce the disposal of organic waste by 75%, with 20% recovered for human consumption, by 2025.
AB 954 (2017): To promote the use of clearer food date labels like “BEST if Used by” or “BEST if Used or Frozen by” to indicate freshness date labels, and “Use by” or “Use or Freeze by” to indicate safety date labels.
SB 557 (2017): To allow the donation of food and milk from school share tables. Share tables are a practice in school cafeterias: since children are picky eaters and often take more than they can eat, they are allowed to put what they don’t want on share tables.
AB 1219 (2017): To clarify and strengthen the Good Samaritan law that protect donors from liability when donating surplus food to people in need.
DoorDash is proud to partner with restaurants, food pantries, and food recovery platforms to connect surplus food to those who need it while helping businesses reduce waste and improve their operations.
Are you a merchant interested in donating surplus food through Project DASH, our initiative facilitating deliveries of food donations to local hunger relief agencies? Contact projectdash@doordash.com.