Posted April 28, 2021
My wife and I are working on a fun side project to create a micro-business to make and sell homemade ice cream to our neighbors. We’ve been fiddling with designs for a few weeks and I’m going to start building the web app soon. I’ll be live streaming all the coding so follow me on Twitter to see announcements on that.
We had our first child last August (pandemic baby, baby). As a treat, I fulfilled a childhood dream and bought a fancy ice cream maker. Which ended up being great fun as the fresh ice cream helped distract / soothe our stressed / exhausted new parent brains. For a week or so post-birth I was making a new flavor once or twice a day for ourselves and my in-laws who were staying helping out.
One of the problems with making ice cream (all desserts really) is that once you make it you… end up eating it. Ice cream, while delicious, is not perhaps the key component of a healthy balanced diet.
So I have the dilemma that I want to make all the ice cream flavors but can’t eat them fast enough.
My wife and I have also felt isolated during the pandemic (like most people) and want ways to (re)connect with neighbors and make friends.
So sprung forth the idea of creating a new ice cream micro-business. We create a web app where people could browse our flavors (seasonal from our backyard fruit trees and local grocery store) and schedule a time for us to deliver the home-made hyper-fresh, hyper-local, hyper-yummy ice cream.
And then once a week or so, we’ll strap the little guy into his stroller, meander over to the nearby grocery store to pick up ingredients, make the ice cream, then deliver the ice cream (leaving a bit left-over at home for tasting).
We’ll restrict stroller delivery to within a 1/2 mile (people further out can pick up)
Something I’ve been thinking about for a decade+ is the idea of Situated Software. Clay Shirky defines it as:
software designed in and for a particular social situation or context. This way of making software is in contrast with what I’ll call the Web School (the paradigm I learned to program in), where scalability, generality, and completeness were the key virtues.)
Software is great. I’ve write some of it and interact with lots more of it in all the physical/virtual parts of my life.
But I think we should and will have a lot more of it.
How will we get more great software? One theory I have is we’re approaching a saturation point for the global or “Web School” scale software. How many Googles do we need? Amazons? There’s 10s of thousands of SaaS services with seemingly no end in sight but the niches they’re chasing seems smaller and smaller. There’s millions of mobile apps out there. But software at the scale of the individual, family, neighborhood, community, etc. are all relatively unexplored spaces. The explosion of #nocode software products is strong evidence of this.
As Richard Feynman famously said about nanotechnology, “there’s plenty of room at the bottom”.
So this project is also an exploration of this the idea of situated software. How practical is it to build software that only my family and a few neighbors use?
If, in fact, writing high quality software is easier now than ever — easier to start projects, build, ship, and maintain software — then we should see a lot more situated software get written.
Historically, I haven’t ended up enjoying side projects. They’re fun at first but the friction of ongoing maintenance and having to re-orient myself every time I want to change something end up sucking the fun out of them.
I’m really curious if the strong conventions of Gatsby, painless CI/CD and hosting with Gatsby Cloud, and liberal usage of hosted services for the more complicated bits end up making this fun side project stay fun.
Kyle Mathews lives and works in San Francisco building useful things. You should follow him on Twitter