Salad Days

One man's inspiring quest to map his lunch.

Photo by Sven Scheuermeier on Unsplash
Photo by Sven Scheuermeier on Unsplash

Photo by Acronym via Adobe Stock

Creature of Habit

If you know me, you know I'm a creature of habit. As a slave to my routine, I could give Sheldon Cooper a run for his money. My t shirt power-rotation goes five deep, boasting a dazzling spectrum of colors from gray to navy blue. My Monday looks very much like last week's Monday. My Tuesday is a virtual clone of the Tuesday before...

A graph of my month would resemble an EKG.

An EKG graph chart showing regular intervals of activity.
An EKG graph chart showing regular intervals of activity.

Paging Doctor Excitement

Sweetgreen

Animated GIF depicting the author rounding a corner and walking into his neighborhood Sweetgreen establishment.
Animated GIF depicting the author rounding a corner and walking into his neighborhood Sweetgreen establishment.

Cargo Pants Cuckoo Clock

Not surprisingly, my feeding pattern is pretty predictable.

When it comes to lunch, I'm a serial monogamist -- unswervingly devoted to a particular eating venue, until one day the spell is broken, or the place closes down. For the record, more eating places have broken up with me than the other way around.

My current lunchtime haunt, whenever I'm in Esri's Rosslyn office, is Sweetgreen on North Lynn. That's me to the left, caught in my own personal Groundhog Day. To paraphrase the Bee Gees: You can tell by the way I use my walk, I'm a salad man. No time to talk.

There's a Sweetgreen a mere block away from my office!

The Board

I resist the trend of using an app to order my food for pick-up. Why? Two reasons:

  1. Is it just me, or does anybody else worry that the world is becoming one giant vending machine?
  2. I prefer my jalapeno vinaigrette to be mixed in, which I can stipulate in-person; whereas the app offers no such option.

Consequently, at approximately 1 PM, you'll find me in line with the rest of the dinosaurs and Type A's. If you stand in line often enough, you'll eventually take note of the blackboard that lists the various ingredients and their origins.

If you put dots on a map for a living, this board will haunt your dreams...

A giant chalkboard hangs in the Rosslyn, VA Sweetgreen, with the title "We source from farmers we know + partners we trust." Below the title is a list correlating each ingredient with its farm of origin (e.g. "Carrots...Kern Ridge, CA").

"Map me," it whispers...

If you put dots on a map for a living, this board will haunt your dreams...

One day, when I could stand it no more, I snapped this picture and brought it back to my desk. I would map my salad if it was the last thing I did (before my coffee break).

Working with the data

There are lots of acceptable formats for geographic data (e.g. GeoJSON, CSV, etc.). Alas, "chalk board" isn't one of them. So the first thing to do is get that data off the board and into digital form. No way around it -- there will be typing.

You might think that one chalkboard = one spreadsheet. But the way I see it, there are actually two categories represented on the board: Farms and Products. So I set out to create a table for each category.

Farm to table (get it?)

The farm table is a pretty simple matter, but it involves some tedious labor for me. Since "The Board" only provides U.S. state in the way of location, I'm forced to hunt down each farm's town via web search. I then use a geocoder to convert town to coordinates.

Table listing farms and corresponding location info, including the following columns: "Name", "City", "State", "Lat", "Long".

No farm can escape my sleuthing.

Lettuce format the ingredients

Table correlating each ingredient (e.g. "Chicken") with its provider (e.g. "Alten Harim").

I see you, Jay Leaf!

When I'm formatting data, I often use a nifty website called Airtable.com. Airtable features a cartoonishly simple mechanism for creating "look-ups" between two tables. This makes creating the product table easy-peasy (can't stop, won't stop). As I enter each product, I simply type the product name and then use the table editor to point to corresponding location record.

Here's where I begin to reap the benefit of keeping farm locations in a separate table: Some farms provide multiple products (note Jay Leaf's Arugula/Mesclun/Spinach triple threat). Using look-ups enables me to store the location data once, instead of entering it for each product. Not only does this make data entry easier; it also saves lots of headaches if I ever have to go back and change some location attribute.


The Map

Here's the map of my fever dreams. It uses the tables discussed above to show the distribution of farms that supply Sweetgreen with various ingredients. I used  Esri Leaflet  to develop this interactive. If you'd like to see the truly geeky details, you can take a  peep the repo .

BTW, the lines just indicate that all ingredients are flowing to my particular Sweetgreen, near Washington, DC. (Psst... You can interact with this map below, or  open the map in a new tab .)

Salad Days

Aside from indulging my mapping compulsion, this visualization actually reveals a couple of interesting things:

  1. Based on this general distribution, the carbon footprint of my salad is probably not as small as I had hoped. Many ingredients travel clear across the country just to make an appearance in my bowl. This isn't intended as a criticism of Sweetgreen -- if I shopped for ingredients at the grocery store, I'd wager my map would be similarly far flung. It would likely also reach into Mexico and Canada.
  2. I'm a little surprised to see the farms so concentrated on the East and West Coasts. I'm aware that California's Central Valley has a reputation for being the country's "bread basket", but I've also always thought of the Midwest as being farm country. Iowa, where you at?

Nothing beets a good salad

You may have noticed that the above map allows you to filter based on a particular salad. This capability required that I create a third Salads table, where each record represents a salad creation, and each creation points to multiple ingredients (again, via look-up). I was able to get this information directly from the  Sweetgreen menu . The salad table looks like this:

Table listing each Sweetgreen salad creation, along with the ingredients it comprises.

These are a few of my favorite greens

Drawing on the data in my three tables (Farms, Products, and Salads), I can now filter the map to show the origins of a particular salad. Here are a few:

Harvest Bowl

This is my comfort salad. It features:

  • Almonds and rice from California
  • Apples from Washington State
  • Goat cheese from Maryland
  • Kale from New Jersey
  • Chicken from Delaware
  • And sweet potatoes from my home state of North Carolina
Legend explaining color representations: green = fruit / vegetable, orange = dairy, dark red = "other".
A map shows the locations of farms that contribute ingredients to the Sweetgreen "Harvest Bowl" salad creation. The color of each location indicates the category of ingredient that the farm provides.

Chicken Pesto Parm

  • Spinach and quinoa from California
  • Parmesan from Wisconsin
  • Chicken from Delaware
  • Tomatoes from Florida
Legend explaining color representations: green = fruit / vegetable, orange = dairy, dark red = "other".
A map shows the locations of farms that contribute ingredients to the Sweetgreen "Chicken Pesto Parm" salad creation. The color of each location indicates the category of ingredient that the farm provides.

Spring Chicken

This creation has a serious east coast / west coast feud going on...

  • California provides the mesclun, carrots and parmesan crisps
  • Kale from New Jersey
  • Zucchini from Maryland
  • Basil from Virginia
  • And the titular chicken from Delaware
Legend explaining color representations: green = fruit / vegetable, orange = dairy, dark red = "other".
A map shows the locations of farms that contribute ingredients to the Sweetgreen "Spring Chicken" salad creation. The color of each location indicates the category of ingredient that the farm provides.

Elote Bowl

You can really taste the Florida!

  • Bell peppers, arugula and quinoa from California
  • Goat cheese and red cabbage from the mid Atlantic region.
  • Tomatoes, cilantro and sweet corn from Florida.
Legend explaining color representations: green = fruit / vegetable, orange = dairy, dark red = "other".

Conclusion

Conclusion? Hmmm... Kind of a lofty term for a Salad Mapper. I will say this, though: It almost never fails that, if you take something in list form and put it on a map, patterns will emerge that you didn't see before.

We live in a world where our smart phones come from China and our blueberries come from Chile. And soon, Bezos willing, either may be delivered to our front door via robot drone. The story of where things come from and how they get there is about to become even more interesting.

Just think twice before you put that story on a chalk board...

Photo by Acronym via Adobe Stock

Paging Doctor Excitement

Cargo Pants Cuckoo Clock

"Map me," it whispers...

No farm can escape my sleuthing.

I see you, Jay Leaf!

These are a few of my favorite greens