Margaret Stanton and Henry Molina.
Photo: Courtesy of Good & Nice
Margaret Stanton and Henry Molina.
Photo: Courtesy of Good & Nice
Henry Molina and Margaret Stanton are the couple behind Good and Nice, a brand-new spot in Silver Lake specializing in Chinese food and natural wine. They’ve only been open for about a month — debuting the delivery and takeout operation in the midst of California’s statewide business shutdown. Here, Molina talks through what it’s like to launch a new business during the coronavirus pandemic.
We did not plan on opening our restaurant in a pandemic. There’s just no way Margaret or I could’ve known what the scope of this would end up being. None at all.
Before the shelter-in-place order and the quarantine hit, I’d just left the Nomad LA, where I was executive pastry sous-chef and running some recipe development, and was consulting for a small group of restaurants. Margaret ran operations at Botanica. We were already planning what our future project would be when we struck out on our own. There was a fully realized, elaborate menu. Table service, wine service. All of it. The plan was to take over a space we’d been looking at in Silver Lake.
One of the major things we’d thought about were costs. I’m obviously not the first person to attempt to go full Math Lady on an unbuilt restaurant, but my experience ranges from making fried chicken in Tallahassee, to Five Leaves and Mission Chinese Food, to Eleven Madison Park and Noma. I’ve been in the weeds of costs and ordering for almost a decade. And I’d seen restaurants that had huge, elaborate openings. They spent all of this money on these build-outs and these huge staffs; they spent all this time prepping for these huge openings, started white-hot, and then could never recoup those costs.
I’ve been asking myself for years: How do we change this? How do we make this different? How do we minimize initial start-up costs for a young chef or restaurateur? How do you do this without putting your whole life on the line, and potentially, you know, ruining everything? How do you give yourself a chance without risking everything in the process?
I constantly think about how Robert Rodriguez made El Mariachi. It was: He knew an actor. And he had a bus, a turtle, and a guitar. Instead of thinking, I need to go out, and get all of this stuff to make this crazy movie, it was, I only have these five things, what kind of awesome movie can I make out of them? It started his entire career. A weird inspiration for a Jewish guy from Tallahassee whose dream is to make Szechuan food using fermentation techniques he learned in Denmark, I know, but there it is.
The whole idea behind Good & Nice was we’ve got knowledge, resources, and friends. What can we use to get this going in a way that’s beneficial to everyone? Going out on your own, leaving something like a comfortable salary and a well-paying gig? Scary as shit. Obviously. Needless to say, it took a lot of planning to become fully comfortable with the idea of doing this thing.
Mokonuts in Paris was an inspiration for sure. It’s a couple, with a cook helping them, and they’re there all day. They do every single piece of it. And the way that they make it work is by making the menu beneficial to that scenario — making it executable for that number of staffers (three) and covers (a sub-20 room) by using the same ingredient multiple times throughout those dishes, and by having a nice wine program to supplement that. That concept hit home for us. It was everything we were thinking about doing already.
And oh, yeah: We bought a shit ton of natural wine in Paris.
When the pandemic hit, I got put out of work first. Once Margaret’s job shut down for the time as well, then we both had the time to fully think about this project. But also, let’s be real: For the first week we did absolutely nothing. We finally had enough free time to catch up on all of the things that we’d been missing out on: hobbies, playing with our dog Pretzel, going on hikes, spending quality time together, Tiger King. All that stuff.
After a week, we were itching to get back in the game. Which is how it became: What if we just go for it? It’s not like we woke up one day and said, Let’s do this shit. It was a series of conversations. We figured out a way to try this to the extent where, if it tanked, it wasn’t going to totally ruin us financially. So it was, you know, I guess we’ll just take a shot at it.
The questions that came up were exciting, because they were so familiar, even in this new world. Where would it be? What would it be like? Will it just be takeout? Is it only delivery? What kind of food? Is it still going to have a Szechuan profile? What’s the price point gonna be? Are we allowed to sell alcohol?
Here’s the part where we get to claim insanely good fortune: We were offered a space to test this out in, no strings attached. We couldn’t have done this without that. A lot of people aren’t fortunate enough to be in that situation. We know how lucky we are.
Once we got in the space, we wanted to make a menu not just adaptive to, but benefiting a delivery-only operation. We needed (a) to serve food that’s easy to execute and get out the door quickly — the less time a dish’s “pickup” takes, the more dishes we can get out the door; (b) to serve food that holds up after an approximately 30-minute delivery time. Flavors set over time, right? We were gonna plan with this advantage in mind; and (c) we needed to come up with a process to serve excellent food that we couldn’t taste as we fired dishes.
That last one is the key to what we’re doing. We knew every dish we fired would have to be seasoned and tasted long before service, because we already knew we were going to be wearing masks the entire time we cooked and weren’t going to have the chance during service to taste our food.
I had the opportunity through a research grant to go to Copenhagen and work at Noma for a handful of months a couple of years back, and learned a bunch about fermentation and food preservation. What we’re doing is rooted in a lot of what I learned there: the sauces, the marinades, the curing, the pickling, the brining, lactic acid ferments, other long-form ferments — that’s where all the research and time went.
We did some weird experiments. What restaurant builds the menu by cooking things and letting them sit in a takeout container for 30 minutes? It was a shit ton of trial and error, emphasis on the error, for sure. But now I’m confident that the food could be reviewed today, and it would hold up in a way that we would all be proud of.
Once we opened, we started to get orders immediately. Not at an overwhelming pace, but, you know, our friends came out to support us from day one. Because there are so few moving parts in this scenario, because we’re talking about a relatively small number of menu items, it wasn’t long before things started to click. The ticket times were getting faster. After some hiccups, we were establishing our own flow, everyone was vibing, things were clicking and it was amazing. It sounds insane to even say.
A typical spread from Good & Nice.
Photo: Courtesy of Good & Nice
We came up with small innovations that we knew would help get the word out. A goodie bag: just a small kit with a personalized note and some candy — stuff like that. It was all Margaret’s idea. Who doesn’t like getting a nice, sweet, earnest surprise? People started Instagramming the goodie bags. Word kept getting out.
It was mostly just me cooking, and now we have enough business where we hired a second cook. Didn’t see that one coming.
We still talk a lot about the future of restaurants. Will there even be a dining room in our future? In anyone’s immediate future? Is that the financial model of having a dining room even going to be viable, and for whom, and at what price point?
Again: We were lucky with the space. And we’re also working our asses off. We’re getting up at 6, 7 a.m. and working through the end of dinner service just to rush home, have dinner, go to sleep, and get right back up and go shopping for food for the next day.
We love restaurants. We love the restaurant community here. We love L.A. And, just faced with all of these problems, about how to go forward, we just wanted to do whatever we could to keep our own dreams alive. We want to keep our passion and craft from dying. We want there to be a place for small restaurants with creative food in this world. I don’t know how it looks. I’d like to think we’re working on it. If we can represent a sliver of hope there, well, that’s pretty cool.
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]