Blog
Notes on AI products, automation, and independent development.
2025

Agile SMS Fraud-Control Plan
Defense plan after a July 25 spike in invalid CN SMS requests: one-time ticket signing, rate limits with CAPTCHA, dynamic quotas from login success rate, blacklist by phone/device/IP, device fingerprint rules per platform, and product changes to de-emphasize SMS login.
8/1/2025 · 2 min read

Recreating Figma designs with Trae
Setup: add Puppeteer (browser inspection) and Figma AI bridge in Trae. Workflow: copy design JSON via Figma to Cursor plugin; use Figma MCP with the frame link so the model lists required assets; refine in Trae. Pitfalls: AI cannot export recolored bitmaps—strict design specs; models add extra UI; …
7/27/2025 · 1 min read

Fixing Quantumult X proxy issues on macOS
Quantumult X relies on the system proxy—make sure no other policy or app interferes. Open System Settings → Network → Wi-Fi → Proxies. Set HTTP and HTTPS manually to 127.0.0.1 on Quantumult X’s listen port (default 6152). Do not enable “Auto Proxy Discovery” or “Automatic Proxy Configuration.”
4/8/2025 · 1 min read

Deriving Early-Stage North Star Metrics for Voice-Room Apps
Evaluating candidate metrics for voice-room apps: active users and session duration fail to reflect core value (interaction and coin spend). New-user mic rate within 7 days aligns with engagement, retention, and monetization—supported by sub-metrics and execution priorities for cold start.
1/24/2025 · 3 min read
2024
2023

My Own Prompt Engineering Notes
Practical GPT tips after Andrew Ng’s course: split prompts when hitting ~4k token limits with inner loops until a match; sleep 55s after every 3 free API calls; use Bing Chat to iterate prompts faster than manual trial-and-error, then extract a reusable template.
5/1/2023 · 2 min read

ChatGPT Prompt Principle (from Deeplearning AI)
Principle 1: Write clear and specific instructions Tactic Tactic 1 : Use delimiters to clearly indicate distinct parts of the input 使用符号清楚指出输入的不同部分,例如 / Tactic 2 : Ask for a structured output 输出结构化 Tactic 3 : Ask the model to check whether conditions are satisfied 要模型检查条件是否满足,不满足如何处理 Tactic 4 : &qu…
4/30/2023 · 2 min read

Notes on *The Sword and Zen*
Reading notes on The Sword and Zen: cherish life, red lotus hell, verse for self-reflection, folly vs wisdom, drop competitiveness—the inner enemy is harder.
4/24/2023 · 2 min read

Use GPT-3 to summarize Google Play reviews
import sys from googleplayscraper import reviews openai.apikey = "" set filterscorewith as a variable, and set to 1-5 and run five times getgoogleplayreviews each for score in range(1, 6): def analyzegoogleplayreviews(review): use GPT-3 to analyze googleplay reviews p…
4/24/2023 · 1 min read

Choosing a utility-app startup direction for going overseas
Goal: deliver ongoing value through the app, monetize via ads or paid features so LTV>CPI and the business is profitable. Why utilities? Lower revenue ceiling and less upside, but a good fit for indie devs and small teams—big players rarely care. Android vs iOS? Android holds ~71.62% global smartph…
4/23/2023 · 2 min read

Use Python to download reviews of a specific app on Google Play.
this code is update, Added rating, comment time, author reply, support for multiple apps from googleplayscraper import Sort, reviews import csv import pandas as pd def getreviews(apppackagenames): writer = pd.ExcelWriter('reviews.xlsx', engine='xlsxwriter') for apppackagename in apppackage…
4/22/2023 · 1 min read

Monetization for Dating Apps
Lessons from multiple dating products: success ultimately depends on monetization. Three pillars—help users perceive value, design paid features, and marketing to convert—plus onboarding, safety, gamification, pricing, and conversion psychology (scarcity, anchoring, social proof).
4/22/2023 · 4 min read

Google Play Policy
April 7 account-deletion policy: in-app account/data deletion plus a web request link, effective early 2024; data safety form due Dec 7, 2023. May 31, 2023 anti-manipulation rules ban incentivized ratings and install-for-rewards.
4/7/2023 · 2 min read

Summary about the community
Summary of the community The value and role of the community: The community is not a core function and is enhanced and active through the community (NetEase Cloud Music). The community is the theme, serving as a channel for B-end manufacturers in specific fields (tap tap is a channel for game manuf…
4/1/2023 · 6 min read
2022

Count duplicate elements in a Python list
Two Python approaches: set + count, or collections.Counter to count list element frequencies.
12/29/2022 · 1 min read

Search operators and methods
Site search: keyword + site:domain. File type: keyword + filetype:pdf. Date range: keyword + 2021..2022. Title: intitle:keyword. URL: inurl:fragment. Exclude terms with minus. Examples for Zhihu, PDFs, AI topics, celebrity galleries, Lancome URLs, and CPA ads.
6/17/2022 · 1 min read
2021
2020

Cleaning up the tool product design process
What is the purpose of this product? Purpose: To make money and monetize. Monetization model: Make money and monetize through advertising model. Monetization strategy: Create ROI. Why choose this field? Because of the high frequency and wide demand for cleaning tools, it is suitable for the adverti…
9/22/2020 · 3 min read

How to deal with unhealthy product data
What is unhealthy data? Compare the calculated indicator data with industry data (which can also be expected data or past data). If it is low, it means that the data is bad data. Example 1: If the frequency of ad impressions per capita on the day is low Idea: 1. Find the link of lo…
9/22/2020 · 3 min read

Offload attribution
Uninstall Attribution Why should we use uninstall attribution to find the reasons for user uninstallation and reduce the loss of users User structure composition - Users - Surviving users - Active users - Silent users - Uninstalled users Uninstallation assumptions - New users …
9/22/2020 · 7 min read

Calculate LT using Python fitting
Fit retention with scipy/sympy and integrate to estimate 180-day LT, replacing manual retention cleanup and power-law fitting.
9/7/2020 · 2 min read

Some thoughts on investigating UGC community products
Recently, I want to transform the recipe tool into a community. Some thoughts when researching competing products: 1. Why do community applications forcefully expose the content they produce in mine? Do users watch the content they generate every day? It doesn’t feel like it to me! Later, I discove…
5/13/2020 · 2 min read
2019

Notification prompt logic
Rules spreadsheet linked. Cooldown (CD): 30 minutes after a prompt is dismissed before rescanning; CD varies by prompt type. No prompts during sleep (10pm–8am) or while One Booster is in foreground (CD pauses; resumes 3 minutes after exit). Staggered firing when multiple prompts qualify (5 / 25 / 4…
11/13/2019 · 2 min read

App上线准备清单
文案 应用标题 50字符 One Booster &8211; Antivirus, Booster, Phone Cleaner 简短说明 80字符 One Booster helps keep your phone safe from virus and clean ,also free up space and RAM to improve your phone&8217;s performance.Enjoy your speedy phone now! 完整说明 4000字符 Why One Booster is a MUST-HAVE app? ★ Effective Spe…
10/8/2019 · 3 min read

Product Metrics
Pre-launch metrics for a cleaner utility: D1 active retention, survival rate, stickiness, D3 retention, feature CTR/7-day retention/funnels, ad impressions, eCPM, and ROI decomposition into LTV, CPA, LT, and ARPU.
9/23/2019 · 2 min read
2018
2017

Methods for Writing News Leads
Lead traits: foreground the main point, write directly, stress outcome/status/significance, keep it short. Techniques include suspense, contrast, feint-and-grab, motion, personification, numbers, sketches, background, quotes, close-ups, small-to-large—with examples.
2/8/2017 · 4 min read

Reading Notes: How Google and Amazon Do Product
Build viable products: define needs and metrics, ship core value at minimum cost, iterate on data. Covers mission, strategy, PR/FAQ/specs, UX, testing, analytics, launch, teams, tech, communication, and decisions.
2/7/2017 · 7 min read

App Channel Tracking and Analytics
Android channel packages vs iOS IDFA and SFSafariViewController cookie matching for attribution. Analyze channels by volume (lowest CAC) and quality (highest user value) using retention and revenue.
2/6/2017 · 1 min read

Reading Notes: The Lizard Inside
Notes on automatic vs reflective thinking, economic vs social exchange, persuasion, mental salience, association, lizard rhetoric, behavior-over-attitude, fulfilling desires, insight, feelings, expectation, and art in persuasion.
2/3/2017 · 8 min read

WeChat Product Rules Analysis
Analysis of WeChat product rules from the official FAQ. Rules cover input length, content permissions, usage frequency, time limits, and participant limits—designed to avoid disturbing users, protect privacy, and reflect product philosophy.
1/20/2017 · 7 min read

Project Summary
Course design is core to our education product. Teachers and students meet offline after booking online. We studied competitors (在行), analyzed teacher/student needs, mapped scenarios and edge cases, listed features, then designed pages with timeline, tabs, and prominent contact.
1/13/2017 · 5 min read
2016

Project Optimization Notes
Before launch, we found a flaw in teacher onboarding for our education platform. Onboarding was too heavy for a new platform with low trust. Fix: let teachers skip profile setup; auto-fill tags from skill category; guide 3+ project entries instead of company verification.
12/31/2016 · 2 min read

On Reading Fragmented Knowledge
The internet gives us endless info, but most 'dry goods' are redundant and unsystematic, wasting time and attention. Tips: one article won't enlighten you—use it as a path to books; don't be greedy—10 Instapaper articles/day is enough; filter redundancy; summarize and organize into notes.
12/30/2016 · 2 min read

Project Retrospective
Near the end of our startup project, two major mistakes stood out: no user personas from research, so we built features based on guesses; and not distinguishing must-have vs nice-to-have features, bloating the latter and slowing progress.
12/29/2016 · 1 min read

Research on Renowned Design Teams
Studied commercialization of Chinese design teams—frog, eico, ARK, Tang Design, LKK. Who needs them? Brands rebranding; startups valuing design without in-house teams. frog design offers growth strategy, experience strategy, and product/service design.
12/23/2016 · 2 min read

需求
需求被互联网人吵得火热,说得好听像只有互联网在解决需求似的。 实际上并不是这样。 我理解是这两个方面衡量需求: - 第一个就是现有解决方案效率过低,很难满足用户;那么你就已经 发现了需求 ; - 现在技术,经济,文化水平等综合环境的发展趋势来预测需求,这也就是所谓的 创造需求 。 那么你会问,现在市场这么饱和了,是否现阶段需求都被挖掘完了? 从发展的角度去看问题: - 需求是会衍生出需求的,硬件需求衍生出软件需求,软件需求衍生出服务需求。用“狐假虎威”的比喻可能不太恰当,但实际上就是根据现有比较好的产业,提供服务,或者给他们的用户提供服务。 - 还有一…
12/22/2016 · 2 min read

Reflecting on Uber's People-as-Destination Design
Uber launched a feature: pick a contact and get driven to their location. It lowers the cost of offline meetups—we usually go out to see people, not places. Both parties don't need Uber installed: select a contact, send an SMS link, they authorize location via web, then you can drive over.
12/22/2016 · 1 min read

Alipay's AR Innovation
Alipay launched AR Scan-to-Grab-Red-Envelope—nearby users joined in fast. Bury envelopes on scanned objects; others find and claim by location. Why AR? Pokémon Go validated the market, two-player play spreads virally, book-dropping campaigns inspired it, gamification and process matter.
12/22/2016 · 2 min read

从游戏感悟到产品之道
最近买了一部 3DS,着迷于其中的「街头霸王」游戏,算是对童年回忆的致敬吧。 在格斗游戏的套路中,不禁发现与产品之道是如此的相似。 以下是我的一些感悟: 了解「游戏角色」 你选择了其中一个 游戏角色 后,你需要了解他的: 「速度」、「伤害」、「技能」、「特殊属性」、「弱点」、「优势」。 也就像做产品了解用户一样,你需要了解用户的: 「认知」、「年龄身份」、「需求痛点」、「使用场景」。 只有了解「游戏角色」后,你才能充分扬长避短的打赢对手,也只有了解「目标用户」后才能设计出对用户有价值的产品。 把握好「时机节奏」 玩过格斗游戏的朋友一定清楚, 出手不能早,也不能慢,才不…
11/19/2016 · 3 min read

关于Action Sheets & Alerts
最近在整理同事的交互文档时,发现对于应用的二次确认以及选择使用的交互控件不是特别到位,下面我把iOS中对这两个控件的使用指南进行了一下翻译整理: Alerts(警告) 警告是非常重要的提醒,一般是关系到应用或设备的某个状态或者模式需要您进行确认操作时使用。 一个警告弹窗由警告的标题,可以可选的信息,一个或者多个按钮选项,以及选项的文字用于收集输入。这是一个可配置的控件,如图下控件,其视觉效果是固定的不能自定义。 Minimize alerts(最小化警告) 警告打断了用户的体验所以应该只是特别重要的情况,像「确认购买」、「毁灭性操作」(像删除)、或者提醒用…
10/19/2016 · 5 min read

用户模型及用例
翻译自Rich fulcher by google UX designer 「大家好,我是Rich. 硕士学习的计算机专业和计算机程序视觉,但是后来我选择去做设计师,现在我是谷歌安卓团队的设计负责人」 「我觉得这是很大的诱惑在项目初期,着手做你最想要的。 如果你是一枚设计师,你想开始绘图; 如果你是一名开发者你会想着构建接口或者开始敲代码; 或者各种尽快上线应用的方式。 但是 令你气恼的是:你满腔热情且自信满满的去做,但是你却很难去选择一个正确的产品发展方向,这唯一的办法是你了解你的用户。」 「所以,你需要开始思考:“谁是我项目的受众,那肯定不是你自己,那是一个更庞大的群体。然而我…
10/17/2016 · 2 min read

关于邀请分享
昨天晚上邀请老邱(互联网界毒瘤)来体验一下我现在公司的产品,被吐槽得一夜未眠。 主要吐槽的是产品的邀请分享的设计。 现有的邀请分享是这样的: 分享二维码至社交平台 => 受邀者识别二维码下载应用 => 在应用中扫描二维码添加好友 会有以下体验上的问题: 让用户识别二维码下载不如直接提供下载按钮直接。 二维码承载了两个功能「下载应用」,「扫码加好友」,很多用户识别后就去下载安装了,然而并没有保存好二维码。那么用户回到分享页面扫描二维码成本略高。 于是 我结合之前设计邀请产品的经验分析: 首先将「下载应用」与「添加好友」…
10/16/2016 · 2 min read

本周总结
休息了一个月,加入了一家做直播的团队。与之前不太一样的工作体验,以下是我的一些小感悟: 1、「相同的行为,动机不同,结果不同」 这句话咋一听起来觉得比较矛盾,明明一样的行为为啥结果不同。 这里我举一个例子: 由于数据那边提供的反馈是:“第三方登录的新用户有30%在验证手机短信环节选择了放弃注册”。 于是 产品选择了取消了在注册环节设置「手机验证」, 然而 国家最新规定,用户必须验证手机身份。也就是说用户在体验直播中 只要产生行为(会话,红包,表情等 )会弹出一个「手机验证的弹窗」,点击后会跳转至于「手机验证」页面。打断用户的直播体验,是极不好的…
10/15/2016 · 4 min read

设计解决业务的限制
最近查看统计数据,发现新上的平安产品出单失败率比往常高出2成。 经过与业务部门沟通,才发现: 原来 “每天晚上11点50~12点为平安服务器维护时间,在这个时间段提交的订单均不会出单”。 这对用户体验不是特别友好,让用户觉得平台不够稳定。 最简单粗暴的办法就是在11点50~12点提示用户服务器维护。 但是仔细分析下这样解决问题还不够好: 用户完全可能因为无法购买去选择其它平台购买了 那么有没有办法让用户能够流畅的购买呢? 当然可以: “既然用户在这个时间段不能购买,那么我就延迟提交订单不就行了?” “由于保险产品的出单规则是当天购买次日出单,所以延迟提交订单的话需要将生效日期的选择控制在T+…
9/14/2016 · 2 min read

如何设计免登录购买
电商产品离不开的便是购买,而跳出率最高的也是购买这一环节。 为何? 因为对于新用户而言,点击「购买」 => 「登录」=> 「注册」,这对用户来说打断了「购买」流程,也在心理上增加了使用成本。 那么如何设计免登录购买呢? 所谓免登录即是以最小成本验证身份购买,那么仅验证手机号码即可购买。 其次为了留住用户,可以在用户购买结束后提醒设置密码,这样不打断「购买流程」。 一下是我在公司设计的免登录购买保险产品流程: 用户点击购买后 => 选择是否登录 => 未登录将验证手机号继续购买…
9/14/2016 · 1 min read

如何正确的设计表单验证
曾经很久以前有个程序员跟我说“任何产品都离不开增删改查”。不一定对,但是大部分产品都适用,那么今天我想说一下「增」。 所谓「增」,即是填写表单,实际场景可以是“购买”、“提交个人信息”等等。 为了保证信息的完整及正确,我们需要增加表单验证。 好的表单验证应该是即时反馈的,并且能够让你知道哪里错了, 下图是我的总结: 问:什么是即时反馈? 答:文本输入框,失去焦点后立刻提示toast用户哪里错误。 问:什么是非模态提示?为什么要用非模态提示? 答:非模态提示(rich visual modeless feedback RVMF)即不要用户做特殊操作或者转换模式,就能看到和理解这些反馈。使用场景…
9/13/2016 · 2 min read

关于投保的简化设计
这次,我要讲的是保险产品的线上投保交互设计。 线下投保流基本如下: 其中投保人及被保险人信息包括证件号,年龄,性别,手机号码。 怕大家还不太懂,我拿 「众安」的投保 给大家看一下: (ps:众安将保费试算和选择方案整合在了一起) 输入这么多信息!烦不烦? 答曰:“监管部门规定必须添加这么多信息”。 为什么不是先选方案?再添加投保人被保险人的信息? 答曰:“大部分产品未添加「被保险人信息」,是获取不到保费的。 下面我科普一下 目前线上产品影响保费的价格因素: 那这投保设计还有救吗? 当然有,我从这几个维度优化投保: 流程上:既然需要添加被保险人信息及投保人信息,那么 默认被保险人即投保人本人是…
9/12/2016 · 2 min read

来说说HTML5应用
离开上家做 社交产品 的公司后进入了 互联网保险行业 。 企业为了缩减开发成本,也为了更敏捷的迭代,越来越多的互联网企业使用了: HTML5 来打包应用或直接使用公众号内的HTML5 。 而我也有幸在现在的公司开始设计HTML5的产品, 下面我来说下我总结的 这个项目中总结的一些经验 : 1、 请单独订制 sheet 控件 、 picker 控件, 千万不要使用HTML中的 option 标签。 下图是我举的一个例子: 理由一:iPhone中通过HTML5调取的picker没有“取消按钮” ,也就是说,只要激活后只能点击完成来关闭,而点击完成后将…
8/6/2016 · 3 min read

保费试算
以前 每当我接到新活的时候,我总是陷入细节,然后不能自拔。 后来在领导指点和自己总结下逐渐改变了这个缺点。 今天接到「保险代理人」产品的详情页面设计。刚接到时候头都大了,只能用变态形容。 我暂称为「保费试算」,其需求是这样: 用户可以动态的更改 年龄 性别 保额 缴费方式 附加险 保障期限 而这些元素将影响保费。 需要清晰的展示 总保费 主险保费 附加险保费 …
7/27/2016 · 3 min read

关于设计方案
做我们设计行业,最怕的就是方案被反复改还达不到上面的要求。 为此我们需要花大量的时间和精力去修改完善,去揣摩领导的意思。 最重达到双方都满意的设计。 但是 有时候我们并没有去努力优化,而沿用了「心理学」。 举个例子,现在大部分设计师都喜欢给出很多方案来让大家去选择。 刚开始 我觉得这样挺好的,似乎这样更容易被选中方案,就像买了保险一样总有一个方案会被选中。 后来 我逐渐发现这样出方案,思考得更少,基本上穷举或者看别的产品的 方案就能够出好几种方案,两大致命缺陷是: 不能明辨出更好的方案,因为将选择权让给了别人。 将选择范围控制了,阻碍了创新。因为很可能你给的方案也许都不够好,只是相对于其它会…
7/26/2016 · 2 min read

No creativity? Let's try thinking like this
Every designer will encounter a time when creativity is exhausted. At this time, many people will choose to refer to competing products. But if you are a conscientious designer, you can try this to expand your innovative ideas: 1. Expand uses. It’s not easy to understand, right? Let’s take an examp…
4/5/2016 · 3 min read

Don't be evil
Good design features are intentional. I really can’t find the source of this sentence. But you can understand that design is purposeful, provocative, and serves business. Then design is like a double-edged sword. Once used improperly, the user experience will be greatly reduced. It is true that eve…
4/2/2016 · 4 min read

Let’s talk about interaction designers you don’t know
I have been doing interaction for 3 years. Friends and colleagues often ask me, "What do you do with interaction?" The answer is: "According to the user's needs and scenarios, complete tasks in a simple and pleasant way." But they still don't seem to understand. So what exactly does interaction do?…
3/23/2016 · 5 min read
2015

"Goals and Actions" of Design
I think there are many things in life that you cannot just do recklessly just because the goal is very clear. Instead, it is executed naturally according to the logic of the target object, and the experience is like "going with the flow." Just as in design, consciousness cannot be imposed on users,…
6/8/2015 · 2 min read

book list
▏Logical thinking
4/6/2015 · 2 min read

Essay
Today I was chatting with a mobile product founder I met before and talked about products. Being hacked is too biased towards entry-level users and does not consider some deeper business logic. I have also realized this. On the one hand, it is because I am young, and on the other hand, it may be re…
2/12/2015 · 1 min read

Recent summary
In recent interviews, I found that I am lacking in these aspects: 1. I have no practice in user research and data analysis. 2. There are too few design works for interactive effects. 3. The way to describe your work in Axure needs to be improved. It is best to explain it clearly in interactive docu…
1/28/2015 · 1 min read
2014

Web page icon settings on the browser
When you browse many websites, you will find a small icon in front of the browser's address bar and a small icon in the browser tab. For example, Baidu, Tencent and other websites have such icons. Would you like to add a small icon like this to your website? With this small icon, your website will …
12/22/2014 · 2 min read

Sketch Alpha Masking Tutorial
I have been learning Sketch by myself for almost 3 days, and I feel it is really simple and practical. But there are some obstacles in mask learning. The tutorials searched on Baidu are almost the same for clipping masks, but there seems to be a lack of detailed tutorials for alpha masks, including…
12/11/2014 · 2 min read

Thoughts after reading "Desolation"
After reading this book, I feel that simple and instant gratification is the way to go. “Weirdos may be freer.” Yes, throw away your worries, throw away your friends, throw away useless things. Don't bother yourself, don't accommodate anyone, don't be disturbed by useless things. So I decided to ar…
7/27/2014 · 1 min read

If you are ugly, you should read more, if you are stupid, you should write a blog
In life, I always sum up a lot of experiences and read a lot of books, but I always forget them as time goes by. My cousin asked me to write a blog and present some of my life experiences and some of the knowledge I have learned in the form of words. I also hope to make friends with similar interes…
7/26/2014 · 1 min read

