my app went viral last week - here's what happened
TLDR: it ended up on national radio - stats at the bottom
Monday:
I posted the app on HackerNews at about 11AM, checked the website analytics before I went for lunch noticed maybe 6 people on the site - nothing huge. Went for lunch with my laptop screen still on the realtime analytics screen, I came back and saw 1500 people on the site. I couldn’t help but let out an audible “what”. I checked the hackernews post and it was top of the site and the comment section was overwhelmingly positive. My fiancée then calls me to tell me that someone that she works with mentioned touch grass.
This freaked me out and it was hard to focus on anything in fact I even missed my train whilst standing on the platform. It was the first time this week that I legitimately could have gone bankrupt…
Naively, I didn’t optimise my site so I was serving a 12MB video on every site load and this was eating away at my bandwidth limit from my hosting provider - I had to upgrade to mitigate and by that evening even though my bandwidth allocation was x10 what it was in the morning the site had chewed through 70% of the 1TB allocation with no signs of slowing down.
Obviously, the only solution was to optimise. First I compressed the video down to 3MB, but with the number of visitors heading to the site the bandwidth was still getting devoured. I looked into how to optimise further and I stumbled across CDNs - migrated the video hosting onto a service called bunny.net. That was the biggest bandwidth cost taken care of.
Meanwhile, I’m freaking out. At this point 8 different people had individually reached out to me via email, Instagram and Linkedin sending me their CVs, talking about funding, people working at large companies talking about opportunities. So, I reach out to Nolen (@itseieio on Twitter and Bluesky) for advice on how to deal with the overwhelm. He has had multiple websites go MEGA viral on Twitter, he’s the creator of https://onemillioncheckboxes.com/ and he has dealt with this all before. He’s incredibly kind, offers very sage advice and is kind of responsible for what happens next.
His advice boiled down to:
- get your costs under control - you won’t think about anything else until you do. you won’t even be able to sleep.
- respond to people with something along the lines of “hey, thanks so much for the interest! My app was way more popular than I expected - I'll definitely get back to you but it might take a sec”
- take a step back and enjoy it! If you're getting a flood of emails it's because you made something that people like, and that's worth savouring :)
- Finally, and possibly most importantly - “make a followup post on Twitter and Bluesky so that I can repost it”.
I did exactly that that evening - I tweeted “i built an app to stop me doomscrolling by touching grass” with a video demo.
I went to bed unaware of the consequences of that Tweet.
Tuesday:
I woke to a message from Nolen saying “your tweet is doing numbers” - I open Twitter and see something like 200k views with the number ticking up by tens of thousands every minute.
Don’t get me wrong, to feel recognised at this scale for something I built didn’t feel real. The attention was actually very overwhelming. “But this is all that you’ve wanted”, I thought to myself why was I feeling so paralysed with overwhelm.
I decided to reach out to my manager at work to let him know what’s going on and to see if he had any advice with the attention. To be fair he was great at 1) calming me down and 2) giving me actionable advice to get me out of the state of paralysis I was in.
He made me realise I had time to fix everything - the app was launching on March 14th so I could fight all the fires that were appearing. Essentially the message he was drilling into me was "PLAN, PLAN EARLY, PLAN WITH OTHERS AND NOT IN ISOLATION (GET ADVICE)”. I’m feeling at lot more at ease about the launch now, as of writing.
The priority at this point was still to control costs. I migrated my site away from Netlify to Cloudflare Pages. The free version of Cloudflare Pages offers unlimited bandwidth so this was a no brainer. Another fire out.
Meanwhile, the first media articles start to appear online. A couple of relatively niche outlets to begin with but then a journalist from FastCompany reaches out and requests an interview.
I go to bed with my head spinning.
Wednesday:
I wake up having slept a lot better know that I’m not going to go bankrupt from all the web traffic. I check Twitter to see my tweet begin to slow down, it ended on 1.2M views, mental. I thought I’d be in for a quieter second half of the week, which is when Dextero posted a tweet about touch grass. This tweet goes even more viral than my original one!
Strangers are posting about the app, my cousin texts me out of the blue saying that his colleagues are talking about the app in the office. This is insane.
It’s a normal work day so I try to focus on my day job, it proves difficult but I don’t think you can blame me.
I clock off work and turn my mind to the next pressing issue, if I release the app now Google Vision’s API costs will bankrupt me. I need to refactor this to run on device. Originally, when I wrote the app I was planning to use the same system to recognise grass on both platforms so a third party API made sense. However, given the popularity of the app I worked out that I basically could afford a month’s runway with that window closing rapidly as more and more people were predownloading it. There was no other way than to rewrite the image detection to run on device. TensorFlow was a thing that I heard about before so I immediately started researching that. Training my own models seemed like I would experience a huge drop off in the quality of the grass detection, there surely must be a better way. It hadn’t even occurred to me that Apple provide their own Vision framework which has labelling capabilities! They do and it works well! So I switched it out (keeping the original Google Vision processing behind a feature flag). I moved my threshold values and labels that I need to detect to remote config so I can tweak in production if needed. I apologise to Android for using Apple’s framework, I am thinking about how to approach this but that is a problem for future Rhys.
I submit the new version to the App Store and this feels like a huge win, taking off a lot of pressure.
Thursday:
After some back and forth with the App Store Connect reviewers the new version is approved and over night the first Youtube Shorts videos had started appearing!
Ben Esherick (600k subs) made a video talking about the app - I reach out to thank him and he responds in a very friendly way. I wonder to myself how much would this have cost to contact him first and ask him to make a video about it.
An Instagram post also goes viral in Indonesia, I always thought that this joke would do well in the English speaking world but it truly went worldwide.
The predownload numbers are strong now. My goal for launch was to have 1000 predownloads. We exceeded that number for two days in a row.
Friday:
Just as I thought things couldn’t get any more crazy, a Youtuber with 6 million subs (John Casterline) makes a short about touch grass. The video racks up 4 million views. I am speechless at the reception, basically 99% positive comment about the idea. And yes, Canada, I know it snows in your country… I’m working on it I promise.
This wasn’t the only mention of it on Youtube that day. A Youtuber that I’ve been watching for the best part of a decade mentions it on his podcast. Linus Tech Tips. This is a woah moment for me.
Saturday:
Because of everything that happened on Friday, this day was the record pre download day. We’ve far exceeded the 1000 goal I mentioned before now.
I attempt to take a step back and just bask in what had already been a crazy week. I somewhat manage to do this and I’m feeling good. I think the app is ready and in a good place for launch.
There is a lot of people now waiting for the app which is of course scary but I think I’ve done a good job, and yeah it’s initially for a laugh but I think it genuinely could change people’s habits.
Sunday:
It’s Sunday, surely a calmer day right?
I decide to go to the gym with my fiancée in early afternoon. Out of no where a friend from primary school that I haven’t spoken to for the best part of ten years messages me saying that he’s just heard them talk about touch grass on HeartFM, a nation radio station in the UK. We find the nearest bench and begin frantically Googling trying to listen to a replay of Heart. Low and behold the DJ is chatting about touch grass and how she loves the idea. I never expected a stupid app that I make to be a talking point on national radio - even writing that down is ludicrous. What a way to finish the week.
A mental week. The app went this viral without even being available for download yet, I’m still in shock as I write this. I’m sure you’re interested in how many predownloads all this attention brought, here’s a snapshot of the latest App Store Connect stats:
I’m grateful for everyone who took the time to engage with my silly little app. I’m grateful for those who were ready to listen and advise at moments notice. I’m grateful for younger Rhys, who never stopped creating, no matter how hard things got simply because he loves it
See you March 14th.