When Sam Eaton hears a new idea, it's all he can do to contain his excitement and dive right into the code. So when his sister told him she wanted to start a cookie delivery business, there was never any question that he'd apply his indie hacker skills to help out however he could. And to great effect — today they're selling hundreds of thousand of dollars worth of cookies every month. In this episode, Sam and I discuss the advantages of target your local community as a niche, ways to leverage scarcity and social proof to increase sales, and how software engineers can best apply their skills to selling products in the real world.
Crave Cookie – Sam's cookie delivery business
@CraveCookie – Crave Cookie on Instagram
sam@cravecookie.com – send Sam an email if you'd like to get in touch
What’s up everybody? This is Courtland from IndieHackers.com, and you’re listening to the Indie Hackers podcast. On this show, I talk to the founders of profitable internet businesses and I try to get a sense of what it’s like to be in their shoes. How did they get to where they are today?
How do they make decisions both at their companies and in their personal lives, and what, exactly, makes their businesses tick? And the goal here, as always, is so that the rest of us can learn from their examples and go on to build our own profitable internet businesses.
If you have been enjoying the show and you want an easy way to support it, you should leave us a review on Apple Podcasts. Probably the easiest way to do that if you’re on a Mac is just to go to indiehackers.com/review and that will open up Apple Podcasts for you.
Today, I’m talking to Sam Eaton, one of the founders of a cookie company called Crave Cookie. I noticed Sam posting a ton of milestones on Indie Hackers about how much money his cookie business is making. It stood out to me because not very many Indie Hackers are doing food delivery businesses. Not very many Indie Hackers are baking cookies.
So I wanted to talk to Sam to find out how COVID-19 is affecting his food business, how a software engineer got involved in baking cookies and selling cookies in the first place, and what lessons we can learn from this type of business that has a foot in the real world and isn’t purely tech. Enjoy the episode.
(end of intro)
I think the fact that you’re doing a cookie business is going to set you apart from pretty much everybody else who comes on the podcast.
Yeah, well I was always trying to do the SaaS or B to B side. That’s where my experience always was. You always try to do what you think you’ve always done. You don’t see what’s available to you. Having been in big tech for six years, and then my sister saying that she was going to start a cookie thing with my cousin. “Oh, yeah, my cousin’s going to help me set up a Shopify site and start selling cookies.”
And I went, “No. Please let me.” I was already doing Indie Hacker stuff for a couple years before that. I was like, “Please let me help you set up your company.” So it ended up being me and my sister.
It’s worked out. I just talked to Scott Keyes from Scott's Cheap Flights. His business has been threatened by COVID, cause he’s in the travel industry helping people save money on flights. You’re in the food industry. I think most food businesses are also suffering. Most restaurants have been closed down.
But you, on the other hand, are thriving. You’ve been blowing up. You’ve been posting these milestones on Indie Hackers about how you’re making $100,000.00 in revenue every month and how COVID has been almost the best thing that could have happened to Crave Cookie, because you’re in the delivery business. Is that pure luck, or have you changed your business model because of COVID?
No, it was - we were already up and to the right as far as growth every month, every quarter. But that gave us probably a 15% bump in what our normal trajectory was. We were already hitting $100,000 a month before that, and then after that, what was that, in April or May?
I think your last one was $110,000 a month in April
No, but we hit over $200,000. I think it was in May.
How many cookies is that?
We do probably 15,000 cookies a week.
And that’s all to your local area?
Yeah. It’s one kitchen with drivers going around delivering these cookies.
That’s nuts.
The thing is though, part of that, I’d say 80 to 90% of it, is just from our online orders, but we have also partnered with a local coffee shop that has five locations. But that’s still part of a normal business model.
We bake the cookies and we deliver them to the coffee shop, and then people come and pick up the warm cookies there. They know to do it at a certain time. So there’s a line of cars lined up at this coffee drive thru to pick up these cookies. But yeah, it doesn’t add any complexity to us. It’s the same business model, just delivering cookies that are right straight from the oven.
What are your margins like selling hundreds of thousands of cookies?
Our margins are much higher than the typical restaurant industry. Normally, margins for restaurants are under 15%. Ours are 35 to 40%.
Nice.
It’s been really good on that side.
You’re a software engineer, right?
Yeah.
Do you also do design? Your website’s beautiful.
Yeah, thanks.
So you're the full stack engineer unicorn. You’ve started Indie Hacker businesses before. I think most people in that position would never dream of doing something in the real world, because the margins are low and because you can’t move atoms as fast as you can move bits.
There are all sorts of pains to deal with and things in the real world that seem antiquated and unattractive if you’re a developer. Why did you decide to do this? Why did you get excited when your sister said she was going to make a cookie business and not say, “You know what? That’s for the birds. I’m going to stick with this digital stuff”?
I don't know if it’s because I grew up in sports or whatever, but I get super enthusiastic about stuff easily. No matter what company I'm at, if someone’s coming to me with an idea and they’re pumped about it, I turn into a mirror. I’m like, “Yeah, this is going to be sick. We’re going to do this. We’re going to add this thing to the data base and we’re going to start doing all this stuff.”
So when she’s talking about her selling cookies, I don’t even think about the normal model of people doing Shopify sites. I don’t even think about that stuff. I'm thinking from a software engineering point of view. I was a growth engineer. I do all the full stack, but for most of my software engineering career so far, I've been a growth engineer. I was at a few tech companies doing that.
I love the marketing and growth and that side of things, so building up her cookie forms and trying to optimize how people are putting in information. The way that you make it, so people are choosing the flavors right away before they even have to put in any information, and then finally they put in their address. It does all that stuff, so trying to optimize that.
And adding things like, how Amazon has My Orders, and you can go back and see your order history. Adding that is built into the product and seeing how many thousands of emails we collect. We launched at three weeks and we have over 10,000 emails locally. This is in a local little place that we have that many emails.
Crazy.
Yeah. It’s extremely focused on how good those emails we have been. So anyway, I get enthusiastic about this kind of stuff. I don’t care what the product is. I love doing new things. But yeah, I do still want to do the B to B side, even doing the cookie thing.
I still have a bunch of friends who are in sales, and I'm always talking about ideas. There’s something about how big the tech side can be. You have faster growth or faster potential or bigger potential.
But you do have a lot slower growth on the consumer side, I feel, especially with a physical product. We’re limited by how much we can do in a store. I've been efficient with one store, but we have to add more, more hubs. But once we start doing that, it’ll snowball.
The numbers are still crazy. If you think about the typical internet business, you have access theoretically to everybody on earth, everybody who’s connected to the web.
You see companies spending months, years, trying to grow their email list and find customers and they don’t get to 10,000. You have a business where you’re limited to your local area, and you’ve managed to get 10,000 people on an email list.
They were limited to a 10-mile radius. That's our delivery radius.
And that’s it?
Yeah.
Is there something about that focus that helps you build a better product or deliver more happiness or convert more signups? Why is it you’ve been able to get such high numbers, even though have such a relatively small pool that you can play in?
I think that’s it. It’s the focus. So this is the thing. I always loved building my own stuff. So with the effort it takes to build things, you're constrained in how many features you can add in any amount of time.
We added the online form and then it goes into this back-system thing, and we keep focusing on the efficiency. As we get a high volume of cookies, they’re still always straight from the oven. That’s the kind of stuff where a lot of customers complain about certain things, like “Oh, I can’t mix and match the flavors in a box. I have to buy two boxes if I want two flavors,” but that’s part of our focus.
We see in our system how many cookies we have to make for a 30-minute time slot. We have to make this many chocolate chip and this many churro cookies, or this many sugar cookies. We know that each box is whatever, so we make all the boxes, and then we start proofing those for the driver.
We’re extremely focused and limited, so that means that you can guarantee quality at that point. So people who are constantly ordering these cookies are recurring customers. It’s high. Sixty percent of people buy again. They’re always quality cookies. People are so surprised when they’re straight up warm when they’re pulling them out of the box. We just made them.
I've never ordered cookie delivery, but I think I would also be surprised if I order and the cookies come and they’re warm. That means you’ve got your shit together. You’re thinking about the customer experience.
Yeah. It’s definitely one of those things where, if you were to make cookies at home and you have them straight from the oven and they’re still falling apart, you can’t pick them up yet, we’re almost at that level. But they’re fresh and you can tell we just made them.
There are other cookie companies like this in different parts of the country. We were the first ones to do it in California. Up in the mountain west, there are a lot in Arizona, Utah, Colorado and that area. But as they’re growing, they’re doing a lot of franchising and all that. We’re finding that a lot of their quality is going down fast as they’re branching out.
They’re growing too fast, a lot of these places. We’re extremely focused on the quality. We only have one location right now, so it’s a lot easier to do that. But that’s part of the challenge. That’s the fun part, doing that.
So the goal, I think, for most Indie Hackers that I talk to, is usually some form of freedom. They don’t like working a normal job because you get a monetary ceiling with how much you can make with your salary. You have to work on a fixed 9 to 5 schedule. You can’t control the time that you work or all sorts of other things.
When you have our own business, you can control all of that. You can work from wherever you want. You can work with whoever you want, your sister, your friends. You can be as creative as you want. Does any of this stuff align with why you were building and growing Crave Cookie? What are your goals?
I think I started doing all the Indie Hacker stuff because I had all those same goals. But I think what it was is I was uninterested in the companies or the dynamic of the way I was assigned work at some of these companies.
It is a freedom, but it’s one of the things I like about the Netflix Culture doc, and it is part of their big culture thing, is to have what they call freedom and responsibility as a big part of their culture. I like the enthusiasm and freedom of doing something.
I don’t care if I'm working for someone if I get that freedom and that recognition that what we’re doing is having an impact. You probably even have more opportunities in a big company to do a lot of things because you don’t have to focus on every single little thing you do as a founder.
But yeah, I do like the freedom because I love enthusiasm and enthusiasm is contagious. I do feel a little lonely. When you're a founder and you're not talking to your colleagues, or when you're not a founder and you’re bouncing ideas off people and there’s no politics involved with that.
Being a founder is essentially a lonely job, because even if you have employees, their concerns, like you said, are much more focused. They’re not worried about the entire business. They’re not wearing every hat.
And there isn’t anyone, I guess besides other founders or perhaps your cofounder or investors who can empathize with exactly what you’re going through at any point in time, who are your true colleagues. Who’s running Crave besides you? Is your sister helping?
Yes. It’s me, my sister who’s running all the cookie R&D and the kitchen efficiency, and then my brother-in-law. He’s running the operation side.
What a phrase, “cookie R&D.”
Yeah. There’s something about being on a team with other engineers and other designers who have your same skill set and being able to talk to them. When I talk to my sister about engineering, she has no idea what I'm talking about. I could talk about the business, but you can’t talk about the user experience that people have, the different features I want to add. She’s like, “Yeah, sounds cool.” I'm like, “Okay. I’ll add that.”
I've seen you posting on Indie Hackers about the tech side of Crave Cookie, talking about how you kept things simple, your server cost, et cetera. That seems almost like it’s your escape, where you can talk to some other developers who care and know what you’re talking about and aren’t just going to be like, “Okay. Cool.”
Yeah. That’s one thing I like about Indie Hackers and Hacker News. You’ll see people with comments. There was a post on Hacker News recently about Crystal, which is a new programming language. I'm all-in on Crystal on Crave. That’s our server language and it’s not even at 1.0 yet. It’s a bad choice from a business perspective, but I don’t care.
Well this is the freedom you get as a founder. You can do whatever you want. No one’s going to say, “Don’t do that. It’s a bad choice.” If it’s fun for you, you just do it.
Yeah. I feel like I'm onto something when I'm doing everything extremely simple but not going on the no-code side. Everything is on one server in production, and there’s SQLite database, meaning it’s not a separate database. It’s not a separate server. It’s a file in that same database.
When I started it, I was writing to a JSON file, the whole database. That was it. I was reading and writing from that file. As we started to get too many orders, it was too slow to read and write, so I moved it to SQLite, and I've never changed it.
I had to do things like change the way I do my database indexing to speed up my queries and all that but yeah, it’s getting super optimized and it’s cheap. We’re paying less than $300.00 a month for this server stuff. That includes the deployment and all that. I have another server for deploying and building all this stuff.
So what kind of stuff are you building? If I am a customer experiencing Crave Cookie, or I'm an employee of Crave Cookie, what are the digital properties that all this code is running?
Most of the code or most of the app is on the admin side. So that’s very similar to how in Shopify when you login, it’s shopify.com/admin. As the store, that’s your side of the app.
From there, when people purchase cookies, it feeds into our orders and we can view all the orders. There are a lot of filters and things for viewing orders. You can view it by time slot, by customer, by whatever.
We get all these orders by time slot. We have to group those. We open up Maps. In the app, it will open up Maps for each time slot, for each 30-minute time slot, and you can see the clusters of where all these orders are.
So we have people who are literally clustering these orders on the map in the app, grouping them. And when a driver is available, we start giving them these groups of clusters, like, “Here, you’ve got these five orders, and in the next hour you have these other five orders. Here are ten orders of cookies. Go.”
That’s one of the benefits of me being a software engineer. This cookie business wouldn’t have all these little tools, these little competitive advantages of a local delivery business without me customizing all this. I'm using Google Maps, all their APIs built into our admin dashboard.
There are other things as far as flavor management, calendars for when flavors are available or delivery hours. How many deliveries per slot? We have a driver who calls in sick. We have one less driver for that few time slots.
It sounds complex. I mean, if I got to order from a website, a typical website, half the time I'm not even sure they’re going to get my online order. Their website looks like it was made in Microsoft Paint. I’m like “Is this even going to work?”
Meanwhile, you’ve got a very modern tech business going with this cookie front, where it’s super optimized. You’ve put a lot of work into building out all this stuff. How much of an advantage does that give you? Does that help you save a ton of money? Does it help you make your business much more efficient?
Before I added the maps that were built in, you had the address. That was a blink. You would click on that order’s address and it would open Google Maps in a separate window with that icon.
We have, in one time slot, 60 to 70 orders in 30 minutes. You can’t go through and see where each of these are. You're trying to guess by looking at the street name which orders go to which driver. It wasn’t grouping them, either. You were assigning them individually to a driver and it was a lot of time.
When there are 60 or 70 of them and you have one person assigning orders, you have to do one a minute. That’s insane. You can't even take a bathroom break. So it’s more like the technology has enabled us to have a higher ceiling of how many orders we can fulfill, based on how efficient these signing and grouping, and making sure the driver has the maximum amount of orders in his car when he’s leaving.
Otherwise, you’re given them, and you realize that two drivers are in the same area, then one has to drive across town after that. It’s bad. So there are even more. Now that we’re doing all this with grouping, I could start adding software to start clustering these groups automatically. I don’t need someone to assign them. It’s more ideas I have, and as I keep doing that, the software is more valuable. The business is more valuable because we’re innovating. A lot of restaurants would probably want to use this stuff.
You could strip this out and sell it white labeled to any other restaurant that’s doing its own delivery.
Yeah.
There’s something fun about building internal tools. Your sister, she’s doing cookie R&D. Her customers are the people who are eating the cookies, right? She needs to make delicious cookies, make sure their process is repeatable.
Your customers, as the CTO/technical cofounder, are to your employees, making sure, like you said, your delivery drivers can take a bathroom break, making their job as easy and efficient and painless as possible.
When you’re developing code and tools for your own employees, it’s wonderful because you get such good feedback. These are people you see all the time. You can talk to them. They’re not people you have to hunt down and try to figure out how you’re going to talk to your customers. They’re right there working for you all the time. It creates a positive feedback loop where it’s much easier to make sure you’re building the right thing.
That’s the reason why I don’t always like remote work, is there are some of these feedback loops. Especially early in a company when you’re building internal tools, you need to see the people using them.
I’d have to visit the warehouse a few times and sit there and watch them or talk to them about it. A lot of these people are young. Our manager over the warehouse is a girl in her 20’s. I don't know if she feels intimidated to give me these little feedbacks. “Oh, hey, this thing’s broken,” or “There’s a bug here.”
So yeah, being more involved with the employee tooling. But yeah, it’s not just the employee side, since I do run the forum that when people check out and then their confirmation and their orders page and their billing history and all that stuff so it’s doing both, one engineer. It’s a lot of work.
It’s just you writing all this code, doing all this design.
Yeah, thank goodness there are always third-party tools. I use Stripe and Google Maps and Trulia. Man, this would be impossible without all that stuff.
I think it’s easier than ever, or maybe not easier but it’s more empowering than it’s ever been to be a solo developer starting an online business, because you can do all this crazy stuff by yourself.
It’s not easy. I mean, you still probably have to work a ton. You still have to be good at what you do, and you probably develop a lot of skills over the years, but it’s possible. You can do it, and that means that you can scale up an operation like this with as few costs as possible.
You don’t need a giant team of developers. You can just do one thing and have a ton of profit. Also you get the increased efficiency that comes from having a small team where you don’t have a ton of communication overhead. You don’t have a bunch of other developers or managers or people you have to communicate your product plans to and take six months to develop a feature. You can think of something and build it today, because you’re a team of one.
But that also means I get excited about a feature. It’s not the most important thing, but I don’t care and I'm going to – I love seeing this thing out. I get this hunch to build something, and it’s not as important as something else. But people are excited when they see it, especially my sister.
That’s being exposed to product development and product managers. They always have these features they want you to build, but now I get to go off my hunch and build what I feel is distinguishing. Little things, like when there are only one or two orders left in a time slot, showing that in the time slot in the form, that kind of stuff.
It’s not as much of a priority as online shipping, if I was shipping cookies in the mail, because we could probably make a lot of money from that. But I want to optimize our current business model before I start adding all these other things, cause the likelihood of me going back and optimizing these things when I have two things on my plate is a lot lower.
I've got a recency bias rule for myself in Indie Hackers where I’ll always get excited about some new thing that I've thought of or someone suggested that I really want to build. Usually whatever I've recently thought of becomes by far the most exciting thing on my mind. Anything else gets pushed to the back.
Consistently it’s been the case where if I am excited about building something, that excitement outweighs my rational decision-making process and I haven’t thought through it. So my rule for myself now is I have to be still excited about something a month after I first thought about it for me to build it.
I'm not allowed to just build anything that comes to mind, otherwise I'm going to waste a ton of time. But it is fun to indulge and do whatever you want, use the programming language that you want, build the features that you’re excited about, and realize that it’s probably not going to kill your business and you're having a lot of fun doing what you want to do.
Everything does go in my backlog and I do order it, so there’s some accountability there. But I do feel like if you’re excited about something, it will show when you build it. If I'm excited, I'm feeling it, I'm in the zone, I’ll put a little extra touch on my form validations, all these different things, all the form as processing.
If it’s just a pain to you, you’ll forget to put the little loading icon when someone clicks on a form. They’re like, “Is it submitting? I don't know,” that kind of stuff. You do need to be excited about what you're working on, cause what’s the point? If you're a founder, then you need to be excited about it.
Let’s talk about how you got here. You weren’t always running a cookie business, and your previous Indie Hacker businesses, your last project was a SaaS business. It was all online. Tell me about that. What were you working on, and how did you come up with the idea?
My last thing was called Gamma Phi and that was a tool that was for gamification. You make these achievement lists that people can embed inside of their app. I had this idea when I was working at Qualtrics, which is the big enterprise survey company. They’re SAP now.
When someone signs up, there are so many things to do. Imagine going into Photoshop for the first time, you never used Photoshop before, how many things you can do. You want a list of things. “Hey, just draw a square for the first time.” Then once you do it, checking off that item of the list automatically is built into the thing.
With that achievement list idea, there was a lot of detecting stuff in the browser, doing all this DOM diffing and all that stuff. When someone clicks an element, how do I detect that element is what they wanted to be done? But yeah, there’s a lot of complexity there.
And I still think that kind of stuff work. People don’t like guides and walkthroughs where it forces you around the app. I don't like that stuff cause people usually click X on that. It puts a little list that gives you some tasks that you can check off. I feel that helps with me. I don't know what the market says.
So the idea would be that if I were to use this as a customer, let’s say I use this for Indie Hackers. I have it installed at my website and there’d be a little list on the bottom right that says, “Here are five things you can do: Fill out your profile. Create a product. Add an avatar. Make a post.” And as they do those things it’s checking off the list and they feel like they’re getting better at using Indie Hackers.
It’s even more advanced than that, because it has built-in APIs. You can say, “Get five upvotes,” and as Indie Hackers figures out how to detect if someone has five upvotes, then talk to my API and tell them that they have five upvotes. Then they’ll see that in their list. You can gamify even more. It’s like what batch systems you’d see on Reddit or whatever, but other companies have it built in and it’s a separate platform.
Why have you stopped working on this? What was the arc of the story?
With B to B, it’s important that you have a people person on the other side. I did. I had a guy who’s a VP of Sales at another tech company. I still talk to him all the time. We’re still talking about ideas.
It’s more like I was completely in on the code and building a design, but then he was still in the, “Let’s test. Let’s see if this is viable,” even though I’d already built everything. So he’s floating ideas, or we’d talk to some people in the discovery phase. Cause I’ll jump the gun a little bit, by a lot. I spent too much time on this thing.
How much time?
Probably eight months.
Eight months, just coding it?
Yeah.
Wow. Before you had any sales?
It wasn’t a fulltime job, but eight months of time. So if it were a fulltime job it probably would have been two or three months. So he was floating. He was talking to people in LinkedIn. He had a good email list. He was talking to product managers.
It’s hard to do that grind. I don't think he was as invested in it because it was still early, and he wasn’t as excited about it. So it’s like, “What more can I really do?” So it was finding the product-market fit and getting a customer base. I do think that it’s still something that’s valuable to people, but every time I show the actual product, people are like, “Wow, that’s cool.”
Did you make any sales? Did you generate any revenue with this thing?
No. I didn’t even have a payment form or anything up. It was still in the beta stage.
You're still building it?
Yeah.
What was it like deciding to quit that?
It was not me deciding to quit it. It was more like, “Oh, look at that over there.” Like I’m saying, I get excited about other ideas. If something is not successful, naturally I’ll just find something else.
Other shiny things will take its place.
Yeah. I don’t get bummed about it. I am a growth engineer. I am a data analyst. I see the logical side of things, too. I'm not just all emotion and excitement. I will be like, “Screw that little thing. I’m over it.”
I assume the shiny thing that distracted you was your sister saying she wants to launch a cookie company.
Yes. That was around the same time, yeah. I started that when I still lived in Seattle, not long after that. That was in 2018, late 2018.
And you’re thinking, “Okay. I’m a growth engineer. My sister wants to do this on Shopify. I can make this so much better, so much cooler.” Where did you start with Crave Cookie? What’s the first thing you do?
We did look at all the stuff with Shopify. We looked at how expensive it is. Just for an MVP, I don’t want to have a commitment of how much I have to pay a month, $60.00 a month or whatever it is plus a bigger cut of your sales.
I could easily build a website. I can easily build a form that feeds into a JSON file and we handle payments through Stripe or whatever. Then when you go to the admin side, you just see all the orders.
That’s pretty simple. And once on order is marked delivered, it filters that one out. You don’t see it anymore. That was the MVP. It’s extremely easy. You loop through all the orders in the file, and I render a table.
How long until you made your first cookie sales? If you’re building this from scratch, it’s going to take time.
It took me one to two weeks to build this thing, and we had our first sale.
Very cool.
It was growing fast in that little small town that my sister was living in. She’s moved since then to a bigger city. But we were in a little small town, Ripon, California, little tiny town. So she’s like, “Okay. We’re going to move to a bigger town and put in some roots, get this thing growing.”
So it’s an online business. The way people find their first customers is creating an email list or tweeting or posting on something like Product Hunt or Hacker News or cold emailing people. How did you make your first sales in one to two weeks in the real world, selling cookies to people in your sister’s town?
Instagram and Facebook groups. This was in 2018. She started contacting people she knew on Instagram and Facebook, announcing that there are these warm cookies available. I think people liked the idea of buying some homemade cookies.
But it definitely looked different than just, “Oh, this girl I know is selling cookies.” Once you go to the website it definitely doesn't feel like some local person selling cookies. That was my side, trying to make it feel like a reputable company, instead of someone selling cookies from their kitchen in my mom’s house.
They were in between houses. They were moving from Sacramento, lived with my mom for a while until they were moving down to Fresno/Clovis. From my mom’s kitchen, with a cottage food license, we were allowed to sell up to $40,000 of product a year without much regulation. It just started selling there.
Give me a snapshot of all the rules and regulations that go into this, because I have no idea how to start a food company. You’ve got to get a license. I assume you have to do something to make sure your kitchen is up to quality, up to snuff.
If you're going to start one of these things and you’re an Indie Hacker wanting to do an MVP, you have to get what's called a cottage food license. It might be different in different states. But in California, you need a cottage food license. That means, like I was saying, you can sell up to $40,000 a year.
It’s much less regulated. You can do it in your home kitchen. You don’t have to have all the nutrition facts. You can just put allergens. The way that you package things is different. There are rules. You can't have any pets in the kitchen. You have to have gates up around the kitchen and stuff. But for people wanting to get something started, if you want to try selling food locally, it’s just -
Sounds simple.
Very simple regulations. It’s like people who go to a -
Like a bake sale.
A bake sale or when they have the farmer produce where you can go and buy.
Farmers market.
Yeah, a farmer’s market. People have all these little things they can sell at farmers markets. They have Rice Krispie Treats they made or whatever. A lot of people, I'm sure, don’t have any license unless the farmers market requires you to have it, so they probably do. Yes, it’s a very simple license to be able to sell stuff like that.
But with our volume, we quickly needed a real license. That's when it starts to get expensive, relatively expensive. We don’t have a huge storefront with all the seating and the nice bathrooms or whatever. It’s different.
We have a warehouse you don’t see, but there’s still regulation you have to have. With the way that the kitchen is set up, the way the ceiling has to be over the kitchen, where you store your ingredients, how you store your ingredients, the dress code for people making these things, the hairnets and all that, there’s a lot to learn.
None of us had any experience. My sister’s been making cookies for a long time, but she’s never done it commercially, so it was a lot of experience and growth hacking, doing things and then asking questions later. Setting up a kitchen and then getting a license for the big warehouse after it’s already running, doing stuff like that.
Once you start working, it’s not like, “Oh the police are going to come and shut you down.” You’re working with the county to get these things set up, and they know you're working with them. They’re going to give you some slack if they know you’re trying to be legitimate and you’re trying to start a business.
That was good, especially since we were working with a coffee shop and they had some experience doing that. You need friends who have any kind of experience in it. You’ll find that if you’re doing sales and you're working with people.
Was there an inflection point where you went from, “This is just an MVP with me and my sister. We’ll see how this goes, sell a few cookies online,” to, “Oh, shit. We need to hire people. We need to expand our operations. This is a real business. I'm going to put a lot of time and effort into this”?
For me, it’s different than for my sister. I always saw this as passive income. I was fine working in the tech companies I was working in. Even before quarantine and all the COVID stuff, I was supposed to be going to Google and could go work at Google while I was doing this on the side. But that happened and things changed.
I was always seeing this as passive income and I would keep optimizing the engineering side and put in nights and weekends. But after the quarantine happened and we got such a huge bump, and I could see how much growth we could get, how this is a seven-figure business out of one delivery hub, having a food business making seven figures is crazy.
Chick-fil-A and In-N-Out Burger do that, but not everyone can own a prime location Chick-father-in-law-A and an In-N-Out Burger So to get a restaurant that can make seven figures and have almost 40% margins is a rare opportunity.
After the quarantine happened in March, we saw all the potential. We had some money in the bank to work with, on track for seven figures, yeah, we had to get a second location. That’s when things started to get real, now that we’re locking down a second location. We have it. We’re going to get the second delivery hub.
There are going to be a lot of things now that have to change with the software as far as having multi-hub support, especially when you’re ordering. Which delivery hub are you in? Are there differences in how many slots are available, because there are a different number of drivers per delivery hub?
These are the kinds of problems that, once I solve them, the company can copy and paste. I can copy and paste more delivery hubs at that point, and once you do the first new hub, the third and fourth and fifth are going to be so much easier. Once we have ten locations, is this something I can franchise? Is this software that I can finally sell to other people cause we’re managing ten locations?
You’re constructing and perfecting the playbook right now, and then after that the goal is to run the playbook in as many locations as you possibly can.
My philosophy is always to keep things as simple as possible but optimize it. You want to stand out because there are other cookie companies and there are even ones that are starting.
In California, they’re moving over now. They’re expanding. So we can beat them these better cookies, always warm, and they deliver them fast. That’s part of it, too. When people get deliveries, all of our drivers are wearing our Crave gear and it’s part of the experience. You know you’re getting a Crave driver. The whole thing is our brand.
People can write messages on the box when you order. So people write notes and say, “Tell the driver to spin before he hands me the box,” just little weird things, and he’ll do it and they post it on our Instagram. That’s the kind of stuff where were building a brand that’s more holistic. It’s not just a cookie delivery service.
It’s very popular in the town that we’re in. The amount of people posting about it, them opening the box or them excited when they open the door and it’s our delivery driver, there is a definite local brand there. It’s I guess one of the benefits of us having gone completely do-it-ourselves, don’t hire any external services.
Maybe it would have been good to use DoorDash or whatever when we were getting started with the MVP, but my brother-in-law was driving. We didn’t need to pay DoorDash. So it naturally went from my brother-in-law driving to hiring a driver instead of scaling up the third-party service.
Yeah. It strikes me as a crucial part of how your business works. Cause most restaurants that do delivery, you’re always faced with this choice. Do we do delivery ourselves, do we hire our own drivers, or do we use one of these services like DoorDash, Postmates, Grubhub, Uber Eats?
It’s not just delivery. All these services provide discovery, too. A lot of people figure out what they’re going to eat because they go onto these platforms and see a list of restaurants, but since you’re not using them, you’re not there.
You have to somehow get people to know about Crave Cookie and want to order you without you being a part of all these delivery services. What’s been your strategy for growth? How have you been able to reach so many tens of thousands of people?
It’s been completely organic. It’s people posting about us, and that’s the benefit of us being a hyper-global company. When people post, it’s their friends and neighbors seeing it, and those are our other customers or potential customers.
Once people are raving about a local cookie delivery thing, it spread fast. There were some things that injected the growth., like getting featured on some prominent local people's feed. It’s not like we paid them or anything.
It was organic. But then a local Fox station wanting us to be on their morning news for local cookie delivery for National Chocolate Chip Day or something, or where we gave free cookies to policemen or fire fighters.
It was that stuff that got us to be more discovered at first, but then now it’s mostly people posting about it all the time. That gets other people to see it and, “Oh yeah, I'm going to buy some cookies right now.”
We’ll post things on Instagram. We haven’t needed to do any email marketing at all, no text message marketing at all, even though every order has a phone number and usually a customer email. We haven’t used those ever to send marketing stuff. We’ve been having hyper-organic growth. It’s completely based off of the social media, I’d say.
One of the best things you can do as an Indie Hacker, when you’re trying to get your first foothold and grow your business, is you want to pick a small niche. There are so many big companies that are targeting the mainstream, and if you can find some small group of people who share products via word of mouth with each other and who all are similar and who are underserved by some bigger market, then you can get a foothold.
I think what you’ve done that’s cool is your niche has been your local community. As you said, everybody in your local community, they all know each other. If somebody orders a box of cookies, it’s a naturally viral product. You don’t order a box of cookies and eat it all yourself, unless you’re me.
You’re probably sharing it with other people, and they’re going to want to know where you got them, et cetera and you’re going to talk to other people about it if it’s a good experience. It seems like a great way to start growing your business, and you escape the competition that way.
There aren’t a bunch of other giant cookie companies competing with you, and it’s easier to get on the local news than it is to get on some massive news website online or be at the top of Product Hunt. Everything is scaled down. There’s much less competition and you can shine and then grow from there. So I think it’s cool to see the way that you’ve executed on this.
Having the big tech experience, I see how cutthroat the big tech world is and how optimized a lot of that stuff is for marketing. Taking that down to the local pond, it’s much easier from that side.
There are things that are harder, but to go back to the growth thing, we did also have, early on, gift messages that we’d handwrite on every box. So you can, when you’re checking out, put in 150 characters or something, but we will write it on the box, so we get a lot of gift orders.
People are gifting them to other people. It’s a very creative gift. It’s a box of cookies from a local cookie delivery company that are huge and warm and it’s a handwritten message from that person. So it’s a lot of gifts, and that gets people to discover it.
Super smart. There’s nothing more viral than a product which you can get, like a Hallmark card. You never buy a Hallmark card and just keep it. You give it to somebody, and now they know about Hallmark cards and they’ll want to give it to somebody else. So it’s built into your product to be viral. If you’re selling cookies as gift boxes, that’s a great natural way for the product to be something that others discover.
Yeah.
With online products, a lot of people will put a feature in there where they’ll say, “Oh, you know, share this with a friend. Here’s a share button.” The product isn’t naturally something that you want to give away, so why would anyone use that? But with something like cookies, it is.
It’s a great gift for a birthday or Valentine’s Day or anything like that. So if you nudge people to do it, you’re not trying to convince them to engage in some totally foreign behavior that they wouldn’t do normally. You’re just going with the flow in a judo move, like, “Hey, people want to share cookies. Let’s make it easier and make that experience better.”
We literally broke our single-day delivery record on Father’s Day, the Saturday before Father’s Day. It’s all about the gifting. It’s not all gifting, but yet even if you’re like me, I’m a health not where I don’t like eating a lot of cookies or processed food in general.
When I say processed, I mean not whole, natural ingredients. I like bland almost. I’ll straight up put cucumbers and carrots in a bowl with some peanut sauce on it. I like simple. But even I would gift these to someone because I know it’s nice to gift them. Even if someone just has a few bites, they’re still good. So even though I don’t eat our cookies, I definitely enjoy my samples.
Let’s talk about the competitive landscape with the local business. Some things are easier. There’s less competition. Your competitors are less sophisticated. They haven’t done marketing at a big tech company. They haven’t optimized everything, so you can compete easier in the smaller pond. But there are some things that are harder because it’s local. What’s harder about a local business?
Once you start doing local business, there is more regulation. Local business is the way that business has always been done before tech disrupted it. So there is human history of regulation, or at least American law history of regulation.
There are a lot of hoops to jump through compared to starting an online business, where it’s still kind of the Wild West. You can kind of do whatever you want. So there’s the regulation side. It’s not just local. There’s B to B versus B to C, because you can be local and serving local businesses.
We’re serving local consumers. In any consumer company, you always have to have that strong focus on your brand and reputation. And with local, it’s crucial to have a good reputation so that word of mouth spreads.
We don’t even have a location, so people aren’t finding us on Google Maps and reading our reviews. There’s no location to look up. So we are lucky that there aren’t any bad reviews, like “My cookies were too soft. They were undercooked.” In the first slot of the day, sometimes when we haven’t warmed the ovens up enough, that might happen.
People posting on Yelp or Google Map Review, that could hurt you bad if it drops you down a star. We don’t care about that stuff. We’re on Instagram. People see us on Instagram. They see all their friends commenting. We have hundreds of comments on a thread, and someone’s like, “Ooh, gotta get me some of those.”
It’s more like reading reviews in a live thread, like if you were to go read reviews on Hacker News or on Reddit or something versus looking at reviews on a static review site. That’s more where people are talking locally how to get involved with that stuff.
It’s not like any business can do this. There’s a lot of stuff you would sell locally that is just - I don't know. At what point does the homemade factor really help you versus hurt you? If you're selling suntan lotion or sunscreen or something, can you do that homemade? Who wants to buy that? It’s a soft problem or something. You can go do that.
But Chapstick might be okay. I don't know. If you want to be someone who’s like, “I have my own beehives and I have my beeswax,” that might be something you can do. Or for example, “My uncle owns a dairy farm. Maybe I can try to do a different kind of local delivery for the milkman,” try and do that again. So there are certain things that might have a certain cache or certain vibe that you can do this premium homemade product.
Have you thought about that, expanding into something besides cookies?
Yes. I want to make smoothies. I love healthy food. I’m not a strict vegan. I was vegan for years. I still don’t do dairy or anything. So I do like the healthier, plant-based stuff. I think having something like these premium smoothies that people can get, and you deliver them, but that company is only delivering smoothies.
We’re not branching into Java Juice where they’re starting to sell all these little pastries or pretzels or whatever. We literally just deliver smoothies. That’s the focus that you get. You get a brand. People start to associate you strongly with that product. So if they see you as premium cookies, premium smoothies instead of a cookie company or smoothie company.
Another thing is, we’ve had a lot of change in the last, what is it, 50 years since the rise of fast food. People don’t make food anymore at home or not well. A lot of the knowledge that people got from their parents, grandparents has been lost, family recipes and all that.
Is there a way to get back to homemade food that still tastes better than everything else? You’re not losing anything, you’re gaining everything. You’re getting better food. It tastes better. It’s higher quality. It’s better for you.
And is there a way to have a delivery service that says, “These are our meals for the week.” Like, “Thursday we have lasagna or pot roast. Friday, we have these two things.” You have to still make it simple cause you want to make it so you can have it super-efficient, but then you’re sending out these foil trays to people.
So families, moms, whatever, can buy actual good dinners but it’s way more convenient and better than everything else. There’s really not anything like that that I know of. It super focused and it has a predictable calendar that you can look at, and it has variety.
Cause a lot of things with variety, people think that having a big menu is variety. But I like change. People like change. People like changing seasons. They like it when it’s cold and then it gets hot. When it’s the middle of summer you’re missing the winter. When it’s the middle of winter you’re missing summer. You like change.
And people gripe about it, like, “Oh, bring back your sugar cookie,” but they like it when it comes back, and they buy it. So variety isn’t always having a lot of features or having a lot of products. Sometimes it’s just changing your products or having a calendar or a rotating, revolving product line.
That’s when we added flavor of the week. We had our churro cookie, which was our second flavor. It was very popular. People love it. When we announced we were not going to have that as a staple anymore, we were going to do flavor of the week, people were freaking out because it was very popular. It was 30 or 40% of our sales.
It’s their favorite cookie, gone.
But we said, “It’s not gone. We’ll bring it back as flavor of the week probably once or twice a month. So you’ll still get it, but now you’ll probably try something else that is your favorite cookie.” And that’s exactly what happened.
When we offered churro cookie before it was a staple, we had a guy who kept going around every single time he posted on Instagram, “Bring back the churro cookie. Bring back the churro cookie.” We did. We made it a staple. He loves it.
And then we got rid of it. We added flavor of the week. He tried the sugar cookie and he said it’s his favorite cookie he’s ever had. He’s like, “Bring back the sugar cookies. Don’t make it a flavor of the week anymore.” People love the rotation, even if they complain.
But in today’s society where we have all this advanced technology and things, you can mostly get everything you could want when you want it. You can get air conditioning when you want it. You can exercise when you want, not because you have to. There are so many things available to you. You’re not told no a lot.
So to tell people, “No, we’re not going to give you that flavor,” or, “No, we have a limited amount of deliveries. We’re not going to hire more drivers. No, we’re not open past 10 p.m.,” or “We don’t open before a certain time,” it does create some scarcity that people like even if they say they don’t. It’s part of when you were a kid, collecting Pokémon cards. Why were Pokémon cards so popular? Because there was this scarcity. There’s the randomness. It’s like gambling.
Yeah. You don't know what you’re going to get in that pack.
Yeah. This was all completely luck, starting it. It was a constraint of me building the software from scratch, and me not wanting to add multiple flavor support. We had chocolate chip. When I wanted to add another flavor, we literally had to get rid of chocolate chip and that other flavor be the chocolate chip.
But in the software, I was changing it to say not chocolate chip or whatever it is. If it’s between these days, show this flavor instead in the software even though it still says chocolate chip in the database. It was completely me slowly adding multiple flavor support. Now we can add as many flavors as we want on the form, but we learned not to.
The scarcity is smart. There’s a bakery that I used to live by called Mr. Homes Backhouse. They had an Instagram account where they would post, “Here’s our menu for today.” Every day there would be different flavors of donuts and different things.
There was this one apple bourbon donut that they made that I thought was the best thing in the world, but they only had it once a month. If they had it every day, I think I would have just gone there every day for a week until I got sick of apple bourbon donuts and stopped.
But because they didn’t, as long as I lived there I would check their Instagram account every day and then once a month I would see that they had the apple bourbon donut and I would go down to the bake shop because of that scarcity and the fact that it caused me to miss that thing.
They don’t let me gorge myself and go over the limit. They limit how much I can get of the thing that I want, which makes me crave it even more and it makes me a more loyal customer over time. So I think that’s super smart and it’s in line with what psychologically we know about marketing and selling. People like scarcity.
We sell out daily. By the end of the day, if you’re at 3:00 or 4:00, there are no time slots left. We deliver til past 9. There’s definitely something to it as far is limiting what people can do.
Even if we could hire a couple more drivers and get a few more slots in there, let it sell out. It makes people have a higher opinion of your company just because they think it’s more premium and everyone’s buying from it. There was as huge social proof marketing that was happening a couple years ago, where you would see all these pop ups on our website. “Oh, so and so just bought a shirt.”
Who’s buying.
There’s that social proof side. And by having things sold out, or one slot left, and we’re not lying. We’re not just trying to get you to buy cookies. We only have one slot left, then yeah, there’s some social proof there. It gets people to continue to associate you with the higher quality.
There’s a good book on this. It’s not a business book at all. It’s a psychology book. It’s called Influence by Robert Cialdini. He talks about six principles of influence and how people convince other people to do other things.
Two of the big ones are scarcity and social proof. We like to do things if we know that there’s a time limit. We know that there aren’t a lot of resources to go around. We want to make sure we get something before it’s too late, and social proof, we take our cues from other people.
We see other people like things, and we trust those things more. We outsource our thinking to others rather than having to figure out everything from first principles ourselves. I recommend anyone who’s trying to sell something, whether it’s in the real world or online, to read this book because human psychology is so important.
This works in online communities and SaaS businesses as well. With Indie Hackers, for example, we’ll have certain conversations, certain form posts that occur irregularly. For example, we’ll have a big, “Hey, show off your landing page” post on the forum.
We tried building this into a permanent feature and there was always a little bit of participation. People would post their landing pages every now and then. But then every now and then if we do one big post, once or twice a month, that post will get 300 comments because everybody’s been waiting for the opportunity to share their thing.
So I think it’s not just cookies. It’s not just food or real-world businesses, but even if you have a SaaS business or a community online, if you limit your features and you create some scarcity, I think it will create more demand. It’s something I think is underused and it’s cool to see how you're doing it with Crave.
That was always the philosophy with the founders at Basecamp. They always had that philosophy where they don’t give all the customers all the features they always wanted. They’re still relevant today. They’re still in the news, whoop-de-do.
It works.
Their Hey email thing they’re just launching, it’s not the only philosophy. There are other ones that work. It depends on what you’re selling.
Well listen, Sam. I don’t want to take up too much of your time. It’s been cool to hear about Crave Cookie. Your growth is insane. It sounds like you’ve got a ridiculous number of ideas for where you can go in the future.
What would your advice to be other Indie Hackers who are listening in who haven’t found any success yet, who don’t know what to work on, and who are maybe considering starting something new? What do you think they should know?
I can only speak to technical people, because I'm a technical person. But it’s not clearly true, but you’re probably good at something or interested in something, and you don’t realize how you compare with someone in a very random way to sell something.
I was a very good software engineer, growth marketer, whatever and my sister makes cookies, and I sell cookies. We’re making seven figures in revenue. It’s unreal how much more success I had doing something that I would have thought was beneath me when people love cookies.
Who cares if it’s, “Oh, it’s not a big SaaS tech company. I’m not featured on TechCrunch. I’m not whatever.” I have more people loving my cookies than a lot of people have loving their stuff, even if it’s something they use all the time.
People are passionate about it. Seeing all these little kids posting things, you see little kids enjoying and it’s their thing. I remember growing up and getting ice cream from a certain place in my little town. It’s still a memory. People have memories of this thing that I built from their childhood.
You can do anything random with some people but find someone who has another skill in a different area and don’t always go it solo. Try to build something quick and don’t waste time building a big old thing. That’s what I wish I would have done different.
I think that’s great advice and I want to reiterate it because I think it’s understated. It’s something people should think more about. Number one, if you combine your skills with somebody else, the number of combinations of things you can do explodes exponentially.
If you’re like, “I'm a developer. I have to write something with code,” there aren’t that many ideas that are going to come. But if you’re like, “Hey, I’m going to pair with a salesperson who’s an expert at selling this. I'm going to pair with a cookie maker,” suddenly the combination of that means you can build something that’s unique that a lot of other people haven’t thought of and aren’t doing. I think that’s great advice.
And then number two, you don’t have to have the fanciest, flashiest, coolest, newest thing. There are a lot of things out there that people already know and love. People love cookies like you said. There are a million things that people love.
You don’t necessarily need to innovate to find out what people love. You can look at what people already love and figure out a better way to bring it to them or a different way to bring it to them and de-risk your business in that way. I think that’s super smart.
Like you said, you don’t have to innovate. You just have to be better at something that people already like or be more convenient. What gives you that competitive advantage and then optimize for that competitive advantage which differentiates you from other people, and that’s it.
Exactly. It’s frustrating because I see many people stuck on this “I don’t know what to build” phase. The world is full of a million things that work well. Just build one of those but for an underserved group of people or in a better way or optimized. You don’t have to worry about what people love. The answer to what people love is out there. You have the answers to that test. Just go build it.
Sam, thanks so much for coming on the show. It’s been entertaining to talk to you about your cookie business. Can you let listeners know where they can go to find more about Crave Cookie and maybe where they can buy one if they’re interested?
We’re at cravecookie.com. We don’t have online shipping yet. I've built it out and I tabled it. It’s a matter of time, probably in the next month I’ll probably add some online shipping so you can try these.
I'm not on a lot of social media. I read books by candlelight at night. I don’t like things to be overly stimulating. I like being in control. I don’t have a lot of social presence online. If you want to connect with me on LinkedIn, I guess, send me a message or whatever if you have any questions. My email is sam@cravecoookie.com. If you have any questions, that’s where you can find me.
Alright. Thanks a ton, Sam.
Yeah. Thanks, man.
Listeners, if you enjoyed this episode and you want an easy way to support the podcast, you should leave a review for us on iTunes or Apple Podcasts. Probably the fastest way to get there if you’re on a Mac is to visit indiehackers.com/reviews. I appreciate your support and I read pretty much all the reviews you leave over there. Thank you so much for listening, and as always, I will see you next time.
Did you know Indie Hackers has a newsletter?
Sign up to get insights, takeaways, and exclusive content from each new episode, directly from the host, Courtland Allen.
I have just listened your interview really interesting!
First of all impressive work! but I couldn't resist visiting your page and analyze it from the efficiency / speed POV:
· Your static server uses http1 this limits the amount of parallel threads used by the browser resulting in a slower load.
· Your API is http2 but without gzip enabled.
· PNG and SVG can be compressed with almost no lost, down is a link with all these assets compressed (285KB in savings)
· Do you really need 18 variations of the same font? It's 1MB or 43% of all resources downloaded.
All of these optimizations not only makes your site load faster but could impact your SERP rankings:
https://developers.google.com/speed/pagespeed/insights/?hl=es&url=https%3A%2F%2Fcravecookie.com%2F
Assets compressed:
https://drive.google.com/drive/folders/1Y3aopRHiiLiXkG2PbWg_PvQS-jFYGhdd?usp=sharing
nice! I need to be reminded of this kind of stuff.
Optimizing page speed was something I've done extensively at previous companies, but I just haven't had the time to do it for Crave.
I'm mostly focused on UX/Product optimizations at this stage. I made a decision to not focus on every little engineering improvement. It would have been a waste of time to focus on that if the company never got off the ground anyway.
But yeah, now, it might make sense to add it to the backlog.
All those assets are being served from a CDN so i just have to put a compression layer over it.
Nice analysis. I learned something new from it. =)
Hey @DevMunchies. I got very interested in Crystal when you mentioned it.
I’ve read the language reference and I dabbled with it a bit on the command line.
I’m a bit discouraged about the seeming state of 3rd party stuff. Most popular shards have not been updated in years and Kemal for example has at least one glaring issue (https://github.com/kemalcr/kemal/issues/489).
Can you share your experience with Crystal in more detail please? Using the language in practice, issues or hurdles, etc...
PS: The block / proc / closure syntax seems very all-over-the-place, compared Swift or Typescript. How is it in practice?
Great to listen to this episode where technology and physical business are tightly knit.
Loved that podcast, thanks!
@DevMunchies loved the episode man! Question for you: you mentioned your previous project gamify (sp?) - I love the concept. Currently trying to think about how to drive more of our users toward active status and something like that would be incredible! Is there a public website for it or github repository?
Hii thank you for sharing! your website is so impressively fast! Any suggestions for making a fast wordpress website? Also what if you were in a location where website payment penetration is still quite low. Would you still use a website to sell cookies? @DevMunchies
@DevMunchies loved the interview, thank you so much. Such a fascinating example of using constraints (local delivery only) to your advantage and optimising for user experience. I'm in awe of what you and your sister have built.
I have a technical questions if that's ok. I was wondering in Crystal lang are you using either of these features: a) macros b) concurrency primitives (like channels etc.)? Or is it the case that you could have used any backend language to achieve the same outcomes?
Thanks again for sharing, really appreciate this. 🙏
Thanks for the kind words. 🤘
I could have used any statically typed, compiled language.
I say this because as a single engineer on a fast growing code base, I would have produced too many bugs had it been dynamic. I have already done several major refactors which would have been very ugly without strict typing. (Linting isn’t enough)
For example, I’m forced to explicitly map how all SQL query results map to classes or how I parse JSON payloads. The logic I have to write to parse POST request bodies are verbose but it’s worth it IMO.
My second choice would have probably been OCaml (or F#), Go, or a JVM language, or even elixir (even though it’s not statically typed).
You're brave, I get scared with these kinds of technologies that I'm going to hit serious compiler bugs once I get deep into the project, not to mention the buggy or scarce important tooling. I devoted a lot of time to Elm before realising its shortcomings.
I've been using Haskell a lot for the past couple of years and the GHC compiler feels very mature (it's older than Java), but still a little bit scary to rely on it completely. I guess in your case, worst case scenario you can quickly break out functionality into another language and connect through HTTP or AMQP.
Anyway, technology aside nice work on the business. I am jealous!
Fascinating, thank you for the detailed reply.
I very much understand the appreciation of discipline. I'm a Clojure[Script] user myself and while it isn't statically typed it does enforce discipline around mutation and side effects which I have found to be hugely beneficial for the same reason - way less bugs.
Best of luck and I hope you find continued success with this and future projects!