A New Home for Spend Stack

The Indie Dev Diaries
Dec 3rd, 2020

So, where do I even start with this one?

Spend Stack, and my LLC which sells it (Dreaming In Binary LLC), has been acquired, effective today.

First things first. If you’re a Spend Stack user, this is a very, very good thing. Spend Stack now has an entire team dedicated to it. I’ve spent hours sharing my vision, feature roadmap, where it is now, where it needs to go and more with the people who will now be working on it and they’re pumped to get started.

I’ll get to how we got here in a second, but know this: Spend Stack finally has a group of talent to foster it which it so rightfully deserves. Engineers, a product manager, designers and more. I’m very excited for its future.

Further, now that the app is no longer mine I feel like I can be more blunt without sounding super self serving by saying this:

The app is great!

It is! It’s in a position to take that next leap. It’s well-built, easy to use and makes itself home on iOS. But none of that was ever the issue. Its biggest issue was, admittedly, well…me 😅.

I don’t think like a product owner most of the time with Spend Stack, by my own admittance. One of the core reasons I made it was to see if I could make something that would completely fulfill my Best in Class list. But it’s a product now, and it needs to be treated like one.

The Why

That said, for the past year Spend Stack has done something pesky on me; grown! Thousands use it daily to get things done in their financial life. I’d wager that it’s done, by any measure, what a lot of us want our side projects to do: Be used, liked by those use it all while increasing its user base.

Facing the music made me realize that in some ways, I was oddly being selfish. I released my toy pet project without much thought to the responsibility you have when you make something. It’s a wonderful arrangement, to give people something they find useful and then they pay you for that thing - but you need to meet your end of the bargain.

I want to honor that. So four months ago, I sat down and answered some questions like:

  • What does Spend Stack need to do to make more money to justify more work on it?
  • What features is it missing to compete on a larger scale? Of those, which make sense to do and further its mission statement?

Answering those was illuminating. I realized that making the “perfect” app, while a worthwhile mission that I still want to pursue, had to take a bit less of my time than making the app go towards its user’s needs more.

The long and short of it is - there is a mountain of work ahead of me. Worthwhile, good work - but a lot of it. Not a small feature. Not just a design tweak. More than that. Essentially, I’ve built a solid base of a product. Now, it needs to put on its grown up pants.

I accepted this and made up my mind to start breaking down these tasks to get on it. And then, life stuff happened:

  • We sold our house
  • We started building another one
  • COVID-19 happened, and complicated both of those things financially and logistically

…and through it all the unthinkable happened: my passion to keep this Spend Stack train chuggin’ started waning 🚃.

And I hated that. So much 😔. I wanted to want to complete that work I set out for myself, knowing the pay off would be worth it. But other competing thoughts came up when weighing the time investment. I can sum it up into two, distinct points:

  • I miss writing on this blog about not only indie stuff, but Apple APIs, Swift, etc.
  • I keep thinking about the apps I’m not making more than the one I was making.

Ah, but the App gods realized this too! Around this same time, a mutual connection introduced me to Spend Stack’s eventual acquirer.

The How

This is where things started to go off the rails a bit. I’ve never sold an app, let alone an entire LLC. After an introductory chat that was supposed to last 30 minutes go on for hours, I realized that Spend Stack had found a better place to grow - and it was no longer with me.

I adore this app, though. I would never, ever give it away. My name is on it, and I think that really means something. So I did my due diligence beforehand. I talked with close friends who had been through this, I found out what Spend Stack’s fair market value was and reached out to a few folks to get an idea of what I was in for.

let concatenatedThoughts = """

So I talk about being a best in class app quite a bit. And from a monetization standpoint, that literally paid off. Spend Stack was worth more than other apps with similar numbers due to its quality, and I was really proud of that. That's not me talking either, that's from a valuation from a third party and from getting the same feedback from suitors. So, work towards that mark! I know I always will with whatever I make.

"""

After a few weeks of this, I ended up with some clarity. I felt great, but only about one option. I don’t know if this is how things always work, but once I put a few feelers out some offers started cropping up. The dealings weren’t ever made public and the whole thing was behind closed doors.

From that, there were a few interesting roads to consider, but I never made an off the cuff decision. I slept on it. I declined to take on any sort of funding or acquihire opportunities. All of those were on the table, but in the end I didn’t think they were right for me. I’m 32, and while I feel all nice and young - I’m definitely not in my early 20s. Grinding it out on a start up does not sound as appealing to me as it once did. I love my day job at Buffer, and the people I work with. I’d much prefer lower risk, lower reward at this point in my life and more importantly when it comes to taking care of my family.

Thankfully, I found someone who thinks as much of Spend Stack as I do. So, if you’re looking for a post about how I sold my app for a gazillion dollars to a silicon valley titan, well - this is not that. This is about a well intentioned company taking over an app that’s simply outgrown its original developer.

And I am, in fact, putting my money where my mouth is quite literally. There were at least two other companies who wanted to acquire Spend Stack for more than what I sold it for, but the fit was best here. The future and nourishment of Spend Stack means more to me than making a lot of money - and I can’t prove it anymore than through the actions I’ve taken.

And Spend Stack Today

To most of you, Spend Stack is quite young - only releasing last July. For me, it’s much different. Spend Stack has been a big part of my life longer than my oldest child, who is about to turn 7!

I started on Spend Stack right out of college in 2013, and the first version (which was not a success) shipped that year. After I pulled it off the App Store, I started work and design on the version you see today - around 2015.

Put simply - Spend Stack has been what I’ve done for a long time. So, I don’t take any decision to part with it lightly. But I do want it to expand and grow. It feels good knowing it has the best chance to do that now.

And I do too, but just in new ways and different directions.

Quick Questions

What if they make a million dollars from it!?
This is one of the first things my sister said when I broke the news to her. My response?

I hope they do!

I hope Spend Stack becomes their (Prometheus Interactive) largest property and it takes over the entire world, nothing would make me happier.

Why?

Because I arrived at a genuine place where I gave Spend Stack all I had to give it. I feel accomplished, at peace with it - I did all I could for it.

It charts all the time, has hit and stayed at #1 several times, was part of the Apple Retail Demo program, had multiple banner features (and just got pinged from another huge one that I will unfortunately miss), written about and more. It’s kinda like if you lost a championship game, but knew you gave it all you had. Except, in this scenario - nobody is losing.

Wait, your entire LLC was sold? Why?
Ah, iCloud. You slick willy.

The fact that I use CloudKit to sync data in Spend Stack is the only reason why this happened. Spend Stack is glued to Dreaming In Binary LLC, and I can’t simply transfer the app to a new owner. So, the entire LLC was absorbed. It made the acquisition a bit trickier than it should’ve been, but we navigated it. It extended the process much longer than usual, and I so, so dearly hope Apple addresses this in the future.

Aside from the logistical hurdles - who doesn’t want to provide a good sync experience on Apple platforms? We all do. Their API is there to get it done. But we’re left with having to make an LLC per app if we do, which isn’t great. Further, indies (like myself) want to use the money we make from our apps getting acquired to invest back into the ecosystem with new apps, while the acquired ones get even more attention. It’s a win-win to fix, so here’s hoping.

Are you still going to make stuff?
1,000%, absolutely, without a doubt. As my wife Jansyn put it, “I think a piece of you would die inside if you weren’t making something” and she is absolutely right.

For now, I’m going to enjoy a nice break. I plan on taking a few months off from side projects of any kind to just relax a little bit. Then, I want to dust off some stuff I haven’t been able to do since I’ve always been working on Spend Stack. Here are some ideas:

  • Revamp my website design. Add in some tool tips.
  • Write more technical blog posts, as I used to before Spend Stack shipped.
  • Maybe do a book over Indie Development I’ve worked on off and on for the last few months.
  • Release a fully in-depth .pdf guide of my best in class post with code samples.

But hey, I was put on this earth to eat pizza, slam back espresso and write software. So when I do get back to apps, smaller utility based ones excite me. Spend Stack is simple on the surface, but the world of finances and the way people use software geared towards it are incredibly complex and require a lot of care. Doing something a bit “simpler” sounds like a lot of fun, and I want to ship more apps this time around too, whenever I get to that point.

That said, there are several “bigger” app ideas that I’m really excited to explore. What I’m finding is that I simply adore the Apple platforms indie space (no surprise if you follow me on Twitter or read this blog) and I want to do stuff for them. Be it writing, making software or something else.

In short, this is a new, exciting chapter for me. But in practice today, I’m just taking a breather for now and playing a lot of Call of Duty currently (MP5 still needs a nerf).

How much did it get acquired for?
That’s NDA’d 🤐. But, I’m very happy too 😄. My new house went from being a bit stressful to, well, not being stressful and I’m very thankful for that.

My Last Spend Stack Thoughts

This feels like a good time to close a chapter. It wasn’t easy to do, as many who go through this kind of thing typically say. You have some doubts and similar hesitations:

  • What if I just stick it out a bit and do what I need to do to monetize more?
  • What if I don’t make anything this good again?
  • What if I don’t find the time for another app?

You can what-if yourself to death or until Xcode finishes indexing your project, whichever comes first. The thing is, I’m happy. Really, the only thing I didn’t accomplish was winning and Apple Design Award and finishing out my Best in Class list. But there’s always tomorrow for that.

So now, I look back at it as a job well done. For a long time, it was a huge passion of mine. I couldn’t wait to wake up and work on it. Each new part that I finally got right after tweaking it over and over would make my heart sing.

People like to say that programming is very utilitarian- and in some ways, that’s true. But we forget the poetry in it too. It’s definitely there, if you look hard enough. We often tout artistic works and awe at their beauty when it comes to things like paintings or sculptures - why don’t we do the same with software?

That was Spend Stack for me. Each part I poured into to make happen, it all brought true joy to me. Because if we aren’t spending our days working on things that truly make us proud and reflect a little bit of who we are into the world, then really - what are we even doing?

Final Thoughts

It’s absolutely surreal to think that these very words are some of the last I’ll ever type about Spend Stack on this blog. I think it’s enough now. On to the next!

For everyone who followed along, from the bottom of my heart - thank you ❤️. It’s so stereotypical to say it, but this is also the start of a lot of new things from me too, so be on the lookout.

Oh, and here’s a picture we snapped of our new home. We’re excited:

Until next time ✌️.

Happy When?

The Indie Dev Diaries
Sep 11th, 2020

Early this year, my youngest daughter was bed-ridden in the hospital. As her (already tiny) body tried to fight off some mysterious infection that nobody could quite peg, I just sat around anxiously feeling powerless. If you’re a parent, you know nothing comes close to your children being sick. It brings waves of emotions, worry and reflection.

During our first night, as I lounged in a stiff, plastic covered chair beside her bed, I tried to occupy my mind on something other than the current situation to relax (which actually led to this post). As I wrote those words, my mind attempted to reconcile the situation and find some sense in it. As it did, I began to feel embarrassed at the way I had been framing my joy and happiness just days before.

While I looked at my daughter sleeping peacefully, albeit tired and exhausted, I was given a very terse reminder of a lesson I’ve learned several times before but so quickly forget - avoiding “happy when __” syndrome.

As the week progressed and Baylor improved - I made a note to write down the lessons I learned that week. Far be it for me to remain reticent on any facet of my life, I decided to share what I more or less wrote down - the result of which you’re reading now.

Where We Think Happiness Is

I often thought about how proud I’d be when I made an app that had any modicum of success. To top the charts, have it written about or have actual users - imagine that!

And I was right….ish. All of those are incredible. But I often forget what else they are - fleeting feelings, transient and mutable highs.

An inconvenient inevitability about human nature is that we often convince ourselves that joy hangs within reach, but it’s just on the other side of something else we can see in the distance. And, when we do get there (often at the cost of other important things, like personal relationships, other hobbies - you name it) we get frustrated that the grass wasn’t greener after all.

But! Certainly we will be happy when other things come to pass.

I’ll be happy when I’m out of debt.
I’ll be happy when when kids are out of the crazy 2’s phase.
I’ll be happy when I have more room or a new house.
I’ll be happy when I have that new job.
I’ll be happy when it’s the weekened.

And, as indies - the “happy whens” can have gasoline tossed on the fire:

I’ll be happy when when I top the charts.
I’ll be happy when I actually make any money from my app.
I’ll be happy when people use my app.
I’ll be happy when someone cares at all about what I do.
I’ll be happy when my app is featured.

None of those things I listed above are arbitrary - in fact, they all are quite personal. Those are all from my own life! Every single one.

And for the most part, I’ve achieved them all. Quite foolishly, some part of me thought it would result in some sort of sense of belonging that I hadn’t quite found beforehand.

Where Happiness Actually Is

The problem with banking on the “happy whens” is that there is always another one waiting for you after you achieve the one prior, promising some sort of satisfaction that the previous one denied you. As such, looking at your life as a series of goals to overcome is a fool’s errand.

For example, my three kids under six deny me a lot of sleep. Surely, once they sleep through the night my life will improve! Ah - but then they will be older which brings a host of new issues. When they become wise enough to handle life and its complex situations, maybe then I can relax.

Or, maybe your “happy when” is financial. Once that situation improves, or our new job appears - then, we can pay off things or save more money. Surely, things will be better then!

The issue with this thinking is that we never arrive anywhere.

We so often look to just beyond where we are as the cure-all destination, where we can finally give ourselves permission to be happy. This is doubly true as indie developers, where we are in a perennial state of working towards that next milestone - in a constant state of overcoming obstacles.

But the truth is, there is no better time to be happy other than right now.

That week in the hospital reminded me that I needed to adopt a new perspective on happiness. Happiness is a choice, and it’s the only way forward. Celebrate your success, but don’t let your success (or lack thereof) dictate much on your quality of life.

Far better to enjoy life and its journey than struggle through it hoping that the next stage is better. These days, I do my best to keep that mindset.

My kids are crazy and wake me up all night?
I’ll look back at it fondly, because they’ll be grown up before I know it.

Spend Stack didn’t sell much last week?
That’s fine, there’s a lesson in there on how to improve it, or its messaging.

No time to work on Spend Stack at all?
Good, I could use more balance with how I spend my time.

You get the idea. But, I don’t want to conflate my message here, either. Hard work and success are both wonderful things, and I hope you encounter both. But, let those things be contributors to your happiness, not a source. It helps to frame your thinking the right way - instead of thinking “I’ll be happy when I top the charts!”, maybe try “I’ll be proud when I achieve that!”.

Final Thoughts

Whether you are king of the mountain, just beginning to climb it or perhaps you’ve been stuck halfway for years - enjoy each moment. All of these events aren’t obstacles leading to the next thing, or a segue to your spout of happiness you deserve. All of these obstacles are your life, and it would be a shame to not be happy while experiencing each of them.

I truly believe that if you give yourself a second to take a step back and survey things, you may realize that the best time to happy and excited about the things you’ve got going on - is now.

And don’t be too hard on yourself. It’s normal to forget these lessons, I certainly do! But I’m trying to get better at coming back to them. No joke - indie development and its challenges are 70% mental, so don’t take things like this lightly.

I think this quote by Dr.Souza summarizes things nicely:

For a long time it had seemed to me that life was about to begin - real life. But there was always some obstacle in the way, something to be gotten through first, some unfinished business, time still to be served, or a debt to be paid. Then life would begin. At last it dawned on me that these obstacles were my life.

Until next time ✌️.

Spend Stack: Year One

The Indie Dev Diaries
Jul 15th, 2020

Spend Stack’s first year on the App Store hits on the 18th! It’s been a rewarding year, and I’m very proud of the app. Though, as most reading this will no doubt know, iOS 14 is around the corner too. I’m in it deep at the moment, getting Spend Stack all ready to go.

So, instead of a large tell-all post, I’m going to do a rapid fire format that encompasses all my thoughts up to this point. Let’s roll!

Numbers

  • Downloads: 4.3 thousand
  • Earnings: $15.1 thousand
  • Price: Currently $3.99. Ranged from $9.99 to $1.99 throughout the year.
  • Largest Territory: United States, about ~60% of my sales.
  • Devices: 70% iPhone and 30% iPad. Also, there is one iPod Touch User 😆.

Cool Stuff That Happened

  • Multiple App Store features.
  • Sweating all year over whether or not my header art would ever be used, and it finally happening nearly a year later:
  • Hitting #1 in Finance for multiple territories (where a lot of my revenue came from).
  • Being selected to participate in Apple’s retail demo program.
  • Getting to share Spend Stack’s origin story.
  • Shipping a large, feature-rich update. And learning the relationship between it, and paid up front apps.
  • It was covered by MacStories, 9to5 Mac, MacRumors, MacObserver and more.
  • Craig Federighi responding to my email about it:

Challenging Parts

  • Managing my own expectations. As an indie, some days you are your best advocate and another, your worst enemy.
  • Ensuring all of the feedback and product knowledge I get doesn’t get lost in translation.
  • Having the urge to make other apps, but not knowing if I could manage it alongside Spend Stack.
  • Knowing I will likely have to shift the product in another direction price wise.
  • Spend Stack has filled a lot of time I had to write on this very site before, and I do miss it.
  • Keeping the app simple and easy to understand, while adding new features. Those two notions feel at odds with each other, it’s certainly an art.
  • Finding the right tooling to manage everything. As you might’ve seen, I’m building my own:

Rewarding Parts

  • Integrating Spend Stack into my life, and making just enough time for it.
  • Retention is very high. Those that use it, tend to really like it and not “tolerate” it.
  • Inspiring others to go for it, and ship their own app.
  • Being able to personally respond to every user email, and building a personal connection with them. Many of us are on a first name basis now, which is wonderful.
  • Several users asking how they can give me more money for the app.
  • Seeing it consistently chart.
  • I’m still having a blast a year later. Usually, I feel like this is the point where many fizzle out and lose interest. I’m still pumped!
  • The iOS community around indie development. Everyone wants everyone else to succeed, there are hardly any egos.
  • Many people really enjoy the design, which is something I worked (and continue to work) very hard on.
  • It’s on Apple’s radar now, and I’ve finally got a few direct contacts from the App Store editorial team.
  • Getting the “human” stories. Here are a few:
    • A daughter sharing a list with her mom to do chores with a price reward attached to each to save for a hamster.
    • A couple planning their wedding budget all in Spend Stack.
    • A construction worker planning his house.
    • And one of my own; Jansyn and I sharing our Christmas list for the kids.

Biggest Fail(s 😅)

  • I had a buggy iOS 13 release, nearly all around notification center and multiple windows.
  • …which lead to a few one star reviews, where they still remain today 😖.
  • Shipping a release without pushing my CloudKit schema changes.
  • Totally botching my press time line during my initial launch.
  • I’m having a hard time with ratings, but I’ve loosened my code up a bit to ask for it quicker which has helped.

Biggest Learnings

  • I love Objective-C, but Swift is so clearly the future. I think this is the point in my career where I really have drawn a line in the sand, and can’t so much as justify starting new things in Objective-C, as much as I love it. You’ve got ABI stability, SwiftUI, Combine…this list is only going to grow.
  • You have no idea how your app might look a year from now. It’s shifted from a grocery shopping app, to a running total list, to tracking expenses and now over to full-on budgeting alongside the expensing functions.
  • Being a bit naive about releasing something primarily for my own enjoyment, without realizing how it could potentially play an important role in someone else’s life. I think it’s mainly due to it being a finance app, and finances are an inherently sensitive, personal and important components to your life.
  • I have a fairly clear path and signals to explore to make Spend Stack go from a hobby, to a business. I’m unsure if I’ll ever explore them in earnest. Of course, there’s zero guarantees any of them would work, but it’s good to be in a position where I see “Oh, okay. I could do X and Y to make it grow” instead of “Well, I guess that’s it.”
  • Building things is so dang fun, nothing beats it.
  • You need to build relationships with the press.

Random Stuff:

  • Things people liked the most: Tracking subscriptions.
  • Things I think people don’t know about, but wish they did: All of the drag and drop functionality.
  • Midnight Addition: Apple Card import, which ended up being a great driver for sales.
  • Sharing is Caring: I love opening up about indie development - the good parts, the crap parts, the big sales days, the no sales days, the money making launches, the “what am I doing this thing sucks” launches. I hope it encourages any other developer to know they can do this too, to an even greater degree of success. My ethos truly remains the same when it comes to this blog, Spend Stack, social media or whatever else in tech: I want to encourage other people, promote less “look at me!” mentalities and make some friends. I don’t always hit that mark, but I do try to.
  • Indie Dev is Alive: Many assume it can’t be done anymore. That’s not true. I personally know other developers making a lot more than Spend Stack, and others who are making a lot less. And in almost each case, they’ve geared their apps for that particular scenario (hobby versus a business).
  • Time Wins: Along those lines, almost none of them won out of the gate. In fact, most have been at it for years until things clicked.
  • Hits me in the feels: As some of you may know, the very first version of Spend Stack released in 2013 and quickly fizzled out:

My wife wrote me a “atta boy!” card 8 years ago when it first launched, which I’ve always kept in my glove box:

She always always been such a big supporter of me wanting to make something I’m truly proud of, and has always been there to encourage me when things suck, congratulate me when they are good and everything else in between.

ILY Jan 😘.

My Master plan

  • My main motivation for Spend Stack remains the same; I want it to fulfill my entire Best in Class checklist with it.
  • Then, and only then, I’ll explore making it into something more.
  • Feature wise: lean into pure budgeting features for the next year.

Just for Fun:

My kiddos on the launch day a year ago:

And my kiddos today:

Final Thoughts

Spend Stack has brought me many memorable moments this year! I can only hope the same remains true a year from now. More than anything, building something and being able to put your name on it - you can’t beat it. Then, add in the fulfillment you get from people who use it and like it, it’s a fun cycle to be a part of.

Perhaps what I should be most proud of is Spend Stack has been exactly what I set out for it to be a year ago: Something I can ship and put my name on that people will pay money for. A manageable side hustle. A playground to create my best in class app. By all measures, I’m happy how things have turned out.

If there’s anything else you wanna know about it, feel free to ping me on Twitter and I’ll do my best to answer!

Until next time ✌️.

Welcome to the bottom 👋.