What Will You Be Zealous About When You’re Old

During our pre bedtime snack (an essential meal of the day) my girlfriend posed the question, “I wonder what I’ll be zealous about when I get old?”. The context came from a conversation about the incredible fan powers of one of her family members, and how it seems like old people are more zealous about a specific thing than others. Perhaps the zealous nature of their focus comes from no longer having a job to give them purpose, but I think the question is a fascinating one to ponder for people of any age.

My initial reactions

My initial reaction to what I could possibly be zealous about included the following right off the bat:

  • Whittling
  • Drawing
  • Food stand owner
  • Coaching (wrestling)

The most surprising one to me on the list is ‘food stand owner’, which stems from identifying an experience in my childhood that I found fulfilling.

Every year my grandma’s neighborhood (upwards of 200 houses) had a designated garage sale day. On garage sale day, my dad would haul out the popcorn stand and as many coolers as we could get our hands on. My dad, sister, and I sold popcorn for 25 cents a bag, and soda for 50 cents a can. Business was usually quite brisk, with my sister and I each netting a hundred dollars or so in profit. My dad allowed us to keep all the profit once we did the bookkeeping, and my young self learned a valuable lesson between ‘revenue’ and ‘profit’. The popcorn stand was an awesome parenting moment, but what really sticks out to me is that people were genuinely excited to get their popcorn. I’m sure having two kid helpers kept everyone on their best behavior; however that immediate emotional feedback of happiness is usually missing in my now digital professional career. Definitely makes me wonder what I can actively change to include that element more frequently into my life.

What will you be zealous about?

What do you think you’ll be zealous about when you get old? If you are already retired, what are you zealous about currently? Does it change or has it remained static for a number of years?

I would love to hear more about people’s thoughts on this subject in the comments or via email!

The Most Regretful Thing I’ve Ever Said

I listen to This American Life occasionally, and this past week’s podcast episode was titled, Regrets, I’ve Had a Few. The first story in the episode was all about a childhood experience that ended up sticking with someone until the present day, including the massive amount of guilt associated with it. It’s something we’ve all probably experienced, some childhood memory that is so cringeworthy it makes you feel terrible inside just thinking about it for the rest of your life.

My own regretful event happened while I was a freshmen or sophomore in high school. I was hanging out with my best friend and two of his friends from church (siblings in fact). I was going through a bit of an awkward phase, an introvert slowly expanding his social circle and trying to act a little ‘cool’.

I have no idea how the conversation ever turned towards my humiliating moment, but it ended with me mimicking one of the middle school wrestling coaches from my school district who has a slight stutter and twitch. My friend’s eyes got really big, icy glares were sent my way by the two siblings, and he slowly said,

“Matt, that’s their Dad”

That moment is crucified in my head forever. To this day I feel awful and humiliated about it. It was rude, uncalled for, and distinctly not cool. I apologized to the siblings, but it was one of those incidents that you can be forgiven for and never truly get over in your heart. That day taught me an important lesson, namely that making fun of people for circumstances outside of their control, is highly offensive. I’ve never made the same mistake again.


Why Startups Occasionally Act Like Sociopaths

Power Law Distribution – A Glimpse into a VC Fund

Perhaps the most enlightening lecture about startups I ever attended was class 7 in Peter Thiel’s CS183. In it, Thiel outlined the basics of what a VC firm does, with a particular emphasis on what the graphs must look like in order for a VC firm to come out ahead in any given fund. These words in particular have stuck in my mind for years since I heard him utter them:

To a first approximation, a VC portfolio will only make money if your best company investment ends up being worth more than your whole fund.

In other words a successful venture capital fund must invest in at least one company that ends up being worth more than every other company invested in, combined. In order to do that, certain numbers are more important than others, like growth.

‘Growth Mentality’ is Aligned with VC interests

Over the last year or so, ‘growth’ has become the single metric that a lot of people in the startup ecosystem have talked about. Paul Graham put out an excellent essay on the topic. From a venture capitalist perspective, growth means that the young company is expanding so rapidly that they have a fighting chance of becoming a monopoly in a given sector and becoming a mythical ‘Unicorn’, that returns an entire fund.

Seen through the lens of someone whose job it is to return their LP’s money, this growth mentality makes sense. Cultivating a ‘growth over everything’ mentality means that there is one bloody, scarred winner, but that winner is fucking massive.

Unfortunately, when seen through the lens of most consumers, the practical implication of this is that VC backed companies sometimes act like mentally deranged humans.

Oh The Humanity

a person with a psychopathic personality whose behavior is antisocial ,often criminal, and who lacks a sense of moral responsibility or social conscience.

Here is the general path that most startups go through in the classical VC model:

  • Solve a pain point in some subset of humans lives in a disruptive enough way that they use your product rather than their previous solution.
  • Slap a ‘product-market’ fit label on it, and gather your first cohort of users.
  • Raise a round of investment money.
  • Ramp up spending to acquire users, often in an unsustainable fashion.
  • Numbers aren’t high enough, tweak the product slightly and floor the acquisition channels again.
  • Repeat until the company burns to the ground or becomes a unicorn.

The successful founders are the ones who manage to keep their wits about them during the ‘tweak the product’ phase. Your first thousand users have specific needs, your next ten thousand have slightly different needs, and the next million have wildly different ones. As a startup founder, you probably have some of the need finding skills that got you growth in the first place, but the tension of maintaining skyrocket growth can lead you to abandon them. 

Growth worship transforms your company goals into a financial numbers game rather than an empathetic game. You no longer think in terms of solving problems for people, but in terms of credit cards on file or sign ups. It’s a subtle, yet powerful distinction.

Yes, those numbers are a proxy of the value consumers place on your product at scale; however if the lifetime value you are capturing is lower than the price you are paying to acquire them, you are fundamentally not in a state of product market fit. The market has dictated that the value of your product is not profitable. Worse yet, what often happens during this phase of rapid experimentation is that your product actually gets worse. Founders tweak the product so that it’s no longer what your first users need, and the new product is usually a hastily thrown together prototype that doesn’t provide enough value for the new users you are targeting. Personally, I get a slimy feeling in my gut whenever I see this happening or implement rapid changes without understanding the targeted users needs. The feeling of inauthenticity is overwhelming, and to me a morally irresponsible way of doing business.

The Startup PR Drumbeat That Makes Me Squirm

I get lots of recruiter emails like this one:

XXX is an early stage startup whose mission is to create a smarter, more connected world on mobile and the Internet, empowering people to do yyy.

There are lots of words about ‘empowerment’ and ‘changing the world’. Frankly, it annoys the shit out of me. The vast majority of startups in the valley are not changing the world in a significantly meaningful way. Chipping away at making the future incrementally better, and radically altering the world we live in are different things. There is a place in the world for both incremental and radical changes, but fusing the two invites the worst kinda of sweeping characterizations like ‘elitist’ and ‘arrogant pricks’ that general culture associates with the techie crowd. Do we really have so little perspective on the world that these kinds of buzz words feel honest?

At least the financial industry has the wherewithal to be upfront about their intentions. The startup crowd has to put on a mask and lie about what we are really doing. Venture capitalists goal is to make money. By taking their money, startup founders also take on that goal. Making money is not immoral in and of itself, but the way startups spew forth their good intentions without recognizing the underlying goal of making money makes the whole industry feel unnecessarily slimy.

Fundamental Differences

Can startups be VC backed, change the world for the better, and not act like a sociopath? Certainly, but in order to do so you have to be cognizant of everyone’s interests.

Venture capitalists, at their core, are fund managers that deal in a high risk investment area. They are responsible for creating a positive return on investment for the large pool of money they are loaned by their limited partners (known as LPs).

On the other hand, founders can have many goals that are not aligned with simply ROI. As a founder, you need to be aware of the incentives of the people you take money from. Venture capital money can be the right answer for some companies. Bootstrapping can be the answer for others. For some it might be a mix of the two.

Most importantly, responsible businesses are continually aware of their customers needs and their internal needs. Hockey stick growth is good for a VC backed startup’s internal needs, but you need to be nuanced enough to realize that there are cycles in a startups lifecycle where you just aren’t going to get that growth. Keep your burn rate responsible, don’t act like a sociopath and stick to your need finding guns.

Postcard Panda – A comeback story?

January and February 2014 was an interesting time for me. I spent 6 weeks living in South Lake Tahoe snowboarding, doing freelance work, going slightly crazy for lack of social structure, filling out a puppy application for a nearly blind veteran (a story for another time), and building an app on the side that I called Postcard Panda.

Honestly, it was a weird name. But I was oddly obsessed with naming a product after an animal (like Mailchimp), and was willing to pay a skilled illustrator for some dynamite artwork. The app’s function is fairly simple. With it, you can send a real snail mail postcard straight from your iPhone. I spent around 40 hours making it, hired a freelancer to make me an icon, and unleashed it the world.

…. to crickets.

1.5 years later

Postcard Panda went from selling about 1 postcard a month, to sending over 100 postcards in October 2015! I suddenly got interested in the app again and managed to ship an update that changed out my printing partner to one who does a much better job, Kite.ly. The new update brings delivery time down to 3-5 days, offers improved address validation, accurate photo cropping, and Apple Pay support.

What changed?

Turns out that one of the major players in the ‘send a postcard from your iPhone’ space went out of business on October 1, 2015 (Postcard on the Run). Postcard Panda just happens to be the first app on the iOS app store that comes up when you search for ‘Postcard on the Run’, which means that I’m basically getting new customers for free, by virtue of their death knell. The numbers are slowing down slightly in November, but it’s been enough to rekindle my passion for the project.

Interested in sending a postcard to your family this holiday season? I would love it if you tried Postcard Panda and sent me a note with your feedback!

Broadening the scope of this blog

When I first started this blog I had some vague notions that I would use it to build up a name for myself like Nathan Barry or Patrick McKenzie, specifically around the topics of programming and startups. The launch of the blog with my first article, On Being a Junior Developer, started with a bang by netting 27,319 views in the first two weeks. Unfortunately, the success of my first post was both a blessing and a curse. It was incredibly gratifying to see my writing shared and to hear from people who found it useful. On the other side of the coin, it made it feel like I was now stuck on a single track, namely programming.

Starting today that changes. I’m not going to contain this blog to specific topics in order to build a following. Instead I’m going to use it to write about whatever I want, a candid place for my thoughts. Expect to continue to see articles about my current projects (have you checked out https://appfaqs.co yet?), but to also see new articles about some topics that I’ve recently gotten interested in like minimalism, travel, and tiny houses.

For the love of iOS developers – bring back the ‘New’ section

The Beginning

Way back in 2008 the App Store launched for the iPhone and iPod Touch (I’m not even sure it was called ‘iOS’ yet). Around spring 2009 I had taken two intro CS courses, and was intrigued by this new mobile app thing.

So I spent $600 of the $1000 I had left in my bank account on a used Macbook and an iPod touch. I opened a Wells Fargo bank account because I needed a routing number so Apple could pay me. And then I bought a book on iPhone programming.

I struggled through the book (thank god I didn’t know how to use source control yet, I can only imagine the horrors) and released my first app about a month after acquiring all the gear I needed. Much to my astonishment, I made a few dollars. Not a lot, but enough to buy myself a clunker car the following year and start saving some money. Customers emailed me, good reviews rolled in that made me feel great, and bad reviews left me feeling a little more sad than they probably should have. The point is, I had tasted software entrepreneurship for the first time and found it intoxicating.

At that time, Apple had a list that aligned perfectly with developer incentives, called ‘What’s New’. Every time I updated my app, I would get into the top of that list for one to three hours and pick up a new cohort of users to try out the latest features. For someone without any marketing experience, it was like a quick shot of drugs. I would make a new feature, upload it to the App Store, and then get immediate feedback from new people using it. By making the ‘New’ category a viable marketing channel, my time was freed up to keep doing the thing I wanted to be doing most: coding.

And then…. Well, it got shitty.

In today’s world, the iOS App Store has 4 tabs for discovery. A ‘Featured’ section that requires you to know someone on the inside to be placed there (or be incredibly lucky). An ‘Explore’ tab that is a weird geo-located recommendation engine, coupled with arbitrary subcategories. A ‘Search’ tab where the real money is at if you can solve the black magic jigsaw puzzle of app store optimization. Finally, there is a ‘Top Charts’ section that shows you the top apps in the ‘Paid’, ‘Free’, and ‘Top Grossing’ lists, which you can break down by category.

Who even cares about ‘Top Grossing’ anyways? Yes… please give me a list of the apps that gamify the most people with in-app purchases, because I would like to lose all my money as well (said no one ever).

tvOS and watchOS are even worse

I was excited enough by watchOS to build an app I thought would be useful for it, in the form of a dictionary. Utilizing the dictation feature of watchOS you could speak into your watch and get a definition for a word. Sure, it wasn’t ground breaking, but I think it has more utility than a lot of watchOS apps out there.

Unfortunately, when the watchOS App Store was revealed I lost almost all motivation. There aren’t even category lists on watchOS! Discovery is incredibly difficult except for those same well connected apps who get featured again and again. For a small time developer like me, being discovered in the watchOS App Store is impossible. I won’t be publishing another watchOS app under my personal account, unless drastic discovery changes are made.

The recent launch of tvOS showcases similar things in terms of discovery. There’s a featured section for the well connected companies and almost nowhere else to be discovered. A pretty bleak landscape.

For the love of developers – bring back the ‘New’ section

The ‘New’ list was the reason I continued to develop for iOS after I first released my app. It was as close to programming nirvana as I’ve ever gotten.. just my app, some guaranteed users on launch day, and a feedback loop that encouraged me to make my app better. It was good for the iOS App Store, good for developers, and way more interesting than ‘Top Grossing’.

For the love of developers, can we get it back?

In Search of The First Customer

My SaaS app, https://appfaqs.co, has been ‘launched’ for 22 days now and I have zero customers (besides me). I’ve had to fight all of my instincts to keep on building more features. Instead, I’ve been laser focused on engineering only the features I think are necessary for getting AppFaqs the first paying customer. While some people might question why I continue to hammer at this after 22 days with no success, keep in mind that I’m one guy who didn’t do any pre-launch marketing. I believe AppFaqs is a decent ‘minimum viable product’ in its current incarnation, because it’s fully functional. It’s not a landing page that collects email addresses, it’s a subscription based product with a functional web and iOS integration that has already worked wonders for my app Reverse Phone Lookup+. If people aren’t willing to pay for it now, I’ll be sure that they passed on a real product, not a shiny landing page that eventually turned into vaporware due to burnout.

Features built in search of the first paying customer

  • Free 14 day free trial (CC still required)
  • Added a homemade, not great quality, video demo on the homepage
  • Implemented a coupon system

Marketing tactics employed so far in search of the first paying customer

  • Guest post on Moonlightlife.com
  • Ran an A/B test with Optimizely.com that resulted in a 400% uptick in people who clicked ‘Try It Free’ on the home page. Note that the total volume here is small, but it still felt nice to put numbers on a marketing tactic.
  • Noticed that ios.devtools.me was sending me a fair number of visits during my initial launch week. Reached out and gave them a 50% off coupon specific to the site.
  • Have emailed every person (25 or so) that has signed up for an account without starting a free trial, offering a coupon or requesting feedback. So far I’ve had 0 luck with this. Going to try tweaking the email copy in hopes to convert better.

Next experiments

  • Twitter. I’m not entirely sure how this is going to go down, but getting to know some iOS developers on Twitter is one of the next experiments up. I don’t mean spamming them, I mean retweeting them, and helping them out so they notice me.
  • Content marketing. I’m not ready to reveal what I have in mind here, but it might be an ambitious project in it’s own right. More soon!

Interested in being the first customer?

I’ve already got AppFaqs integrated into one of my own apps, so AppFaqs isn’t going anywhere, but I’m in need of outside feedback. If you are an iOS developer, I would love to work with you to get AppFaqs integrated into your app, even if I have to code it in myself (or write the content). There might be a few bumps, but as the sole owner of AppFaqs I can promise that you’ll get excellent support. In exchange for your feedback as the first customer, I’m happy to offer you a 50% off (forever, any plan) coupon by following the link here: https://appfaqs.co/?coupon=50percentoff

Launching my first SaaS product in 54 hours, 20 minutes, and 5 seconds

I’m looking for about 25 early users for my new SaaS product, written about here, which provides easy FAQs for mobile apps. Early users will help dictate the future roadmap, will get direct support from me, and will get a steep discount in exchange for their feedback. If you are interested use the following 50% off (forever) coupon to sign up, https://appfaqs.co/?coupon=50percentoff and then send me an email at matt@appfaqs.co.


AppFaqs.co is officially live! I’ve never successfully built a SaaS product before, but oh have I tried. The number of zombie projects littering my hard drive is large (> 15). It always starts in some insane burst of motivation that fizzles out faster than a banana with a santa hat thrown at the sun (theoretically). After that insane burst, I usually feel slightly guilty the week after I started it, but I push that little voice down inside my head. Then I forget about it.

Doing things differently

Startup culture seems to be an insane treadmill, in which you are supposed to launch a product, raise money, and then become the giant company you hated in the first place. Given my troubling past with co-founding an externally funded startup (see this post, although I am happily employed at a funded startup currently), I’ve recently been discovering the bootstrapping community. The thing I like most about the bootstrapping community is that it’s less about valuations and vanity metrics and more about lifestyle. Last week I listened to an episode of BootstrappedWithKids in which one of the speakers rails against just how much shit we have materially that’s useless to us. Taking inspiration from the bootstrapping community, I decided that I would build a SaaS product with the goal of making it a virtual small business. In doing so I also set forth several rules for myself.

1. Building the product should not interfere with my life. I would much rather spend time with my girlfriend or grab a drink with my friends than be staring at a computer.

2. I am happily employed. Building the product should not impact my performance at my day job. Rather, it should improve my effectiveness at my day job by allowing me to experiment with technologies I might not otherwise have used.

3. I don’t care how long it takes to build. As stated before this is a lifestyle business, not a twisted horror flick where I have to code my way out in under 1.5 weeks.

4. In the future, I would love if the product became my sole income provider. I’m also happy if it brings me a few hundred extra a month and allows me to tinker with tech and marketing strategies I find intriguing.

What did you decide to work on?

One of my iOS apps, Reverse Phone Lookup+, was causing 3-5 support emails to hit my inbox a week. Not a lot, but enough that I was doing a bad job replying to them. From there I decided that I should build a tool that reduced the number of support tickets I received, so that this newly born SaaS product would have at least one happy customer.

Alright you nutter, how’d it go?

I would introduce this with some grand flourish, but really… it’s just a chart. It shows the number of hours I worked on the initial release, including coding time, time spent reading technical books related to the project, setting up ssl, exploring hosting options, etc.

Created using Caato Time Tracker and Excel
Created using Caato Time Tracker and Excel

Some interesting factoids:

  • I started work May 16, 2015 and pushed the first version live to Heroku on August, 13 2015.
  • Total time spent working on the product was 54 hours, 20 minutes and 5 seconds.
  • There are often long streaks where I don’t work on the product at all. For example, I didn’t work on the product for 9 days between May 20 and May 29th.
  • The largest chunk of continuous time I spent working on the project was 3 hours.
  • I often have multiple entries on days I work. I use a modified Pomodoro Technique in which I take long breaks often, and whenever I feel like it.

How did you stay motivated this time?

Following the ground rules I set out above, I was able to focus on enjoying the process rather than racing my own ghost down into a lonely hell of my own making. Tortoise, not that egotistical Hare.

I also decided that I should read any technical book that would improve me as an engineer and could be applicable to the project. I worked through Mastering Modern Payments and Rails 4 Test Prescriptions. Mastering Modern Payments was great at providing confidence in the recurring billing system I built on top of Stripe (really Stripe did all the work, and I’m some sort of parasite). Rails 4 Test Prescriptions reinforced the pseudo-not-quite-purist-TDD process I like to use, and provided a fantastic base for building out every sort of test I needed. Highly recommended, and it made me much more confident with RSpec at my day job.

Another motivation booster was my ability to axe launch features. I use Trello to organize my tasks, with product features going into a ‘V1 release’ list and a ‘should be done someday’ list. If I found a feature boring me, and it could even feasibly be cut, it got cut. The initial version launched with everything I needed to personally add it to my own apps:

  • Support for multiple subscription price points
  • Standard user registration functionality
  • A decent landing page
  • Ability to add Apps to your account
  • Ability to add Questions to your apps
  • A CocoaPod for easy integration into iOS apps
  • Tracking for the iOS integration
  • Analytics (GA and Mixpanel from the wonderful Segment)
  • Good test coverage
  • Some decent legal docs from RocketLawyer

Things I didn’t launch with include:

  • Ability to cancel or change a subscription. I manage that manually.
  • A free trial (although I’ve since added a 14 day free trial).
  • A sexy logged in UI. It’s functional, but it’s not going to win any awards.
  • Any sort of pre-launch functionality or waiting lists. Since this is a long term virtual small business that I myself will use, I found it more exciting to market a fully functional SaaS app than a landing page to collect email addresses.The pre-launch hype boggles my mind a little bit, why are we in such a rush?

How was ‘launch’ day?

I hate that day. Launch days for people without pre-launch functionality is like throwing a grain of sand into a lake and hoping somebody notices. It’s usually not fun, and it’s usually dead silent.

I posted a show HN since that felt like the closure to my ‘V1 Release’, and promptly went to bed. The next morning I awoke to an email saying it had been added to Product Hunt, and it did surprisingly well by finishing in the top 10 for the day. Didn’t generate as many paying customers as I was hoping for, but it still felt good to see some positive encouragement and warm leads.

I should also mention that if you happen to change DNS providers the night before you ‘launch’, you should probably make sure your MX records get transferred over. In my infinite wisdom, I totally forgot and was unable to receive emails for most of ‘launch day’ which probably resulted in a few lost leads. Oh and DNSimple is awesome, especially for Heroku SSL configurations.

What’s next?

The next Trello board of mine is called ‘Get 10 Paying Customers’. Any marketing or product enhancements are being viewed through that lens, and I’m reading Traction: How Any Startup Can Achieve Explosive Customer Growth. I’ve been reading Gabe Weinberg for a while, and enjoy following his progress with DuckDuckGo.

I’ll be writing a followup post with my current thinking on the best way to get those first ten customers, so if you want to hear about it please sign up for my email list in the side bar. My leading theory, is to build out a core group of early users from my own social circles and the first few people to sign up and offer them special features like a ‘featured’ spot on the home page, VIP support, and some ability to dictate the future feature roadmap.

If you’ve got thoughts about how to get those first ten customers, or just want to share some love (or hate? But that seems mean) I would love to hear from you in the comments!

Conditionally enable Poltergeist with Capybara

Poltergeist is a driver for Capybara that allows you to run tests on a headless Webkit browser provided by PhantomJS. Minus all those fancy words, it means your javascript tests are run inside a real browser that can execute javascript in order to simulate a real webpage. But… it’s slow and sometimes you need features it doesn’t have, like being able to programmatically POST (looking at you stripe webhook tests).

If you want to conditionally enable it for a specific rspec suite, here’s a snippet that should save your day and make your test suite faster:


AppleWatchWeekly.com – Shuttered

A while ago I posted about AppleWatchWeekly.com, which was my latest foray into another side project. Today I closed down the publication.

Honestly it went ok. I managed to get 20 subscribers in about 4 weeks and the last issue had an open rate of 60%, click rate of 30% and 29 total clicks from 20 subscribers (I didn’t click on any to skew these numbers). So why am I closing it? The most basic reason is that I’m just not that interested in curating a newsletter every week about Apple Watch. I’m excited about the possibilities mainstream wearable tech opens up, but I just don’t care deeply enough about Apple Watch in particular to dedicate 2-5 hours a week on gathering news.

I wouldn’t really consider this a failure, I’m just letting go of a project I started as an experiment. The experiment went well from the perspective of me realizing it was not a thing I was willing to do long term. Anyways, I can guarantee I’ll have another random side project coming soon!