TuCaoWall · 吐槽墙

为什么做吐槽墙

The story behind TuCaoWall — an anonymous venting wall in 10 languages.

起因很简单:加班到凌晨想骂人,但朋友圈不能发——同事在看;微博会被熟人看到;跟朋友说,怕变成负能量。

于是做了 tucaowall.vip:一个不用注册的匿名吐槽墙。发出去只有内容和昵称,没有账号、没有头像、没有关注。

它现在是什么样

10 种语言、6 个主题房间(打工人 / 情感 / 租房 / 职场 / 校园 / 生活)、自动生成分享卡片。目前约 486 条内容、约 20 个注册用户、0 收入——这是真话,不美化。

技术栈很朴素:Flask + PostgreSQL + nginx,单台 894MB 内存的小服务器,Docker Compose。它挂过一次,因为我在那台小机器上直接构建镜像把内存吃满——后来改成 overlay 构建,再没复发。

三个我踩过的坑

1. 把「发布」当成「分发」。我在一个只有 100 来个粉丝的 Bluesky 账号上发了 539 条,总互动是 1 个赞。对着空房间喊话,不叫分发。

2. 相信了一个坏掉的指标。独立访客是用反代 IP 算的,所有访问看起来都一样,数字两个月没动。我一直以为「流量就是低」,其实是「仪表坏了」。

3. 分享图没装中文字体。容器里没有 CJK 字体,中文分享卡片全是方块。本机测试是好的,我从没在生产容器里看过渲染结果。

为什么匿名

大部分内容不是攻击,是日常:加班、房租、相亲、老板画饼。匿名只是把「说出来」的成本降到零。站点有敏感词过滤、频率限制和人工处理举报——不完美,但比「什么都不说」好。

现在在解决什么

唯一的问题:一个匿名 UGC 站点的第一批真实用户从哪来?不花钱、不刷量、不注册小号。如果你有类似经历,欢迎来 吐槽墙 发一条,或者告诉我你用过什么办法。

去吐槽墙看看 → 商店 / 支持我们

English

Why I built TuCaoWall. I wanted to complain at 2am after overtime, but couldn't post it: coworkers follow me, my social accounts are tied to my real name, and friends don't need my negativity. So I built an anonymous venting wall — no signup, no usernames, no profiles. Just a nickname and your words, in 10 languages.

Current state, honestly: ~486 posts, ~20 registered users, $0 revenue. Stack: Flask + Postgres + nginx on a single 894MB VPS. It went down once because I built a Docker image on that tiny box; fixed by moving to overlay builds.

Three mistakes: (1) confusing shipping with distributing — 539 Bluesky posts, one like; (2) trusting a broken unique-visitor metric for two months; (3) shipping share cards without a CJK font, so every Chinese card was tofu boxes.

What I'm trying to figure out now: where do the first 100 real users of an anonymous UGC site come from, with no budget and no fake accounts?