豆丁douding

成语 · 诗句 · for iPhone

Learn the idiom.
Then say it out loud.

豆丁 teaches 成语 and 诗句 in three parts — what the phrase means, the story behind it, and how to actually use it in conversation. Built for adults who speak Chinese at home but never sat in a 语文 class.

One email at launch. No newsletter, no sharing, unsubscribe in a click.

Coming to iPhone · iOS 16.4 and later
昼 · day夜 · night
今日
today · 9 月 4 日
连续 18 天
成语 · 今日一条
塞翁失马
sài wēng shī mǎ
The old man lost his horse — a setback that turns out to be luck.
《淮南子·人间训》 · 西汉 · c. 139 BCE
读今日 · Read the entry
今日短文3 idioms live · tap them

周五下班前,老板忽然说项目取消了。我在电梯里给我姨发消息,说这下完了。她回我四个字:塞翁失马。第二天早上,隔壁组的组长打电话来,说他们正缺一个懂后端的人,问我要不要过去——真是柳暗花明。晚上回家我把这件事讲给室友听,讲了二十分钟,他一直在打游戏,头都没抬。对牛弹琴,我说的是我自己。

诗 · 今日一首
萧瑟秋风今又是,换了人间。
浪淘沙·北戴河》· 毛泽东 · 1954
今日today
library
browse
progress

the shape of an entry

A dictionary tells you what 塞翁失马 means. It won’t tell you not to say it at a funeral.

Knowing the definition is the easy half. The half that keeps people quiet is not knowing how a phrase lands — whether it sounds warm or bookish, who you can say it to, and what it costs you when it misses.

meaning

The gloss, then the four characters broken out one at a time — 塞 frontier, 翁 old man, 失 to lose, 马 horse. You stop memorising a string and start reading a sentence.

origin

About eighty words of story, and the line it came from. 塞翁失马 is a man on the northern frontier, a horse that comes back with a better one, a son with a broken leg, and a war he was too lame to be sent to.

usage

A real dialogue, where the phrase sits between casual and formal, when to reach for it — and, plainly, when not to. This is the part a dictionary leaves out.

用 · the reason the app exists

Everything you need to actually say it.

Two people having a plausible conversation, with pinyin and English a tap away on each line, independently. A register meter showing where the phrase sits between casual and formal. Then the two paragraphs that matter most.

Say it when

A setback has quietly turned into an advantage — yours or someone else’s. Also good mid-setback, as comfort, before the turn has come.

Don’t

Not about real tragedy — illness, a death, a job someone desperately needed. It lands as flippant. And keep the 焉知非福 half when you say it out loud; the four characters alone read bookish.

The Don’t is never hidden behind a disclosure. It’s half the reason you came.

The phone is live — switch 义 / 源 / 用, open a dialogue line.

昼 · day夜 · night
返回已藏 ✓
成语neutral · spoken
用 · saying it out loud

我上个月被裁了,结果那家公司下个月就要倒闭。

塞翁失马,焉知非福啊。

Register
casualneutralformal
Say it when

A setback has quietly turned into an advantage — yours or someone else’s. Also good mid-setback, as comfort, before the turn has come.

Don’t

Not about real tragedy — illness, a death, a job someone desperately needed. It lands as flippant. And keep the 焉知非福 half when you say it out loud; the four characters alone read bookish.

近义 · nearby
柳暗花明the way out actually appears — after the dead end
望梅止渴comfort that changes nothing

源 · where it comes from

Eighty words, and you never forget it again.

Every idiom carries a story, and the story is what makes it stick. 豆丁 gives you the source line in the original, the dynasty it came from, and a short retelling — long enough to be a story, short enough to read before the train arrives.

Some phrases arrive as poetry and stay as speech. 柳暗花明 is a line of 陆游’s from 1167 that ordinary people now use to mean the way out finally appeared. The app tells you which is which.

《淮南子·人间训》 · 西汉 · c. 139 BCE

夫祸福之转而相生,其变难见也。

A man at the northern frontier lost his horse. The neighbours came to console him; he said, “how do you know this isn’t good fortune?” Months later the horse came back leading a fine Hu stallion. They came to congratulate him; he said, “how do you know this isn’t misfortune?” His son rode it, fell, and broke his leg. Then the war came, and the lame son was never conscripted — and so he lived.

柳暗花明陆游《游山西村》 · 南宋 · 1167

Not for small conveniences — finding a parking spot, a table opening up. The phrase has a mountain range in it; spend it on something that deserved one.

今日短文 · one passage a day

Idioms in the only place they’re real — running prose.

A hundred characters of ordinary modern Chinese: a project gets cancelled on a Friday, an aunt sends back four characters, a roommate doesn’t look up from his game. Three idioms are alive inside it, underlined and tappable.

It’s the difference between meeting 对牛弹琴 on a flashcard and meeting it at the end of a bad evening, where a person actually reaches for it.

对牛弹琴 · casual · spoken

Never to the listener’s face — you have just called them the ox. Elders may use it on you affectionately; that licence does not run upward.

昼 · day夜 · night
返回收藏
周五的坏消息
Friday’s bad news · 102

周五下班前,老板忽然说项目取消了。我在电梯里给我姨发消息,说这下完了。她回我四个字:塞翁失马。第二天早上,隔壁组的组长打电话来,说他们正缺一个懂后端的人,问我要不要过去——真是柳暗花明。晚上回家我把这件事讲给室友听,讲了二十分钟,他一直在打游戏,头都没抬。对牛弹琴,我说的是我自己。

塞翁失马 turns the bad news; 柳暗花明 names the turn once it has come; 对牛弹琴 is the joke he makes at his own expense. Three registers in one evening.

诗 · a poem, annotated

Read the whole poem. Tap any line for what’s under it.

Pinyin, a plain translation, and a note on what the line is doing — why 幽燕 instead of the modern name, why 魏武 rather than Cao Cao’s name, what sits in the gap between 又是 and 换了.

One verse a day is marked. And every poem carries a 活句 panel: the lines from it that ordinary people still say, seventeen centuries later, usually without knowing where they got them.

今日一句 · verse of the day

萧瑟秋风今又是,换了人间。

The bleak autumn wind is here again — but the human world has been changed out.

昼 · day夜 · night
返回已藏 ✓
浪淘沙·北戴河
毛泽东 · 1954
今日一句 · verse of the day
tap a line for pinyin, gloss and note
这首诗里的活句 · still in use
换了人间a different age stands where the old one did

藏 · 益 — what the app counts

There is no quiz score. There is one question.

Did you say it to a person? After a real conversation you tap 我说过这句 · I used this — one tap, no form. That log is the only success metric 豆丁 has, and everything in the Library and the Progress tab is built on it.

The streak counts days you read, not answers you got right. Nothing here is trying to make you feel behind.

昼 · day夜 · night
library · 62 kept
连续 18 天
全部
说过的
诗句
对牛弹琴said it

Playing the lute to an ox — pitching something at the wrong audience.

成语 · 牟融《理惑论》
塞翁失马said it

The old man lost his horse — a setback that turns out to be luck.

成语 · 《淮南子·人间训》
柳暗花明kept

Shaded willows, bright flowers — a way opens just as the road seemed to end.

诗句 → 成语 · 陆游《游山西村》
画蛇添足seen

Drawing legs on a snake — spoiling a finished thing by adding to it.

成语 · 《战国策·齐策》

“Used” means you tapped I said this after a real conversation.

今日today
library
browse
progress
昼 · day夜 · night
progress
连续 18 天
连续 · streak
18
days reading
62
kept
24
会用
usable
9
说过
said
熟悉 · from seen to said
seen88%
meaning62%
origin41%
said it17%
说过的话 · you said these
对牛弹琴
to my roommate, about my roommate
9 月 3 日
画蛇添足
on my own draft, out loud, to nobody
8 月 31 日
今日today
library
browse
progress

寻 · browse

Find a phrase by the situation you’re standing in.

Not an alphabetical list. 豆丁 files phrases by what you need them for — 安慰别人 consoling someone, 婉转批评 criticising gently, 饭桌敬酒 toasts at the table, 撑住 holding on.

Or come at it from the other side and browse by dynasty, from 先秦 through 盛唐 to 元明清. Search matches the characters, the pinyin with or without tones, or the English gloss.

昼 · day夜 · night
browse · 100 poems, 240 idioms
连续 18 天
搜索 · idiom, pinyin, or English
按情境 · by situation
14
安慰别人
consoling someone
11
夸人
praising, without flattery
9
婉转批评
criticising gently
8
饭桌敬酒
toasts at the table
按朝代 · by era
先秦4
汉魏晋8
盛唐36
中晚唐18
两宋25
元明清4
今日today
library
browse
progress

昼 · 夜

Two grounds, both drawn the same way.

Flat backgrounds and one-pixel hairlines — no translucent chrome, no floating cards, no shadows. Night mode isn’t the same screen dimmed; it’s a second complete palette on a deep warm black, the kind of ground a colophon page is printed on.

Gold is a stroke colour, never a fill. Nothing in the app is bolder than semibold; emphasis is italic, the way it is in a book.

昼 · day夜 · night
progress
连续 18 天
连续 · streak
18
days reading
62
kept
24
会用
usable
9
说过
said
熟悉 · from seen to said
seen88%
meaning62%
origin41%
said it17%
说过的话 · you said these
对牛弹琴
to my roommate, about my roommate
9 月 3 日
画蛇添足
on my own draft, out loud, to nobody
8 月 31 日
今日today
library
browse
progress
昼 · day夜 · night
progress
连续 18 天
连续 · streak
18
days reading
62
kept
24
会用
usable
9
说过
said
熟悉 · from seen to said
seen88%
meaning62%
origin41%
said it17%
说过的话 · you said these
对牛弹琴
to my roommate, about my roommate
9 月 3 日
画蛇添足
on my own draft, out loud, to nobody
8 月 31 日
今日today
library
browse
progress

pricing

One subscription. No ads, ever.

豆丁 is a reading app, so it’s paid for the way a book is. There is nothing to unlock with coins and no streak you can lose by missing a Tuesday.

Yearly一年
$TBD

Billed once a year, with a free trial.

Monthly一个月
$TBD

Cancel whenever you like.

Placeholder pricing — final numbers land with the App Store listing.

No account

Nothing to sign up for. The app opens and works.

No ads

Not now, not at scale, not as an experiment.

On your device

What you kept and what you said stays on the phone.

who it’s for

Written for one reader in particular.

You speak Chinese at home

You understand your parents fine, you can order anything, and you have never once used an idiom in front of them. 豆丁 is built for exactly this gap.

You’re past HSK 4

Grammar and vocabulary are no longer the problem. What’s missing is the register — knowing which phrases make you sound literate rather than like a textbook.

You read Chinese slowly but willingly

Every screen pairs the characters with pinyin and English, one tap away. Nothing is gated behind reading speed.

You are not studying for an exam

There is no test mode, no SRS deck, no score. If that’s what you need, this is the wrong app and that’s fine.

塞翁失马

sài wēng shī mǎ

The old man lost his horse — a setback that turns out to be luck.

Now go and say it to someone.

豆丁 is in build. Leave an address and you’ll get one email the day it reaches the App Store.

One email at launch. No newsletter, no sharing, unsubscribe in a click.