This is a draft of this article. It'll likely see changes!
This article discusses the thinking that went into the defunct social app for kindness, Gentle. It's a useful starting point for forking the project or creating something like it.
- Gentle’s code is available on Github under an MIT license.
- Gentle’s design file is available as a Figma community file.
- In this article, I do a tell-all: metrics, motivation, design, lessons, critique, and more.
Gentle is a mobile app where you write requests for kindness and reply to others. It's cute, anonymous, and moderated. It was my solo project for three months in early 2020. iOS beta testing began on April 17 and the app's shutdown started on May 10.
Here's a demo of Gentle running on my phone:
In 3 weeks of beta, here's what happened on Gentle:
- 6.5k users
- 88% of users sent at least one message
- 35% of users sent at least one message one week after joining
- 360 DAU* avg in the final week
- 27% DAU/WAU avg in the final week
- 16% DAU/MAU avg in the final week (over 3 weeks)
- 4.9k requests for kindness
- 34k replies made to requests
- 32k unique visitors to gentle.app
My sentiment is mixed. Gentle was going to be a paid app on the App Store, so these stats likely aren't representative of the actual product. From my understanding, the MAU/DAU indicates that Gentle wasn't sticky enough for explosive growth. However, Gentle was still early in its development. Many features that drive engagement (like push notifications) weren't built yet.
I leave further interpretation to you!
Qualitatively, Gentle was my most successful project ever. I’ve been receiving mail with quotes like this every day:
"I love this app and it has a huuuuge potential."
On Reddit, my post remained on the front page of r/apple for two days. On Hacker News, my post got to #8 and stayed on the front page for one day. Since then, Gentle’s gotten organic interest on Twitter, Facebook, and various newsletters.
The public posts of appreciation on r/gentleapp only capture a small fraction of the positivity that’s been sent my way. Heartwarming and unexpected understates it.
There were a lot of people who wanted to see Gentle thrive.
It'd be easy to say Gentle was my reaction to "big social media". I do often think about the bad incentives that come from advertising and status-as-a-service products.
Truthfully, I started Gentle because I was looking for kindness myself. It felt a bit rarer than I'd like. In my life, in the news, in the products we use — I've been feeling an absence of values such as helping and compassion.
I channeled my feelings into making Gentle — a product that (in theory) could empower you to be the kindest person in the world. Totally my idealism in overdrive.
The main thing I wanted to explore was the idea that a social app could have a stronger opinion about personal growth. I became interested in exploring concepts such as scaffolding better communication, focusing on intrinsic motivation, and caring deeply about practicing new skills.
Why did it shut down?
The main risk of a solo startup is that it's all on your shoulders. You have to develop the skills necessary to build, run, and market a product. You have to make all the decisions. You have to weather the storms alone. It's a liberating situation, but also a risky one.
Frankly, Gentle shut down because of its success. It quickly grew to the point where I realized I was taking time and energy away from my fulltime job at Khan Academy. And while I have the privilege of being choosy about my employment, Khan isn't a place I'd quit without a lot of reason. I took a step back from Gentle's development and spent time thinking about my values and what I wanted to do with my life.
In the context of the COVID-19 pandemic, I've come to believe that Khan is where I can do the most good. Not an easy decision — nor a clear one — but that's where I landed. I know that there were a lot of people disappointed by my decision to shutdown Gentle. I hope you understand.
You can read more about the shutdown in this post.
If you're looking for an alternative, I collected similar apps when doing a competitive analysis.
A list of apps like Gentle
None of these quite have the same vision for personal growth, but some of them are very similar in concept.
At a high level, these are the values that guided my design decisions:
- Business incentives aligned with long-term happiness
- Personal growth through the support of others
- Intrinsic, not extrinsic, motivation
- Sustainable use
- Privacy as a right
- Bringing the community together
- Transparent decision-making
Feels a bit buzz-wordy. In practice, here are some of the ways I tried to realize these values:
1. The power of anonymity
One of the guiding principles behind Gentle is that it should feel safe to be vulnerable. I believe that many people don't create moments of kindness (whether it's asking for it, or giving it) because they're afraid of judgment.
I chose to solve this issue by making the entire app anonymous. Not just to other users, but me as well. Gentle collects barely any data about users. A generated ID and join date. That's it.
No username or passwords. No mailing lists. Very basic tracking. Nothing to connect what you write to who you are.
To me, that's the power of anonymity. It liberates you from judgment, even from the platform owner.
A benefit of this approach was that I could lean on Firebase's anonymous login system. This made it so that users didn't have to create accounts manually — they accepted Gentle's rules and were brought directly into the app experience. Refreshing.
2. Artificial limits
Compared to most social apps, Gentle made it harder to get the dopamine rushes associated with quantity and fame. Here are some examples:
- The mailbox intentionally only showed up to 8 items at a time — an intentional choice to make each one feel weighty.
- You could fetch up to only 10 requests at a time. I didn't you to spend hours on Gentle — I wanted it to be respectful of your time.
- You can get reactions to your replies, but you'd have to manually count them to know the total.
Each of these choices likely reduced engagement for many users. But I didn't care. In my opinion, I liked the idea of an app that looked out for me.
3. Scaffolding communication
I think there's a nugget of value in the idea that social apps can help us grow as people. It feels strange to say that because many apps try so hard to be unopinionated platforms. That's not a bad thing, but it's led to what I see as a missed opportunity. It may sound rude, but I think most people aren't experts in talking to each other. Myself included.
For example, I'd argue that it's hard for many people to be kind without giving unsolicited advice. What if an app could help you become better at interpreting what someone is asking for? Maybe you'd realize that there are different ways to be kind, each of which is appropriate for different situations.
One way I attempted scaffolding communication like this was by including a "tip sheet" that gave you writing tips, sentence stems, and quotes for inspiration. It wasn't very impressive — but it was way more than anything I've seen from a big social media platform.
4. Design as a differentiator
More than 30% of my time working on Gentle was designing it in Figma. Qualitatively, this was the single most frequent reason why people decided to try Gentle. Someone would see the video embedded on the landing page and think, “wow, that's cute and different!”
In retrospect, it was a smart move to prioritize design. Having such a unique style (that's still familiar!) distinguished Gentle from the average social app.
Here are some of my thoughts on the art direction:
- I'd describe the style as "cute, but not childish".
- Because I used Flutter, I created a custom design style for all UI elements. I wasn't satisfied with the look and feel of the Cupertino and Material widgets.
- I leaned on skeuomorphism more than most modern design.
- The concept of small rotations on UI elements took a long time to figure out. It came about because I wanted a differentiating quirk. There's a balance to strike because it can feel like too many things are askew.
- I chose a color scheme that created an atmosphere of calm (I'm reminded of the Janitor's Robin egg blue uniform on Scrubs).
- I relied heavily on animations to convey the expected "tempo" of the app — I wanted it to feel just a bit slower (and more intentional) than you'd expect from other apps.
- Safety features (reporting) were the most prominent UI elements on the screen. Very intentional, and in my opinion, very important.
To play with the design, you can see Gentle's master design file.
5. A face to the brand
I think there's a lot of value in having a face to a product. Someone you can root for; someone you believe cares about you. Rather than hiding behind the brand, I tried to be that public face for Gentle. I put my name and photo upfront on the landing page and in my communications with users.
I thought this was an interesting choice because Gentle was all about anonymity. Ironically, I made myself the only known entity on the platform. I think this was important because it helped people trust the anonymous system. By being fully transparent about where Gentle is coming from (and where it's going, too!), it made it easier to decide whether it was worth trusting.
I tried to embody this idea of being transparent. Here are a couple more examples:
In retrospect, many of my challenges have been more personal than technological. I learned what it meant to hustle on a solo side-project. I was forced to make tough decisions around commitment. I got first-hand experience moderating an online community. None of it was easy — but, frankly, it was amazing.
Here are some of my takeaways from working on Gentle.
1. Giving kindness is engaging
An interesting statistic is that on Gentle, people were about seven times more likely to give kindness than ask for it. This was true even though it took more steps to get to the screen where you reply to others' requests.
In retrospect, this makes a lot of sense. The act of giving kindness is a reward in itself. It feels good to be helpful, especially because we might not have the opportunity to do it so easily in other parts of our lives. Of course, there are probably other factors at play here — but that ratio is fascinating! Can the pleasure received from being kind be an engagement mechanism?
This interestingly brought up moral questions for me around whether or not it's okay to use dark patterns to incentivize kind actions. I don't have a strong answer, but I do think the better way to frame it is whether or not a UI pattern is aligned with the long-term goals of a user.
2. Moderation is hard
Moderation was one of the more difficult parts of running Gentle. My approach was three-pronged:
- Active moderation and easy reporting
- Automated filters
- A paywall (on official launch)
To clarify, I actively monitored the public requests for kindness. I didn't look at replies — which I considered private messages — unless they were reported or caught by a filter. The system worked pretty well. Filters were catching spam and reports were being handled.
Unfortunately, towards the end of the beta, I began to resent moderating Gentle. I more-or-less always had my moderation dashboard available. It was the first thing I opened each day and the last thing I checked before going to bed. I was probably more connected than I should have been, but it did feel like I was on-call 24/7. I recommend you find a healthier moderation situation.
As recommended by many, community-led content moderation is likely the best way forward. That's the direction I would have gone if I kept working on Gentle.
I'll call out the potential ethical concerns of asking volunteers to moderate. While they may be intrinsically-motivated, I think it's a bit of an awkward arrangement that may lead to resentment or unintended consequences down-the-line.
3. The cost of speed is real
I made the very intentional choice to prioritize the speed of execution over anything else. I didn't care about long-term maintenance, including writing tests and building a scalable system. This led to me choosing a tech stack that enabled me to build out my vision as quickly as possible. I think it was the right move because I got Gentle built in a couple of months — which in retrospect does feel very fast.
However, my reliance on short-term outcomes already started to bite me as the beta was gaining traction. A few examples:
- The most frequent bug reports I got from users were text-editing issues. They weren't horrible, but they were pretty obvious if you tried to do any text selection or multi-line editing. The problem for me was that these text-editing issues were inherent to the Flutter framework and essentially out of my hands. I probably wouldn't use Flutter again for an app like this because of its pretty broken text editing.
- While Firestore allowed me to build Gentle's backend incredibly easily, its security rules always felt like a big risk. For one, the error messages you receive are generally non-descript, so debugging is difficult. For another, it seems so easy to accidentally expose user data. Firestore security rules are your only line of defense if you don't have an intermediary server. Just recently this issue has been in the news.
- Gentle's reliance on Firebase's Flutter SDK was also based on short-term thinking. The app heavily uses Firestore snapshot listeners and other features, making migrating off of Firebase in the future a huge headache.
4. Figure out your criteria to go fulltime
I never imagined Gentle would grow to become more work than my fulltime job. Nor that it'd happen within a week. But that's what happened!
In retrospect, I should have set clearer expectations with myself over what I wanted out of Gentle. I had this idea for something I thought would be cool — something that could help people — but I worked on it in isolation from the other commitments in my life. When the workload from the project started becoming a serious concern, I was unprepared to make a decision. I ended up spending a whole week, barely touching the project, deliberating.
It's probably not always feasible, but if I had a stronger sense of "these are the criteria for me to quit my job", I wouldn't have struggled as long with indecision.
5. Build monetization early
My last "known unknown" for Gentle was whether or not people would pay for it. I got lots of qualitative feedback from users that they would be happy to buy Gentle, but I had no proof of it happening.
If I were starting again, I would have built out a subscription system (using a service like RevenueCat) from the beginning. It may have put off some people, but it would have set expectations way earlier and let me worry less about this unknown.
A Critique of Gentle
Does Gentle substitute aspects of offline relationships?
Yeah, I think so.
What's the cost of that?
I don't know.
One of the big questions that I've been grappling with is whether or not Gentle incentivizes people to have weaker social support networks. Because Gentle is anonymous and doesn't facilitate a back-and-forth between two people, it's virtually impossible to create a relationship with someone. So any kindness or advice you receive essentially comes from a void.
My worldview is that deep, real-identity-based relationships are crucial to lasting happiness and well-being. I don't know if that's true for everybody, but it's something I believe in. And this is why I've been struggling with the concept of Gentle — it makes me uncomfortable to think that someone would rely on the app to be safe and happy. It seems fine in the short-term, but dangerous in the long because of the absence of actually creating connections with others.
I don't think this would be the case for most, but for people like me, Gentle has a certain allure that breeds dependency.
Gentle was a wild and short-lived ride. I'm beyond grateful for all the people who tried the app and sent me support. It's been uplifting in the context of COVID-19, and I'm so happy it generated positivity in the world.
At the end of the day, I'm always hoping to make the best decisions I can. As of writing, I have few regrets.
You're welcome to fork Gentle's code and duplicate its master design file. Of course, sharing the project's files is no substitute for keeping it going (or maintaining it as open-source). Nevertheless, I hope it inspires you. Remix it. Take its parts. I urge you to build things that bring kindness into the world because we sure need more of it.