跳到主内容
@wquguru
精选78RevenueCat 博客(RSS)独立开发与小生意

Touch Grass:从云端API到本地计算的架构取舍与留存重构

Touch Grass had 40,000 preorders before Rhys Kentish worked out it would cost $20,000 a week to run

原文
发到 X
推荐理由

独立开发者的真实复盘,涵盖了从技术成本控制(云端转本地)、低成本获客策略到留存重构的具体动作,对单人或小团队创业者极具参考价值。

Touch Grass is a screen time app with one rule: your distracting apps stay locked until you go outside and take a photo of real grass. Rhys Kentish, a Welsh mobile engineer in London with ten years of app work behind him, built it as a side project to fix his own winter scrolling habit, posted a rough prototype to Reddit, and watched it go viral before it existed. On this episode of Launched, Charlie Chapman talks to Rhys about the launch that nearly bankrupted him, the parody app that drew a cease-and-desist, and the retention problem a viral spike leaves behind.

Touch Grass 是一款屏幕时间管理应用,只有一条规则:你的干扰性应用会被锁定,直到你走到户外并拍下一张真实草地的照片。Rhys Kentish 是一位居住在伦敦的威尔士籍移动工程师,拥有十年的应用开发经验,他将此作为副业项目来纠正自己冬季沉迷刷手机的习惯。他在 Reddit 上发布了一个粗糙的原型,看着它在诞生之前就火了。在本期 Launched 节目中,Charlie Chapman 与 Rhys 探讨了那次差点让他破产的发布、引发律师函警告的仿制应用,以及病毒式传播高峰过后留下的留存率问题。

Watch on YouTube

在 YouTube 上观看

40,000 preorders, and a Google Vision bill of $20,000 a week

40,000 个预购订单,以及每周 20,000 美元的 Google Vision 账单

The first version of Touch Grass checked your photo with Google's cloud vision API, because the plan was modest. "I was expecting maybe, you know, a couple hundred people to download it in the first couple of weeks," Rhys says. He posted the polished version to Hacker News and Reddit one morning, went for lunch, and came back convinced his analytics were broken: "I was just like, what, 6000 people are on this stupid website that I built."

Touch Grass 的第一个版本使用 Google 的云视觉 API 来检查用户照片,因为最初的计划很 modest(保守/有限)。"我原本指望在前几周只有几百人下载它," Rhys 说。某天早上,他把完善后的版本发布到 Hacker News 和 Reddit,去吃午饭,回来时确信自己的分析工具出错了:"我当时就想,什么?有 6000 个人在用我做的这个愚蠢的网站。"

He put the app up for preorder the same day, and he thinks that's a big part of why it kept spreading. People could press a button without hitting a price, "because as soon as you kind of hit a paywall, no one will ever want to share it again." Around 40,000 of them ended up with the App Store notification that the app was live.

他在同一天开放了应用的预购,他认为这是应用得以持续传播的关键原因之一。人们可以按下一个按钮而无需面对价格门槛,"因为一旦设置了付费墙,就再也没人愿意分享它了。" 最终约有 40,000 人收到了 App Store 的应用上线通知。

Then he did the arithmetic on Google Vision at that scale. "It would have cost something like $20,000 a week to run on the Google Vision API. And I was just like, oh my days." The fix was the kind you can only do once: "I did not sleep for three days while I rewrote the entire, like, vision detection thing to native on device." It shipped before launch, just about, as Charlie says. Launch day itself was a party with family and friends and, in Rhys's words, "something stupid, like 50,000 unique active people on the app."

接着他计算了在如此规模下使用 Google Vision 的成本。"如果在 Google Vision API 上运行,每周成本可能高达 20,000 美元。我当时心想,天哪。" 解决方案是那种只能做一次的事情:"重写整个设备端原生视觉检测功能的那三天里,我没睡过觉。" 正如 Charlie 所说,代码在发布前勉强赶上了进度。发布当天是一场家庭和朋友参加的派对,用 Rhys 的话来说,"发生了些荒谬的事,比如应用上有大约 50,000 名独立活跃用户。"

The lesson is the one every viral-app founder learns in the wrong order: a per-call cloud API is a fine prototype decision and a dangerous launch decision, because the bill scales with the hook.

这个教训是每个病毒式应用创始人以错误顺序学到的:按次调用的云 API 作为原型决策是可行的,但作为发布决策则是危险的,因为账单会随着核心吸引力(hook)的规模而膨胀。

The website is one screen recording, and the tweet got 1.5 million impressions

网站由一个屏幕录制视频组成,那条推文获得了 150 万次展示量

The marketing for Touch Grass was unusually small. The website hasn't changed since launch day: "It's just a screen recording and then some text saying like reduce your screen time something, download Touch Grass and that's all the website is." The first post was "a very, very, very early prototype of the sort of mechanism no like UI polish or anything," which hit the top of r/SideProject in November; Rhys spent two or three months polishing it and posted again.

Touch Grass 的营销规模异常小。自上线以来,网站内容从未改变:"它只是一个屏幕录制视频,加上一些文字,比如减少你的屏幕使用时间之类的,下载 Touch Grass,网站也就仅此而已。"第一条帖子是"一种非常、非常、非常早期的原型机制,没有任何 UI 打磨或类似的东西",在 11 月登上了 r/SideProject 首页;Rhys 花了两三个月时间进行打磨,然后再次发布。

He has one timing tip for European developers: post in the morning. If it does well in Europe, it's the first thing the US East Coast sees when it wakes up, and then the West Coast after that. Charlie admits to setting 3 a.m. alarms for the same reason back when Product Hunt ran on a daily cycle.

他对欧洲开发者有一个发布时间建议:早上发帖。如果在欧洲反响好,美国东海岸醒来时就会看到它是头条,随后西海岸也会跟进。Charlie 承认,当初 Product Hunt 实行每日周期时,出于同样的原因,他设置了凌晨 3 点的闹钟。

Then a friend told him to tweet it. The tweet was a single sentence, "I built an app to stop me doing scrolling by touching grass. That's it.", over a screen recording, and it ended up with around 1.5 million impressions, reporters in the replies, and interview requests from TechCrunch and Fast Company. All of this while the app was still in preorder.

后来一个朋友告诉他发推。推文只有一句话,"我做了个 App 来阻止我刷屏,方法是让我去摸摸草。就这些。",配上一个屏幕录制视频,最终获得了约 150 万次展示,回复区里有记者,还收到了来自 TechCrunch 和 Fast Company 的采访请求。这一切都发生在该应用仍处于预售阶段的时候。

Charlie's observation is what makes the story useful rather than just lucky. Most viral stories hinge on one famous account picking something up. This one "landed and performed excellent on multiple separate platforms at the same time," which points at the hook rather than the channel. Rhys agrees, and says it's deliberate: "The way I start marketing is I will distill the app into one sentence," which he then says to people in real life and watches their faces before he builds. For Touch Grass, they chuckled.

Charlie 的观察使得这个故事具有借鉴意义,而不仅仅是运气使然。大多数病毒式传播的故事都依赖于某个知名账号的转发。而这个故事"同时在多个不同的平台上落地并取得了优异的表现",这表明关键在于钩子(hook)而非渠道。Rhys 也表示赞同,并说这是刻意为之:"我开始做营销的方式是将应用浓缩成一句话,"然后他会当面告诉别人,并在构建之前观察对方的表情。对于 Touch Grass,他们笑了。"

Tinder's lawyers objected to one word in Tender's App Store listing

Tinder 的律师对 Tender 在 App Store 列表中的一个词提出了异议

Rhys's next app after Touch Grass was Tender, a Tinder parody in which every profile is his wife and you can only swipe right. She loved it. Tinder didn't. "They sent me a scary letter saying cease and desist. But it wasn't for the name. It wasn't for the gesture. It was for the word swipe in the App Store listing." Tinder, it turns out, has trademarked "swipe." Rhys's reaction: "okay, this is scary." The listing was changed and the app is still in the store.

Rhys 在 Touch Grass 之后的下一个应用是 Tender,一款模仿 Tinder 的应用,其中每个个人资料都是他的妻子,且你只能向右滑动。她很喜欢。但 Tinder 不喜欢。"他们给我寄了一封恐吓信,要求停止使用。但这不是因为名字。也不是因为手势。而是因为 App Store 列表中的'swipe'这个词。"原来,Tinder 注册了"swipe"的商标。Rhys 的反应是:"好吧,这很吓人。"列表被修改后,该应用仍保留在商店中。"

The twist is what happened next. TikTok didn't care much about the app, but "TikTok actually resonated with the story of Tinder sending me a cease and desist," and the legal letter became the marketing moment. Rhys shrugs at this as the natural order of things: "I do everything with the story in mind sort of thing." Charlie's version is the old line about never wasting a crisis, with a sensible caveat about being careful where lawyers are involved.

转折在于随后发生的事情。TikTok 对这款应用并不在意,但“TikTok 实际上与 Tinder 给我发律师函的故事产生了共鸣”,这封法律信函成了营销契机。Rhys 对此耸耸肩,视其为自然规律:“我做每件事时都会考虑到故事性。”Charlie 的版本则是那句老话:永远不要浪费一场危机,并加上了一个合理的保留意见:当涉及律师时要小心谨慎。

Touch Grass was the easiest app in the world to delete

Touch Grass 是世界上最容易卸载的应用

The 50,000-user launch hid a flaw that took Rhys a while to see. "It is an app that is so easy to uninstall. Like if you want to get on Instagram, the first thing you're going to do is uninstall touch grass like if it's raining outside or something like that." You couldn't just switch it off, "which might have been a product oversight by me at the time." Charlie names it for him: a churn problem. He adds a detail that makes it worse. iOS now asks, at the moment you delete an app, whether you'd like to cancel the subscription too, and almost everyone says yes.

5 万用户的启动数据掩盖了一个 Rhys 花了一段时间才意识到的缺陷。“这是一个极易卸载的应用。就像如果你想上 Instagram,你首先要做的可能就是卸载 Touch Grass,比如外面下雨了之类的情况。”你不能简单地关掉它,“这可能是我当时在产品上的疏忽。”Charlie 替他说出了关键:留存问题。他还补充了一个让情况更糟的细节:iOS 现在会在你删除应用的瞬间询问你是否也想取消订阅,而几乎所有人都会选择是。

So the rebuild is about staying rather than spiking. Rhys is gamifying the whole thing, with eight-bit UI, rewards for hours spent off your phone, and critters that visit a meadow, plus "guides" modeled on the dogs he and his wife dog-sit, with a paid feature planned where your own pet becomes your guide. He's candid about the shape of the growth chart: "Touch grass graph is like this mega mega viral spike and then a very, very long tail." He's never run a paid ad for it, and he's not trying to recreate the spike. "I'm just trying to rebuild slowly and not necessarily chase the viral moment again and just work on the retention side of things."

因此,重建的重点在于留住用户,而非追求爆发式增长。Rhys 正在将整个过程游戏化,采用 8 位像素风格的 UI,为远离手机的时间提供奖励,还有会造访草地的虚拟小动物,以及基于他和妻子代养的狗设计的“向导”,并计划推出付费功能,让你的宠物成为你的向导。他坦率地描述了增长曲线的形态:“Touch Grass 的图表就像是一个巨大的、极其病毒式的峰值,然后是一条非常、非常长的尾部。”他从未为此投放过付费广告,也不打算重现那个峰值。“我只是想慢慢重建,不一定非要再次追逐病毒式传播的时刻,而是专注于提升留存率方面的工作。”

Charlie's advice on copycats: assume nobody is copying you

Charlie 关于模仿者的建议:假设没人会模仿你

Rhys isn't sure he'd post an unpolished prototype today, because people can copy you faster now. Charlie pushes back, hard. Even if a thousand clones appeared the day after a viral post, the preorder page meant the traffic had somewhere to land; without it, "there would have been 30 apps called Touch Grass" and the clones would have collected the downloads. Copying, he says, "is a tale as old as the App Store," and the fear of it mostly stops people from marketing at all. His base case: "I think it's good to have your base assumption be that nobody cares about you, and nobody's like sitting there copying you. And if people are copying you, that's a signal that you've you've gotten traction."

Rhys 不确定自己今天是否会发布一个未打磨的原型,因为现在人们复制你的速度更快了。Charlie 强烈反驳。即使在你获得病毒式传播后的第二天出现了一千个克隆版,预售页面也意味着流量有了落脚点;如果没有它,“就会有 30 款名为 Touch Grass 的应用”,而这些克隆版会瓜分下载量。他说,抄袭“是 App Store 自古以来的故事”,而这种恐惧往往导致人们根本不去做营销。他的基本观点是:“我认为最好的基础假设是没人关心你,也没人正坐在那里模仿你。如果有人真的在模仿你,那恰恰是一个信号,表明你已经获得了 traction(市场反响/势头)。”

Rhys's answer is that character is the moat, and so is the person. "I think the idea has to have character and those apps or ideas or websites or games or whatever, they're the hardest to copy." He has clones every day now, and people on Reddit and Twitter point at them and say he did it first, because they follow him, not just the app. "Like your app is not necessarily the brand like you are your brand."

Rhys 的回答是,角色(character)就是护城河,人本身也是护城河。“我认为创意必须具有独特性,而这些应用、创意、网站或游戏等,是最难被复制的。”如今他每天都有克隆者出现,Reddit 和 Twitter 上的人们会指着它们说他是首创者,因为人们关注的是他这个人,而不仅仅是他的应用。“就像你的应用不一定构成品牌,你本身就是品牌。”

There's more in the episode: the Canadians who demanded touch snow mode (it now has touch sand and touch anything modes too), the unreleased app that charged Rhys real money every time he opened TikTok, the cinema he rented to premiere his first app's YouTube vlog, and the half-finished bird-song app that's Strava for wood pigeons.

本期节目还有更多内容:那些要求增加“触摸雪景模式”的加拿大人(现在也支持触摸沙景和触摸任意物体模式了)、每次打开 TikTok 都要向 Rhys 收取真实费用的未发布应用、他为第一个应用的 YouTube 博客视频首映而租下的电影院,以及那个未完成、堪称“木鸽版 Strava”的鸟鸣应用。

Guest links

嘉宾链接

  • Rhys Kentish on X
  • Touch Grass
  • Rhys Kentish 在 X 上的主页
  • Touch Grass

更进一步:量化金融体系

看懂新闻只是起点——沿量化金融路径,把它变成能交付的工程能力

进入量化体系 →

相似阅读

关联信息,但可能不是同一事件