Cover image for Releasing Quirk & Developing for Health

Releasing Quirk & Developing for Health

flaque profile image Evan Conrad ・3 min read

Several months ago, I was using a mental health app that asked me for a $200 in app purchase.

screenshot proof

No one pays $200 dollars for a dark mode.

At least no one of reasonable mind does so willingly.

Now, I get everyone's got to support themselves somehow. It costs a lot of money just to put the app on the store, let alone spending the time and skill to develop an app.

And surely no one was ever forced to pay $200 at any given point. But health apps deal with extremely vulnerable people; and... you just can't do that.

Mental Health Apps need Rules

Many poorly created, lackluster mental health apps have been spit out in the last couple years. It's unfortunate that there's no reasonable standards about these apps.

So let's make some:

  • Don't be bloated
  • Don't be evil

Since Cognitive Behavioral Therapy (CBT) is one of the most widespread and common forms of treatment, we'll focus on those for the moment.

Those seem like simple goals, yet many existing mental health apps seem to fail on both.

Don't be bloated

Don't include features for one particular condition at the expense of other conditions. For example, don't couple mood tracking to thought tracking. If a user has to enter a mood in order to track a thought, then the entire app is ruined for people who use it for panic, OCD or another condition where mood isn't the primary focus.

Don't include non-CBT related treatments without good reason. No relaxation audio tracks or meditation guides. It's a CBT app, keep it focused on CBT.

Don't include things that could be better accomplished by another app. No one needs an in-app diary when a diary works just fine. No one needs an in-app heart rate tracker when a heart rate tracker works just fine.

Be quick and efficient. Thoughts shouldn't take 5 minutes to enter and you should be able to skip fields if it's reasonable. Don't let the perfect be the enemy of the good.

Don't be Evil

Thoughts are more valuable than passwords, treat them that way. Most people would rather give over their passwords than their CBT thoughts. They're incredibly private, occasionally involve other people, and frequently are embarrassing.

Don't have $200 dollar in app purchases. I'm looking at you CBT Thought Diary. I get it, developers need to make money. It costs a lot to just keep the app on the app store. But you're preying on vulnerable people. Very few people of rational mind will purposely spend $200s for a dark mode. Gimme a break.

Don't have dumb notifications. Scheduling is fine, abusing push notifications so your app has better traffic is scummy and gross.

Be open. Not every app has to be open source; it's a hard choice to make. But be clear and obvious within the app about what's going on with the user's data. Don't be sending it to some server without making that clear within the app, not within some dumb privacy policy no one will ever read.

Don't push people to be unhappy. I cannot believe I have to state this, but do not purposefully or accidentally force people to be unhappy to use their app. Don't force people to state their unhappy in order to access a feature.

Be extremely cautious about making engagement your core metric. User engagement is fine to be concerned about. We all want people who need help to be actually engaging in the help. But holy moly be careful about this. You do not want to drive something that is for many people a treatment into a self-perpetuating engagement loop. A ruthless focus on engagement has caused many a product to become skinner boxes. No one should ever be addicted to your mental health app.

An App to Follow those Rules

On my weekends, I've been working on an iOS iteration of a Cognitive Behavioral Therapy health app.

Today that app, Quirk, is on the app store and you can get it here.


How to get and support Quirk

Posted on by:

flaque profile

Evan Conrad


I'm a generalist software engineer


markdown guide

Hi Evan! I just gave Quirk a try on an iPhone 6s Plus and I noticed a few UI and usability bugs that only happen when started for the very first time right after installation:

  • The cognitive distortion selector cannot be scrolled after tapping / swiping outside that box
  • Tapping "save" does not give any feedback. It appears broken, so I tapped multiple times not realizing that I'm creating multiple records in the list view on the right
  • The list view with recorded entries cannot be scrolled
  • Entries cannot be deleted. The trashcan button is missing
  • There are overall styling issues (missing highlight color, missing icons)

All these problems disappear when I kill the app process (double tap home, swipe up) and start the app again. It is unfortunately 100% reproducible for me when I delete and reinstall the app, so I guess it wasn't just a fluke :-/

I'm on iOS 12.1.2


Oh woah that is really weird. It sounds like you have older version of Quirk. I wonder if the wrong one is being sent out via the promocodes.

Does your app have "headers" with the dates in the list?

like this

If you can take a screenshot, let me know!


I actually purchased it from the App Store :-)

Here are a couple screen shots:

Broken State

Main Screen

After App Restart

Main Screen

Woahhhhh that's very strange. The first broken state is the very first (and very buggy) first version I ever shipped to test flight. The last is the current version.

Let me try shipping a new version and we'll see if that fixes things. Thanks so much for bringing this up.

Yeah, that's really strange! I wonder if it's a build process glitch (e.g. old build artifacts that got bundled with release build?) or some really weird issue on Apple's end? :-/

It would be great if you could write something about that glitch if you figure out the cause or hear back from Apple. I also wanted to write a React Native app for App Store release soon, so I guess I might also run into it :-)

I have a suspicion it's somehow related to expo/react-native. I cleaned the local cache and deleted all previous versions before uploading. Hopefully this should fix it 😬

That might do the trick! I'll let you know when I receive the update

Cool I think I figured out what's up.

I'm building this on Expo, which offers a way to update the app asynchronously in the background instead of requiring a user to wait for the update to load. There's a setting that was set here that caused it to throw up an old version first and then load in the background.

But I removed that and am pushing up a new build which should be good.

I was having the same issue, looking forward to the update.

Loved doing the exercise either way! I think this app is going to help me.


Congrats! Tossed you a Product Hunt upvote.


Hey folks, here's 5 free promocodes for the app as well:


I look forward to seeing where this project goes, I can't wait to try it when the Android version becomes available!