跪拜 Guibai
← Back to the summary

Zitiya: A TRAE-Built Mini-App That Serves Up Comebacks When Your Brain Freezes at Dinner


theme: arknights

#TRAE双端融合 #全新TRAE实战体验 #TRAE全链路实战
Competition track: TRAE full-link development practical battle
Test link: https://zuitiya-h5.app.workbuddy.host/?sharecode=CFJ556XJLR

1. The awkward dinner table

On National Day, back home for the holiday, the second aunt at the dinner table started again: 'Why are you still not looking for a partner? Look at other people's kids, already old enough to run errands.' I muttered 'soon, soon' while my brain frantically searched for an answer that would let me stay respectful and make her gracefully shut up. Looking back afterward, ten comebacks popped into my head, but on the spot I could not organize a single one. I am the kind of introvert who never enjoys eating at gatherings, whether it is toasting a leader or chatting with relatives and elders; I want to claw out a two-bedroom apartment to hide in. Sometimes I say something I should not, sometimes I do not say what I should, and it comes across as impolite. With dozens of eyes on me, the more I wanted to behave gracefully, the more my mind froze. When I got home and lay in bed, scrolling through high-EQ replies, I thought: if only I had said it that way. The more I thought, the more I regretted it.

So I made a mini-program to give me replies in those socially awkward moments when my brain freezes. When someone throws a line at you, Zitiya lets you pick a reply in a fitting tone, and with one tap it rephrases it. It is like having a quiet stand-in assistant whispering in your ear. The whole project, from the name to running on a real phone, was written with the new version of TRAE.

2. Building the mini-program

The program code is already on GitHub, and you can run it yourself: https://github.com/beverlyLee/vibecoding/tree/main/zitiya-miniapp

Why TRAE. I wanted to get things done quickly without being tortured by the environment. I wanted to build a complete cross-end mini-program: Taro as the scaffolding, combined with React and TypeScript, so one codebase compiles to WeChat, Alipay, and Douyin mini-programs and H5. In the coding phase, I had Agent mode set up the Taro project first, and I described the four main pages and the directory structure with one build prompt; it laid out the scaffold and dependencies in one go. Tedious boilerplate like cloud-function scraping logic and TypeScript type definitions takes the Agent only a few minutes to shape, and I only touched the key business decisions. During the phase of tuning rules and reply corpora, I switched to IDE mode, editing keywords and replies against the real source code, and after each edit hot reload showed the effect immediately.

image.png

image.png

3. Feature description

3.1 Countermove (拆招)

Back to the product itself. On the Countermove page, enter a sentence someone said to you, and it immediately gives you four sets of replies, sorted by style: gentle de-escalation, humorous deflection, direct refusal, and turning it back on the other person. When you really use it at a dinner table, one glance is enough to get the idea. If you want to say any line another way, tap it and the large model rephrases it.

The first version covers scenarios such as marriage pressure and baby pressure, prying into privacy, workplace bullying, moral blackmail, pressure to drink at toasts, and requests to borrow money, more than a dozen common social pressure scenarios, each with ready-made scripts.

image.png

image.png

The code is:

const styleNames: Record<ResponseStyle, string> = {
        gentle: '温和化解',
        humor: '幽默带过',
        direct: '直接拒绝',
        counter: '反将一军'
      };

3.2 Striking first (出招)

Besides reactive countermoves, there is also an active 'striking first' page: 12 common scenarios divided into four categories: dinner parties, workplace, relative gatherings, and daily boundaries. It helps you organize your thoughts and language before speaking, and it has follow-up lines so the conversation continues smoothly without awkward silence. For unavoidable occasions like a wedding toast or an annual company dinner, flipping through it before you speak gives you a solid footing.

image.png

To actually work at a dinner table, relying on a large model alone is not enough. Conversation is time-sensitive; waiting two or three seconds for output at the table means an introvert has already gone cold. And every call costs money; using it every day is hard to afford. Without a network or without a configured key, it becomes unusable. So Zitiya's design is: local rules as the base layer. High-frequency, clear scenarios are matched by keywords for instant replies, and the large model only serves as a fallback when nothing is recognized. The rule-based instant reply is zero-cost, offline, and millisecond-level; only the large model tier is an optional paid item.

3.3 Quote library (语录库)

Besides replies, there is a quote library. The fixed library is a set of catchy golden lines I wrote by hand; the daily library is hot phrases that the backend scrapes from the community every day. The two layers are appended to the end of replies.

image.png

The settings page includes nine provider presets: Volcano Engine Doubao, SiliconFlow, DeepSeek, Zhipu GLM, Tongyi Qianwen, Kimi, OpenAI, and Anthropic, plus a custom OpenAI-compatible option. API keys are stored only on the local machine and are not kept on any server, and it still works through pure local rules when there is no network.

image.png

image.png

Real-device test:

image.png

4. Testing: development is not a green light all the way

Development did not stay green. With one Taro codebase compiling to several platforms, type errors and platform differences were constant companions. My habit was to paste the error message verbatim into the TRAE dialog, let it locate the specific file and provide a fix. I reviewed the change to make sure it was correct before applying it, and where I was not confident, I asked it to explain why it changed it that way. Most issues passed in one round; a few difficult ones took two or three rounds, much faster than looking through documentation myself.

image.png

5. TRAE's role in my project

Looking back at the whole development process, TRAE executed my ideas throughout the project, helped me find errors, and fixed problems.

Ending

But after all, socializing is face-to-face communication. How to speak to different people, different roles, different scenarios, and different contexts cannot be captured in a few sentences. Zitiya only hands you replies, and serves as a reference when you have no idea what to say. It provides options; it cannot socialize for you, but with it we can improve our social methods, sharpen our social skills, and strengthen our social abilities. That is what Zitiya really wants.

If you are also an introvert whose brain dies at the dinner table, or your mother knows the marriage-pressure lines better than you do, leave in the comments the sentence you are most afraid of hearing. I will have Zitiya judge it for you, and you can choose from four sets of replies.

#TRAE双端融合 #全新TRAE实战体验 #TRAE全链路实战

Comments

Top 1 of 2 from juejin.cn, machine-translated. The original thread is authoritative.

米酒加冰

Has it not been released?

桃西西呀beverlyLee

Still working on it. You can try the H5 link: https://zuitiya-h5.app.workbuddy.host/?sharecode=CFJ556XJLR