Sam is a husband, father, creator, and software engineer. He’s passionate about creating, learning, design, and optimization of anything and everything. When he isn’t building the web, he’s working on building iOS apps as an indie developer, coming up with new ideas, or exploring the beautiful Montana outdoors with his family.
Sam created the iOS app Carte – Easy Meal Plans with the hope of simplifying the process of meal planning for his family and others.
What was the inspiration behind Carte?
Carte is something that I had on my mind for a couple of years before I did anything with it, but it pulled at me that entire time.
My wife and I generally plan out our meals for the week so that we can make a single trip to the grocery store during the weekend. This process, as necessary as it is for us, usually involves my poor wife desperately trying to find a time Friday night or Saturday morning during which I “feel” like thinking about food. I seldom do, and when I sit down to think, I feel as though I’ve never heard of more than two meals in my life and the rest elude me.
I kept thinking about how nice it would be to have an app that just did this for me. I knew there were meal planning apps out there, but nothing that fit some critical needs for me:
- I wanted to be as simple as I please. I needed to be able to simply tell the app that I eat tacos without being prescribed a set of fancy recipes or being required to have a full recipe from elsewhere.
- Using the simple meals that I eat and want to make, the meal plan would be auto-generated for me on whichever day I choose
For at least a year, I stockpiled our hand-written plans/shopping lists for a database that I would use after finally building some simple web app for myself.
Between the time I thought this up and the time I began executing, we had two kids. The timing was rough and it was challenging to finally dig into it– but I did, and I decided I wanted to make it an iOS app.
What has been the most significant change in vision, design, or direction of an app between its inception and release?
I want to call out two big changes.
The first, and probably most impactful, is a change in the language and architecture I used to build the app.
When I first started building the app I had no prior native iOS development experience, so it was half an effort to create an app and half an effort to break into that world and learn something new. I think at the time Swift 4 had just come out, so I worked my way through some online learning material and quickly picked up the general iOS development flow.
I wrote the majority of the app in Swift, the core elements being a meal plan, meal plan history, a shopping list, as well as some supplementary views. I think the time frame for this was between July and early November 2018. In November 2018 I took a new job that would move me across the country and lost interest in this personal endeavor for a few months.
It was during the next months that I was introduced in more detail (it wasn’t new to me) to React Native. I was drawn to it by the fact that I could build actual native elements using React (which I was having to learn anyway) and that I could iterate way faster than the glacial pace that I felt I was going at while building with Swift. I started to wish I had built the app in React Native, and so, in April 2019 I decided to start from scratch and rebuild the whole thing.
I could write quite a bit on the outcome of this, what went well, what didn’t, and if I would make the same decision now– but I think it was the right decision for me at the time.
I surpassed the progress I had made using swift within a month.
The second point I have is a change in vision, and it was an important change in the thought process for me. I owe my wife for this one; she’s probably the biggest technology and app critic I know and the hardest person to get to use a new app. Naturally, I made it my mission to get her to use what I had made.
Ultimately, what this boiled down to was developing an understanding of not only how I wanted to solve my problems, but what my ultimate goal was in building this app.
My wife wanted more out of the app than my simple ideas had planned to achieve. I decided it was important to stay true to my initial motivators while building on top of that foundation to create something that would be useful to a broader audience as well.
For this reason, I decided to move up my timeline on implementing some more in-depth recipe curation and discovery features.
What has been the single most difficult experience, time, or moment as an indie developer? Why? How did you overcome it?
For me, this was an experience.
Releasing something of your creation into the world to be judged by people is difficult. When you work so hard and long on something, using the tiny, fractional free moments you have, it becomes somewhat sacred to you. Letting others in on that is personal– surprisingly so, if it’s something you’ve designed with that purpose in mind.
It’s hard to get past the ever-present feeling that there’s something else you could do better or another feature that you have to add for anyone to find value in it. For me, it was also hard to shake the idea that it would get into people’s hands, break fantastically, and they would hate it.
I had never released something like this on my terms before, so the moments leading up to it were like standing on the edge of a cliff. I imagine it’s not like that for everyone. I’m very private.
The thing is that when I finally jumped, nothing happened.
People don’t just immediately start flocking to your app. For me, it was both a relief and disheartening. Mind you, I wasn’t naive, I knew there would be work to be done there– but one can hope, right?
What is the biggest mistake you made or regret that you have and why?
This is a good continuation from where the last question left off.
The biggest mistake I made had nothing to do with the technology, development process or any sort of design. Rather, my biggest mistake was entirely in my social tendencies.
I’ve mentioned that I’m a private person. That’s true– to a fault. Historically, my social media presence has been sparse and, while I generally feel my motivation was sound in keeping it that way, I’ve come to realize I could have been developing a more intentional presence for years without giving in to behaviors that I’ve witnessed to be distasteful.
It’s a wonderful thing to have an audience of interested individuals to share your joy and creations with. In terms of indie development, it lends help in the form of communal support, spreading excitement, or even getting more into the weeds with testing.
All that being said, when I released my app, I had very few people to share in my excitement, to help spread the word, or to provide any feedback.
What practices, disciplines, or habits have been the most beneficial to you?
The discipline of continual progress, hands down.
It’s very easy to lose momentum or to lose motivation, so you can’t rely on these things. You take a break from working for one night; one night turns into three nights and that turns into a week.
I found that the longer I spent not being productive, the less I wanted to– but ten minutes after I got back to work, I would feel a fire burn back to life inside me that got things moving again.
That’s not to say that breaks shouldn’t be had– there’s more to life– but that’s why it’s a discipline. I learned to take my breaks and then get right back to work in the next appropriate moment I could find, letting drive, not simple motivation, push me forward.
I have a wife, two kids, a full-time job, and every reason to take my sweet time, give up, or just never start a thing in the first place. Discipline against time-wasting and inaction is critical.