The Lost Coffee Order

A great experience even when things went wrong.

Last month, I sent a surprise gift to one of our customers. In an unfortunate series of events, the gift package never made it to her.

Here’s the email I received from the coffee company I bought the gift from:

I spoke with your customer and she says that they did not receive the package and has spoken with her neighbors to be sure that the box was not delivered to one of them by accident. On the day of delivery, there was terrible weather all across the area, including tornados. Many businesses and all of the schools closed that day, but she says that their office did not close. It is possible that either the postal delivery person was in too big of a hurry that day because of the weather and chose not to deliver the box or there was a substitute delivery person who did not know where to leave the package.

I am very frustrated that this has happened. I am going to re-flavor the coffee (Hazelnut) today (it has to sit overnight) and deliver the coffee/ tea order to her myself tomorrow. I’ll let you know if I get any more information.

Thanks, again, for the order.

Clarke, Highland Coffees

They really did a great job turning this potentially negative situation into a great one. Instead of blaming the post office or leaving me to figure out where the package went, Clark sent out a brand new order. Clarke even shared in my frustration that the experience wasn’t perfect.

Explanation? Check.

Empathy? Check.

Promise to follow-up? Check.

Even though this order might take an extra little bit to get to the customer, I’d still order with Highland Coffees again in the future. It turned out to be a great experience even when things went wrong.

We work hard to provide the same stellar experience with our customers. If you haven’t yet, go check out Basecamp 3!

You Aren’t Gonna Need to Design It

A short tale of building what matters and skipping the rest.

We just started a new email campaign at Basecamp, and it’s something we’ve never tried before. It’s a sequence of three automated emails that we send to new customers who fit a certain criteria. In these emails, we ask if the customer needs help getting started, and what they were hoping to do with Basecamp.

We originally thought of this project as a marketing exercise, but so far it’s giving us insights that reach way beyond marketing.

One thing that’s special about this campaign is that the messages are sent directly from me (and a couple of other folks), and we’re personally responding to anyone who writes us back. The replies go straight into our real inboxes — not into our company’s support help desk or some no-reply black hole. This is a ton of work to maintain, but we’re learning a lot and developing new relationships with people.

While we were setting up the nuts and bolts for the campaign, we got stuck on a tricky detail. We wanted the automatic sequence of emails to immediately stop if a customer replies, because it would be weird if we sent more canned messages after personally interacting with someone.

Tom asked me how it should work…

There was no obvious way for us to stop the sequence automatically. We probably could have devised some fancy system with an administrative interface to handle it, but would it be worth it? At that point we had no idea what was going to happen with the campaign as a whole.

How many replies would we get? Would this unsubscribe issue be a serious problem or just a minor issue? Was the overall campaign any good, or would we stop it after 3 days because it was performing poorly? There was no way to know.

In cases like this, you can either anticipate all the likely possibilities and build lots of things to insure yourself against potentially bad situations, or you can ship what you’ve got, wing it, and be prepared to make changes as you go.

As is our style, we ran with the latter…and it was completely fine! Most people leave our original email quoted below when they reply. Then we click the Unsubscribe link for them. That’s it. It’s lo-fi and works in 99% of cases. If the quoted email isn’t there, Tom programmatically unsubscribes the person by hand. We have to do that a couple of times per week. No biggie at all.

So this is YAGNI in practice. You might be familiar with YAGNI as a programming-specific concept, but I think it’s just as applicable—if not more so!—on the design side.

Design is often a matter of diving headfirst into an unknown abyss, and preparing to modify your thinking based on what you learn. When you’re doing that, there’s no sense in trying to protect yourself from bumps along the way. The bumps are the whole point of the exercise.

It’s certainly prudent to have an escape button handy so you can shut everything down if your world quickly descends into utter chaos. But otherwise, get ready, strap yourself in, and go for it! That’s the only way to find out what happens next.

The team, the years

48 of the best people I know work at Basecamp.

The Basecamp team as of March 23, 2016

We’ve been working at Basecamp for 5, 6, 5, 1, 5, 4, 2, 3, 15, 1, 2, 1, 5, 2, 3, 8, 17, 7, 5, 1, 8, 9, 4, 5, 6, 5, 1, 5, 4, 1, 5, 7, 4, 3, 5, 6, 6, 13, 11, 8, 5, 2, 6, 3, 2, 3, 6, and 3 years.

Collectively, across just 48 people, that’s 244 years of experience together. As a business owner it makes me feel great seeing longevity, loyalty, and low turnover as a common theme. In return we try to offer the best benefits in the business.

Something I always keep in mind: Behind these people are family trees. Husbands, wives, partners, children. As a business owner I feel a responsibility to these other people too — I don’t want to create tired, anxious, resentful employees who bring those emotions home with them. It’s not just the quantity of hours at work that affect life at home, it’s the quality and impact of those hours spent at work, too. A healthy work-life balance isn’t about separation as much as it’s about how one influences the other.

At Basecamp we’re not just building a different kind of product, we’re building a different kind of company. The kind of company we’d want to do business with if we were in the market for a product to help our company communicate clearly, work together better, and form stronger bonds with each other.

An observation: Looking at the picture at the top of this post, it’s clear need to work harder on diversity. We’d also like to have a roughly 50/50 split male to female to better represent the population at large. It’s tricky for us since we don’t hire often — maybe just a few people a year — so it’ll take some more time to get to the ideal mix, but we’re aware of it, working on it, and have been getting much better at it over the last couple years.

Want to join the crew? We’re currently looking to add two new designers to our team. One focused primarily on product design (Basecamp the apps), and one focused primarily on marketing design ( the site). From time to time we cross over — product designers work on marketing stuff and marketing designers work on product stuff. If you’re interested, email me in a way that demonstrates your skills, your character, and helps you stand out amongst the hundreds who apply whenever we have openings. Looking forward to hearing from you.

Want to see what this team makes together? What we spend our days improving and perfecting? Then check out the all-new Basecamp 3. It’s unlike any Basecamp before it, and a unique product in the industry. In many ways it’s our company operating system, and we’ve seen how it can turn any small business into a better business. Want to find out more about Basecamp 3? Email me and I’ll give you a personal tour. — Jason Fried, CEO, Basecamp

Sleep deprivation is not a badge of honor

Forgoing sleep is like borrowing from a loan shark. Sure you get those extra hours right now to cover for your overly-optimistic estimation, but at what price? The shark will be back, and if you can’t pay, he’ll break your creativity, morale, and good-mannered nature as virtue twigs.

Now we all borrow occasionally, and that’s okay if you fully understand the consequences and don’t make it a habit. I did that the other night. We pushed an update to our single-signon system for Basecamp, which had me working until 1:30 AM. That wouldn’t have been so bad if it wasn’t because I got woken up at 5 AM to help deal with an issue that arose. But the costs the following day were typical, numerable, and high:

  • Stubbornness: When I’m really tired, it always seems easier to plow down whatever bad path I happen to be on instead of reconsidering the route. The finish line is a constant mirage and I’ll be walking in the desert for much longer than is ever a good idea.
  • Lack of creativity: What separates programmers who are 10x more effective than the norm is not that they write 10x as many lines of code. It’s that they use their creativity to solve the problem with a tenth of the effort. The creativity to come up with those 1/10 solutions drops drastically when I’m tired.
  • Diminished morale: When my brain isn’t firing on all cylinders, it loves to feed on less demanding tasks. Like reading my RSS feeds for the 5th time today or reading yet another article about stuff that doesn’t matter. My motivation to attack the problems of real importance is not nearly up to par.
  • Irritability: If you encounter someone who’s acting like an ass, there’s a good chance they’re suffering from sleep deprivation. Your ability to remain patient and tolerant is severely impacted when you’re tired. I know I’m at my worst when sleep deprived.

These are just some of the costs you incur when not getting enough sleep. None of them are desirable. Yet somehow it seems that the tech industry still celebrates a masochistic sense of honor about sleep deprivation. At times it sounds like bragging rights. People trying to top each other. For what? To seem so important, so in need, so desired that humanity requires you to sacrifice? Chances are you’re not that special, not that needed, and the job at hand not that urgent.

Software development is rarely a sprint, but mostly a marathon. Multiple marathons, actually. So trying to extract 110% performance from today when that means having only 70% performance available tomorrow is a bad deal. You end up with just 77% of your available peak. Bad trade.

This is why I’ve always tried to get about 8 1/2 hours of sleep. That seems to be the best way for me to get access to peak mental performance. You might well require less (or more), but to think you can do with 6 hours or less is probably an illusion. Worse, it’s an illusion you’ll have a hard time bursting. Sleep-deprived people often vastly underestimate the impact on their abilities, studies have shown.

So get more sleep. Stop bragging about how little you got. Make your peak mental capacity accessible.

I originally wrote this post back in 2008 (and a version feature in REWORK). But after a couple of kids arrived, I remembered just how silly it is to voluntarily subject yourself to sleep deprivation. When you’re responsible for another little human, you have no choice. When you’re just trying to ship a new feature or a product, you absolutely do. Go The Fuck To Sleep.

Simple just isn’t that important

Declaring your love of simplicity has long been a prerequisite pledge for anyone working on products. It’s the perfect placeholder word for everyone to load up with their own personal aspirations, all the while nodding in agreement with someone holding diametrically opposed ideas. Even the most obtusely designed products will have a parent ready to explain “it’s actually quite simple if you just…”

Beyond the trouble of pinning down exactly what simple means is certifying its value. “Simple” is just one of the many qualities we can use to evaluate products, and it is by no means the most important. To use a trite phrase to describe another: Simple is overrated!

Here are but a few qualities I’d take over simple:

  • Useful
  • Clear
  • Fun
  • Satisfying
  • Inspiring
  • Endearing

I wouldn’t just rank “simple” low on my list of priorities for a finished product, but also for the tools we use to take us there. My favorite tool is the programming language Ruby. It is anything but simple. Thousands of methods across the standard library, so many keywords I can’t even tell you the number. Full of subtlety that directly relates to its wonder and delight.

Basecamp is in the same boat. It’s clear, it’s just enough, but it is not “simple”. We literally have hundreds of individual screens spread across 6 major features that could each be individual products (and are!).

The value is derived from solving many of the problems most people face when trying to make progress together. It tries to do so in a clear and playful manner. “Simple” is not high on the list of priorities, and the product is much better for it.

It’s time to knock “simple” down a peg. It’s just not that important.

No Reply Addresses

Go check your inbox right now. I guarantee you’ve got a few emails from a “”. A quick search through mine yielded 28 different no-reply emails from 28 different companies. It’s not limited to only big companies either. Tiny startups use them to send out their newsletters, invites, notifications, etc.

When I get an email from a no-reply address, I know that company doesn’t want to hear from me. They’re telling me that while I need to read this email, they won’t be reading any replies that I want to send them about it. They can consume my time but they won’t spare any of their time for me.

In short, they don’t care.

Sometimes it’s unintentional. A new startup sees that other businesses are doing it so they do. Sometimes it’s intentional because a company doesn’t want to get bombarded by auto-responders about being out of the office. And sometimes it’s justifiable. If your app sends out email notifications for certain actions, like checking off a to-do or sending a message, then I can understand the use of a no-reply email address.

But overall, stay far, far away from them.

You want your customers to be talking to you. You want them sharing ideas and experiences with you. Instead of a no-reply, set it to your support email address. Make sure someone will see any replies that a customer sends. Sure, you’re going to get lots of auto-responders. That’s why your email app has filter and rules you can set up.

Embrace the idea of a yes-reply email address. It’ll keep that communication lane open between you and your customer. It’ll make customers realize that you do value their time and will give them some of yours if they want it.

Your goal should be to talk more with your customers. Switching your no-reply addresses over will be a great first step towards it.

The tool we built to keep everyone in the loop at Basecamp

From teams to individuals, we aimed for a straightforward, consistent system to communicate the occasional, the week-to-week, and the day-to-day to everyone across our company.

No matter the company, once you reach a certain size — and it’s not very big — you begin to have communication challenges.

There are dozens of challenges, but for this article I’d like to focus on this one: Keeping people across the company in the loop about what’s going on in the company. By what’s going on I mean what everyone’s working on at a macro and micro level. What are we making together?

I happen to believe this is one of the most important things for any reasonably-sized company to get right. To me, reasonably sized means fewer than 100 employees (which represents 98% of all companies in the US according to the 2012 business census data). The method I’ll describe below can work with companies of any size, but you’d implement it a bit differently.

The challenge

As companies grow, keeping everyone up-to-date on everything that’s going on gets harder and harder. I’m not referring to statistics, spreadsheets, slide decks, reports, or abstract representations of what’s going on, but the simple way people describe what they’re working on to their friends. Everyone’s own words.

In some cases companies begin to under-communicate internally (people are left wondering what’s going on). To compensate, others begin to over-communicate internally (sharing the wrong level of detail too often, and sharing it in ways that make it difficult to follow or find).

The hard part is striking the right balance. The just-right spot where everyone knows enough, no one feels like they know too little, and no one feels like they’re being over-informed to the point of it being annoying or distracting. And doing it all at a variety of resolutions — big picture, medium-picture, and small picture — without overdoing it.

Our goal

We’ve been thinking a lot about how to do this right. At any one time we have dozens of projects in motion, so there’s a lot going on. We’ve experimented with a variety of methods over the years. We think we’ve finally landed on the perfect fit, the perfect way to do it.

For us the goal was simple: On a regular, ongoing basis, help everyone at the company learn things they didn’t know, discover stuff they might not have known was going on, and develop a better appreciation for their fellow co-workers and the work everyone does every day.

And, tangentially, as a positive side-effect, automatically create a library of progress — a collection of institutional knowledge, with day-by-day documentation by dozens of individual authors in their own words.

The solution

Here’s exactly what we did. It took 2 minutes to set up in Basecamp 3.

1. First, we created a new Basecamp in our account called “Heartbeats”. We invited everyone in the company to this Basecamp. We enabled three Basecamp tools: The Message Board, Automatic Check-Ins, and To-dos.

With these three tools turned on, our Heartbeats Basecamp looks like this:

3 simple tools all in one place keep every single person at Basecamp in the loop.

2. Next, in that Basecamp we created two recurring questions using Basecamp 3’s Automatic Check-ins tool. One check-in asks everyone “What did you work on today?” at the end of every weekday, and the other automatically asks “What will you be working on this week?” every Monday morning.

Automatic Check-ins puts Basecamp to work for you — it goes out and asks the questions, gathers the responses, and publishes them back to the Basecamp, and shares them with everyone automatically.

Like clockwork, Basecamp automatically asks Automatic Check-in questions via push on the mobile apps, in-app on the desktop, or via email depending on how people set up their notification settings. It then gathers up all the responses and then posts them back to the Basecamp as individual organized threads for everyone to see. And since they’re individual threads, people can attach follow-up questions, comments, or thoughts to anyone’s answer.

3. Next, we created a single To-do list called “Heartbeat requests” where anyone in the company can post a request for an update. Curious to know something that hasn’t been shared in a while? Add a to-do and request it! If you know who should write it, just assign it to them and Basecamp will let them know. If you don’t, just add the to-do with no assignment and someone will pick it up. You’ll see there’s a request for me to update the company on the progress of our designer search (we’re hiring!). I’ll write up that heartbeat shortly.

What do you want to know? Just say so!

4. And last, we posted a message to the Message Board letting everyone know that someone from their team should post a detailed update (which we call a “Heartbeat”) about what their team is working on every few weeks or so. There’s no exact time requirement, just every so often. A natural rhythm evolves. There’s also no specific guideline about how to write a heartbeat. People write in their own style, some follow other people’s leads. It’s just natural.

Here’s what our Heartbeat message board looks like:

Messages are automatically sent out to everyone in the company. People can then comment, ask detailed follow-up questions, and the discussions are kept nice and neat as separate threads so they’re easy to read now and easy to refer back to later. They are especially useful for bringing employees up to speed on how we work and how we share our work.

In the example above, you’ll see on February 26 Kristin updated everyone on a couple of new hires (welcome Carrie and Elizabeth!) for the support team, on March 8 Shaun updated everyone on the latest listener numbers on The Distance, on March 8 Ryan updated everyone on a new add-people-to-Basecamp UI he’s working on with George, on the 14th Conor filled everyone in on the progress on some major updates they’re making to the sign-in process, and on the 16th Taylor updated everyone on an important project the ops team has been working on. Note: Heartbeats are long messages and complete thoughts — usually a few hundred words each. I’ve shared an example down below later in this article.

The three amigos

With just three simple tools — a Message Board, Automatic Check-ins, and a To-do list, everyone in the company can now:

  1. Stay up to date every few weeks on major updates from every group across the company. People can also request an update if they feel like they’re missing something.
  2. Share what they’re planning on working on this week. This helps everyone have a general sense of what specific projects are happening, and what sort of progress we might all expect by Friday.
  3. Share what they did today. This isn’t about holding any accountable or for tracking performance — it’s simply used as a way for everyone to celebrate what actually happened in the company today. It’s a wonderful way to discover new work, see creative solutions to problems we’re trying to tackle, ask follow-up questions or offer an idea on something that’s being explored, and gain an appreciation for everyone’s day-to-day.

And because it’s all in a single Basecamp, everything is neatly organized and easily accessible all from one place that everyone in the company has access to all the time. And since every answer, every heartbeat, every to-do is its own unique self-contained thread, people can post follow-ups questions, request more detail, and discuss things in context without the conversation spilling over into other conversations.

It’s all right here in the “Heartbeats” Basecamp for everyone in the company to see.

The Director’s cut

Want to go deeper behind the scenes? Ok, let’s look at some actual examples of stuff that was written in our Heartbeats Basecamp.

A Heartbeat on the Message Board:

Conor shares some updates on a major rejiggering of the sign-in process. This was sent to everyone in the company so now everyone knows what that team will be working on over the next few weeks.

A “What did you work on today?” answer:

Sam shares what he worked on today.

And here’s another what did you work on today answer. This time from Ryan, with some sketches as well.

Ryan had a busy day. And he shared some rough cuts of an idea he’s working on.

Here’s a “What will you be working on this week?” answer by Wailin:

Andrea chimed in with her support.

A “What did you work on today?” by Jason Zimdars with some embedded product shots plus a few comments:

Nice work on that revised notification settings screen, JZ!

And one for those who really love behind the scenes stuff… Dylan wrote up a short “What did you work on today?” answer. A couple hours after he posted, I happened to notice he said “Discussion around whether we should allow file uploading to Basecamps that don’t have the Docs tool currently enabled.” I was curious what the team decided, so I posted a comment and asked a question. And a long and awesome, deep, well considered discussion ensued over the next few hours (not in-a-row, but spread out asynchronously). Check it out!

Ok… I know it was a lot, but I hope it was useful. Really it’s very simple. Spin up a Basecamp, flip on a few tools, set up a couple questions, and make an announcement. It just takes a couple minutes. And that same exact day everyone in your company will begin learning things they didn’t know, hearing about stuff they’ll be excited to hear, and overall having a better appreciation for the work everyone does every day.

Not a Basecamp 3 customer yet? What are you, crazy? Jump on! It’s entirely free to try (you can even just make a free Heartbeats Basecamp like the one I shared above). Just last week another 10,786 companies signed up to get started using Basecamp 3! We’d love to have you as a customer too. Any questions? Want a personal tour? Need help setting something up? Just let me know, I’m happy to help any way I can. Thanks. -Jason Fried, CEO, Basecamp

Snapback Cache — What we use to make our infinite scrolling feeds at Highrise awesome.

Many apps today have some concept of an infinite scrolling feed: Facebook, Twitter, LinkedIn and many more. Almost all of them suffer from the same problem. If you click on something in the feed that brings you to a new page, when you hit the back button or try to return to that original feed, your place is lost. All the scrolling is gone.

At Highrise we had that same problem. So this is the library we use to fix that. We call it our Snapback Cache, and it’s made a big improvement to how people can use infinite scroll in our app and still get a lot of work done without losing their place.

Another great thing about this is it operates on the URL, so you can have multiple infinite scrolling feeds to cache. At Highrise we have a “main activity” and then activities for a Contact, etc. They each get their separate cache. To keep a manageable memory footprint for your browser, we keep 10 caches as a maximum.

The basics of how it works

Using this small javascript library, you hook it up to the click events on things in your infinite scrolling feed. For example:

Now when people click the links inside our “recordings” container, the stuff inside the current recordings container is cached locally using the browser’s session storage.

Then the javascript library watches the load event of any pages being browsed. If the library sees that that browser’s URL is a url we’ve already cached, and it’s not “too old” (15 minutes), we replace the contents of our container (#recordings in our example) with the cached version, and scroll the browser to the place where it had been cached.

This sounds easy, but there are certain things we bumped into that the library also helps with. Things like disabling autofocus events that mess up scrolling and making sure things in the cache can actually be more granularly ignored or even refreshed.

Syntax and how to use it

var snapbackCache = SnapbackCache({ options });

Here are some example options:

bodySelector is mandatory. It tells us what on the page you want to cache.

finish is a function of things that you’d like to happen before the page is cached to get the page to get cleaned up. For example, we already try to get jQuery animations to finish, but if there’s anything else on the page that might be animated or dynamically changing when someone is trying to navigate your site, you probably don’t want those “transitional” things cached. In our case we have a search bar that we want cleared up before things are cached.

removeAutofocus is a function that removes any auto focus behavior from your page. autoFocus events can mess with the browsers ability to scroll to the right place. So we want to nip that in this function. In our case we have multiple autofocus things going on, so we clear all that up.

refreshItems is a function to help refresh anything that might have gone stale from the cache. You can use that in conjunction with a method available on snpachbackCache called markDirty.

So in our case, we cache a note or comment or email in our feed. But if someone at some point edits/deletes one of those notes, comments or emails, we have javascript call


Then when the snapbackCache replaces the cached contents it’s saving for us, it makes sure to call the refreshItems function you specify along with an array of “dirty items” you can do something with. In our case, we take all those dirty ids, and issue an ajax call that does all the work to refresh bits of the cached page.

nextPageOffset is a function that the Snapback cache can use to figure out what “page” your user is on. We take that page and store it along the cached contents of the page. That way when the cached page is restored you have the page number the user was on and get pick up infinite paging at the appropriate place. See the page-cache:loaded event below to do that.


There are a couple of events we send out that are useful.

snapback-cache:cached is an event emitted as soon as the contents of the page have been cached into session storage

snapback-cache:loaded is an event emitted as soon as the contents of the page have been replaced. We use this at Highrise to set the appropriate offset for our infinite scrolling:

nextPageOffset was calculated because we had setup a “nextPageOffset” function on the page cache.


1) Add the snapback_cache.js to your javascript stack.

2) Add a cache variable with the options set:

var snapbackCache = SnapbackCache({ bodySelector: "#recordings", });

3) Call snapbackCache.cacheCurrentPage() whenever you need to, and magically when people return to that url, the cache will do the rest.


Source code available on Github. Feedback and pull requests are greatly appreciated. Let me know how we can improve this.

A ton of thanks to everyone at Highrise for helping get this into our stack. Especially Jon Phenow, Grant Blakeman and Michael Dwan for the edits and help getting it open sourced.


You should follow us on Twitter: here, or see how we can help you with contact management using Highrise — a handy tool to help you remove anxiety around tracking who to follow up with and what to do next.

Announcing the next “The Basecamp Way To Work” workshop

Our headquarters in Chicago.

March 31, 2016 in Chicago

For years people have asked us how we work at Basecamp. We’ve shared our business and development philosophies in Getting Real, REWORK, and REMOTE, but we’ve never lifted the veil on our unusual work methods. And unusual they are! Whenever we give this workshop, and show people behind the scenes, we hear “woah!”

What does our day-to-day look like? How do we organize and manage work? How do we communicate across the company? When do we communicate? What do we tell everyone, vs what do we only tell a few people? How do teams coordinate? How do designers and developers work together? How do we gather ideas, consider feedback, break work into digestible chunks, build, and deliver. How do we make so much progress in a short time with a small team?

On March 31, we’ll go behind the scenes and share everything. We’ll show you how we use Basecamp 3 to run Basecamp. Everything will be exposed.

After this workshop you’ll have a new perspective on how people can work together, how and when to communicate this way vs that way, and how keeping everything together in one place is the secret to a few small teams making some really big things. You’ll have new insights into how your own organization, group, or team can shift its perspective and work better together.

None of this has been shared in an interactive setting like this before.

The workshop will be hosted by Basecamp CEO Jason Fried.

Seating is limited, and the first two workshops sold out within 24 hours, so don’t miss this one. Get your ticket here. We look forward to seeing you in Chicago on March 31st!

Note: People often ask… Will this be recorded? Streamed? Can I attend remotely? At this time we’re only doing these workshops live for a small group so we can address everyone’s questions personally and go hands-on when we need to. We may offer an abridged, recorded version of this workshop down the road, we’ll see.

Rainbow Connection

Illustration by Nate Otto

How an ice cream cone has nourished a Chicago family for three generations and 90 years of business.

Opening an ice cream store in Chicago is not for the faint of heart. Factor in a mostly deserted neighborhood and the Great Depression, and the idea of selling ice cream under these circumstances looks utterly harebrained. Yet that’s exactly what the Sapp family did in 1926 when they started Original Rainbow Cone, and their signature treat — five flavors arranged in diagonal slabs — has come to symbolize spring and summer for generations of Chicagoans who grew up on the city’s south side.

Lynn Sapp, the granddaughter of the founders, runs Rainbow Cone today and has ambitions of taking the business national, while staying mindful of her predecessors’ legacy of frugality and resourcefulness that has kept the seasonal business going for 90 years.

You wouldn’t think orange sherbet, pistachio, Palmer House (vanilla with cherries and walnuts), strawberry and chocolate would all go together, but it’s fantastic. When I visited Rainbow Cone on opening day, I inhaled mine and almost went back for a second one. I wouldn’t have been alone, either. There were people eating rainbow cones in line, waiting to buy more.


WAILIN: There are many ways to mark the beginning of spring in Chicago. There’s the day when Major League Baseball pitchers and catchers report for spring training. There’s the day when the heat lamps on the city’s elevated train platforms turn off. And there’s the day when Original Rainbow Cone opens its doors.

(Sound of crowd)

WAILIN: It’s grand re-opening day at Rainbow Cone and at least 50 people have lined up outside the shop’s distinctive pink building on Chicago’s south side, bundled up in winter coats and hats and gloves. It’s an overcast day, with temperatures in the upper 30s, and there’s still patches of snow on the ground.

CUSTOMER: Crazy (laughs). I feel crazy. But hopefully it’s worth it!

Everyone here is waiting for their first Rainbow Cone of the year. And what exactly is a rainbow cone?

CUSTOMER: Orange sherbet

CUSTOMER: Pistachio

CUSTOMER: Palmer House

CUSTOMER: Strawberry

CUSTOMER: Chocolate

WAILIN: Starting from the top: orange sherbet as a palate cleanser, pistachio, Palmer House, which is vanilla with cherries and walnuts, finished off with strawberry and then chocolate at the very bottom. Five flavors, sliced instead of scooped, and arranged at a slight diagonal, with the chocolate just peeking out of the cone and the orange sherbet in an almost vertical slab down the back. Joseph Sapp invented the rainbow cone in 1926, when he and his wife, Katherine, opened their ice cream parlor in a part of Chicago that was still farmland and apple orchards. Today, Joseph and Katherine’s granddaughter, Lynn Sapp, owns the business. This year marks her thirtieth at the head of Rainbow Cone, and she starts every season by remembering the previous two generations of Sapps.

LYNN: I always say a prayer, thank you Grandpa, Katherine and Joe, Mom and Dad, thank you for everything that you’ve given me. I do, I’m very grateful because it’s an honor to do this. You pass it down and you’re part of the thing and you’re up on the counter saying hi to people, “Oh my God, good to see you this year,” and you create a lot of family and friends that way, so people know who you are.

WAILIN: Welcome to The Distance, a podcast about long-running businesses. I’m Wailin Wong. On today’s show: The story of how an ice cream cone has sustained three generations of a Chicago family. The Distance is a production of Basecamp. Introducing the new Basecamp 3. Basecamp is everything any team needs to stay on the same page about whatever they’re working on. Tasks, spur of the moment conversations with coworkers, status updates, reports, documents and files all share one home. And now your first basecamp is completely free forever. Sign up at

LYNN: They got the money to buy the land that the present building is on and then they got the money to build one story of it. Now, imagine opening a business where there’s no loans, no nothing. Everything is cash…

WAILIN: The 9200 block of South Western Avenue was an unlikely place to open an ice cream parlor, or any kind of business, in 1926. Today, Western Avenue is the longest continuous street in Chicago and thick with traffic for its 24 miles. But ninety years ago, the stretch of Western where the Sapps opened Rainbow Cone was just a dirt road, with nothing around except a few cemeteries. The Sapps believed their store would draw families visiting the cemeteries on Sundays, and they were right. But then the economy collapsed.

LYNN: You open in 1926 and you head right into a Depression. Our original prices were 12 cents for a cone. Well, when you think dinner was a dime for a whole plate of food, 12 cents was a lot. Five cents for a small Rainbow was a lot. So it had to be good. They had to feed you, so that’s why our ice cream is fresh fruit and nuts.

WAILIN: Running Rainbow Cone through the Depression left an imprint on the Sapp family and the business that’s still felt today. Joe and Katherine Sapp had to make sure their product represented more than just an indulgence, that it could fill you up and be worth the 12 cents you might have spent on something else. The Sapps also learned to stretch every dollar. They broke down the cardboard boxes that the cones came in to use as floor coverings and cleaned the windows with newspapers. Katherine Sapp washed everything with Borax powder and vinegar. And the store used the same big freezer, made from oak and metal and batted cotton, for 60 years, until the bottom finally fell out.

LYNN: My grandmother was a very tough woman. She was a very smart woman and Joe, my grandpa, created the cone and Katherine was the vehicle behind making sure every penny was used wisely. Just the other day, I was cleaning and found what they call cardboard sheets that my grandpa’s Sunday dress shirt used to come in for cleaning, and they used to take that piece of cardboard that the whole shirt was folded around and then she would write everybody’s hours, their phone numbers—all of the business was done on a single piece of cardboard that came in my grandpa’s Sunday shirt from the cleaners and that was her records and that’s how she paid people and there was no, no waste. They didn’t have it, you know. There was no waste and even when it got, you know, things were better, there was no waste, because that was a sin, to waste food, to waste anything.

WAILIN: As the economy improved, Rainbow Cone became a gathering place for the neighborhood and a place to escape the summer heat in the days before air conditioning. During World War 2, the Sapps posted casualty lists in the back window, and Lynn’s grandfather installed a radio so people could hang out and listen to the news. But only during the warm months. This was Chicago, after all, and it didn’t make sense to stay open in the winter. Lynn’s predecessors had second jobs — her grandfather was a Buick mechanic and her father, Robert, was a building engineer for the Chicago Public School system. After she bought the business in 1986, she expanded Rainbow Cone to venues like the Taste of Chicago, an annual outdoor food festival that draws over a million people a year. But the ice cream parlor is still a seasonal business, and as with previous generations of Sapps, Lynn faces the pressure of making enough money in the summer to cover maintenance of a 90-year-old building and other expenses during the rest of the year.

LYNN: I’ve made it into a full-time job and just like expanding the product, having other people use it, doing different events, trying to maximize the warm months here and get as much money as we can to pay our bills in the winter. So we store everything we can, you know. Everybody’s like oh, you do so well at Taste, you do so well, all that goes in the vault and is you know, used for November, December, January, February, March when it’s, you know, 20 below and you can’t get in here because the snow is so high.

WAILIN: Lynn is the youngest of four children and grew up in the store, hanging out in a playpen in the back with her grandparents. Her grandpa Joe used to make tiny rainbow cones for her and her dolls, but she only wanted chocolate ice cream for the first nine or so years of her life. As she grew up, she and her siblings put themselves through college by working at Rainbow Cone. But it was never assumed that Lynn would simply inherit the business from her parents. She had to come up with the money to buy it.

LYNN: I had a teaching degree and I was teaching up north, and the roof fell in and the damage was so extensive that my dad was overwhelmed and at this point, he was getting older. That’s when I stepped in and said well, if you want me to clean it up, then I want to buy it, and that’s how we started the negotiation and that’s how I purchased the company.

WAILIN: Lynn started making changes that brought Rainbow Cone out of its comfort zone. She got a van and took the ice cream to festivals around the city to introduce it to people who’d never visited the store. She got rid of the white nurses dresses that was the uniform for female employees, and replaced them with t-shirts. She introduced new flavors like butter pecan, cookies and cream and mint flake, and packaged the five rainbow flavors in pints and quarts for customers to take home. But even as Lynn grew the business, she was mindful of her family’s legacy of frugality and resourcefulness. That’s how she started selling rainbow ice cream cakes.

LYNN: When I bought the store from my dad, I didn’t have any money, so I was invited to all of these birthday parties, anniversary, you know, christenings, you know. Well, I had no money. I had to look at what I had, so I literally made the bottom of the cake, put some ice cream on it. I used to make my own buttercream by hand back then. I do not now (laughs). Now it’s whipped topping product, but that’s how I started, and I’d bring the cake to the party and that was my gift because that’s all I had, so it worked, so it was good.

WAILIN: As Lynn kicks off Rainbow Cone’s ninetieth year, she’s looking at national expansion and franchising opportunities. This is a huge deal for a business that has spent almost a century in a single neighborhood location, despite getting requests from the Chicago diaspora to bring Rainbow Cone to other states. She’s tested the waters a bit by licensing Rainbow Cone to a chain of ice cream stores in the southwest Chicago suburbs, where she personally trained the workers in how to serve it, and she feels like now, the business’s ninetieth year, is finally the right time to introduce her Grandpa Joe’s creation to a bigger audience.

LYNN: People say, you know, you should have expanded years ago, why aren’t you expanding? Because it’s a very unique and special ice cream cone, and I guard it very carefully because I want it done right. The other thing you’re guarding is people’s memories, and it’s memories of the product for 90 years and that, you know, person that walks up to the counter has to have a positive experience because they’re remembering their childhood when their grandma and grandpa bought them, they’re bringing their kids, so it’s not just my rainbow cone, it’s their rainbow cone too. That’s people’s memories, you know, and am I controlling about it? You bet ya! That’s why we’re still here for 90 years.

WAILIN: The nostalgia is strong for Chicagoans like Bridget Powell, who along with her parents was first in line for the grand re-opening.

BRIDGET: They used to ride us up here on the back of the bikes when we weren’t big enough to ride our own, and then we’d ride up here together as a family and get Rainbow Cone several times in the summer. It was something to do together as a family, get ice cream, you know. It was a nice tradition.

WAILIN: On a cold, windy day like this, summer in Chicago can feel like a distant memory or a mass hallucination dreamt up by a population with cabin fever. The re-opening of Rainbow Cone is a reassuring sign that warm weather will be here soon, and taking that first lick of the rainbow is celebratory and nostalgic all at once. Just ask Bridget and her father, Timothy.

BRIDGET: You know what? It’s the best damn ice cream I’ve ever had. I won’t deny that.

TIMOTHY: It’s as good as it ever was.

WAILIN: The Rainbow Cone ice cream has always been made off-site by other companies following the Sapp family recipes. The business has been around for long enough to outlast suppliers and see dramatic price increases in certain ingredients, like nuts. When the costs of running the store go up, Lynn can’t just jack up the price of a rainbow cone. She has to find savings elsewhere. This year, because of an increase in the minimum wage in Chicago, she’s hiring seven to 10 fewer employees — a tough decision for a business that’s always prided itself on giving local high school students their first job. On the revenue side, the store’s big challenge is weather. The only seating at Rainbow Cone is a cluster of picnic tables in the back yard. So if it’s rainy or unseasonably cool, customers stay away.

LYNN: If you’re making a buck today in the food business, I say God bless you because you don’t understand what you have to go through to keep that dollar. For us it’s the maintenance of the building, it’s the maintenance of equipment, it’s, you know it’s paying the city’s fees, all measured in how many cones do I have to scoop to pay for this, that’s true, what am I slicing today? (Laughs)

WAILIN: But Rainbow Cone is nothing if not steeped in a Depression-era legacy of resourcefulness and sticking to it. Lynn says her grandpa Joe was all about quality product, cleanliness and good service. When she gets bogged down in the minutiae of running the business, she thinks back to when it was just her grandparents and a little shack on a dirt road, serving 12-cent cones to families dressed in their Sunday best.

LYNN: It’s not just Original Rainbow Cone owned by the Sapp family, it’s Original Rainbow Cone owned by the Chicagoans who have come here for generations. I mean, 90 years says a lot about a business, so it’s just staying with the basics that even I have to admit, I’ve gotten sidetracked from. With all of the, we have registers now with POS systems that can tell me per ounce, you just have to stay with the basics. And every time I’m like rechanneling Katherine and Joe, saying okay, we have to have the best product we can have, greatest ingredients, we have to have cleanliness here, and then we have to serve it with a smile and make sure we keep doing that. It’s not easy, but you just gotta keep doing it.

WAILIN: Ninety years later, it’s still about the basics: orange sherbet, pistachio, Palmer House, strawberry and chocolate. It’s the taste of childhood summers for generations of Chicagoans who grew up on the city’s south side, and Lynn understands her role in preserving that important, ineffable link between taste and memory.

LYNN: As the world gets crazier, people want relief. People want a little bite of it’s gonna be okay, and that’s an Original Rainbow Cone for 90 years, it’s been telling people, this is a great fruit and nut ice cream, it’s sliced, it’s not scooped, it’s completely different, and it’s gonna make everything okay. So (laughs) that’s where we’re at.

The Distance is produced by Shaun Hildner and me, Wailin Wong. Our illustrations are done by Nate Otto. Thanks to sdlavergne and Da Chipsta for your recent five star ratings on iTunes. We would love it if you could leave us a review on iTunes too. You can also sign up for our newsletter and find links to episode transcripts at The Distance is a production of Basecamp, the leading app for keeping teams on the same page about whatever they’re working on. Your first Basecamp is completely free forever. Try the brand new Basecamp Three for yourself at