The Journey • Vibe Coding

Week 2: English Novels, a Brick Wall, and Almost Getting Summarized

How an outfit app got side-tracked, and why this site is in English

The Broken Promise

At the end of my last post, I made a very clear promise: I was moving on to my real target audience for Fitting Room—my coworker Gigi and my design students.

I broke it. Or rather, I got completely side-tracked.

A whole week has passed, and I haven't even opened the project file. Not a single screen, not a single prompt. The paper-doll outfit app made zero progress. Instead, it sprouted an unexpected side quest, grew into an entire second project, and somehow became this website.

It all started on a Wednesday.

I was catching up online with my brother, a tech founder. I casually mentioned that I had been experimenting with vibe coding using Claude. He listened, told me that a new AI agent could do that kind of thing too, and then made a suggestion: why not start a blog to document the ride?

My immediate reaction: Sure, why not?

Blogging wasn't new to me. I ran a blog for years, though that was a long time ago. But everything I wrote back then was in Chinese. Starting a new blog wasn't what scared me. The terrifying part was that this time, it was going to be in English.

The Expat Chat and the English Barrier

The honest truth is that writing in English has always intimidated me.

I have lived outside Taiwan for more than twenty years: Denver, New York, Shanghai, and now Hong Kong. English is my daily working language and what I speak with friends. But writing personal stories in English, out in the open for anyone to read? That felt like a completely different beast.

Besides, even though I live my life in English, I have never read a single English novel. Reading in Chinese is still far faster and more natural for me. When you don't even consume stories in a language, trying to write your own feels almost absurd.

Writing in English wasn't even my idea. It came from my old gang—the very first group of close friends I made when I moved to Hong Kong, coworkers from my first corporate design firm. Most of them were expats. We spent years hanging out, sharing meals, and surviving the chaos of firm life together. Eventually, life moved on and most of them scattered across the globe, but our WhatsApp chat never died. I'm always dropping chaotic, funny snippets of my daily life into the group, and they've always loved them. For years, they kept telling me: Sophia, you really need to write an English blog.

I laughed it off every time. The thought stressed me out. I pictured myself agonizing over every sentence, trying to sound smart, second-guessing prepositions, and wondering how on earth to translate a joke or a pun without killing the punchline. It felt like way too much friction.

What changed is realizing how much friction AI strips away. I can't write a line of code, yet I was already building software just by talking to Claude. Writing in English could simply be another experiment.

Just like that, the friction evaporated—and the intimidation went with it.

So I tried. And it worked.

Hitting the Wall

My original plan was neat and tidy. I would keep the projects cleanly separated: Claude would handle Fitting Room, and a new AI agent would build the website. Separate lanes.

Then I hit a wall. Repeatedly.

I spent a few days wrestling with the new AI agent, and we ground to a dead halt. No matter how I phrased my prompts, the project simply refused to budge.

When you first start vibe coding, it's easy to fall into a strange kind of stubbornness. I assumed the "proper" way was to pick one AI and stick with it through thick and thin until it delivered. But all that loyalty earned me was a bruised forehead against an immovable brick wall.

Then it hit me: why on earth was I being so loyal? An AI isn't a permanent employee on my payroll that I can't legally fire. Not that I needed to fire anyone anyway. Instead of forcing one tool to do everything, why not treat them like a team? Figure out what each AI agent excels at, match them to how I work, and cross-deploy them. If Colleague A is great at building the site, and Colleague B writes better copy, let them do what they do best. Suddenly, I didn't just have a tool—I had an entire creative department.

So I pivoted. I brought Claude back in to finish building the website, while having the new AI agent help me draft the copy.

Just seven days after that Wednesday chat with my brother, the website went live. It launched with my three Chinese books from the past, alongside my first three blog posts in English. That old blog belongs to my past, for the people who knew me then. This new space is a new era—showing both who I was and who I am now to an English-speaking world.

As for Gigi and my students? Fitting Room is still sitting quietly on my laptop. They still haven't seen a single screen.

The Two-Hour Reader

The day before the site went live, I went hiking with a friend.

As we walked the trail, I mentioned that I was launching my personal blog the next day. His immediate reaction was to laugh and say he'd just ask ChatGPT for a summary. He's the type who routinely uses AI to digest the news and sniff out good restaurants.

I told him: these aren't long, dragging stories. They're quick, easy reads.

The next day, about two hours after I sent him the link, my phone buzzed with a message.

He admitted he'd only been teasing about the AI summary. He had actually sat down and read through the two posts himself. He said the writing felt refreshingly candid and relatable—it made him reflect on his own life and journey. But he also confessed he wouldn't have had the courage to put himself out there so bare and vulnerable.

I was glad he read it for himself instead of relying on a chatbot digest. And as for being so exposed? I texted him right back:

"I'm old enough now that I can be brutally honest!"

第二週:英文小說、一面牆、懶人包

一個被拋在腦後的試衣間,和這個網站為什麼寫英文

被拋在腦後的承諾

在上一篇文章的結尾,我信誓旦旦地許下了一個承諾。我說,下一步我要把 Fitting Room 拿去給真正的使用者測試:我的同事 Gigi,還有我設計課的學生們。

結果……我完全沒做!或者該說,我徹底分心了,跑去做別的事。不過,這件事倒也跟 Fitting Room 有關。

整整一個星期,我完全沒開過 Fitting Room 的檔案,一個畫面都沒改,一行指令都沒下。這個原本要做紙娃娃穿搭的 App,不但沒有任何進展,反而半路殺出一個完全不在計畫內的支線,長成了第二個專案,也就是現在這個網站。

這一切,是從某個星期三開始的。

那天我和我哥在網路上聊了一下。他是個科技創辦人,我跟他說我最近在用 Claude 玩「用聊天的方式寫程式」(vibe coding)。他聽完之後,跟我說現在有個新的 AI agent 也可以做到這件事,接著建議我乾脆寫個部落格,記錄這些過程。

我的第一個反應是:欸……ok 喔!

寫部落格對我來說一點都不陌生,我以前寫了好多年,雖然那也是很久以前的事了。然而,我以前寫部落格全是用中文。開一個新的部落格不是什麼難事,真正讓我害怕的是,這一次,它要用英文寫。

外國同事與英文門檻

說實話,用英文寫作一直是我心裡的一道檻。

我離開台灣生活已經超過二十年了,待過丹佛、紐約、上海,現在住在香港。英文早就是我每天在用的語言,工作用,跟朋友聊天也用。但用英文寫自己的故事,公開給所有人看,完全是另一回事。

而且,雖然我每天都用英文,我倒是一本英文小說都沒讀過。對我來說,看中文還是快得多、也輕鬆得多。一個平常連英文故事都不讀的人,突然要用英文寫自己的故事,光想就覺得心虛又彆扭。

用英文寫,其實不是我的主意,是我那群老朋友的。他們是我剛搬到香港、進第一家大型設計公司時的同事,這些同事多半是外國人。那些年我們天天混在一起,一起吃飯、一起加班、一起應付工作上的各種混亂。後來大家陸續離開香港,分散在世界各地,但我們的群組一直都在。我總是在群組裡說故事,告訴大家我生活中碰到的荒謬人物、搞笑的日常瑣事,他們每次都看得很開心,還一直跟我說:Sophia,妳真的應該寫個英文部落格。

我每次都一笑置之。因為光是想到這件事,我就覺得壓力很大。我覺得自己會花大把的時間去修飾句子、想辦法讓自己聽起來很聰明、擔心英文出錯,而且我根本不知道該怎麼把那些中文裡的笑點和雙關語轉成英文,卻又不失原味。

現在不一樣的是,我知道很多事情都可以用 AI 試試看。我一行程式碼都不會寫,卻已經靠著跟 Claude 聊天來做一個程式了。用英文寫作,也可以是另一個實驗。那些阻力和壓力,就這樣不見了。

所以我試了。而且,真的可以。

撞牆之後

我原本的打算是這樣的。既然要在兩個專案上做實驗,那就把工具分開:Claude 繼續負責 Fitting Room,而那個新的 AI agent 就拿來打造這個網站。井水不犯河水。

結果,我撞牆了。一次又一次。

我用那個新的 AI agent 做網站,做了幾天就卡住了。不管我怎麼試著跟它溝通,事情就是推進不下去。

剛開始玩 vibe coding 的時候,我不小心陷入了一種盲點,以為專心用同一個 AI 把專案死嗑到底才是對的。結果,這種堅持換來的只是一直撞牆,而且根本撞不破。後來我突然想通了:我幹嘛這樣?我又沒有必要對任何一個 AI 忠心耿耿,它又不是我不能解雇的正式員工。當然,我也不是真的要開除誰,而是我應該去摸清楚每個 AI,也就是我手下這群虛擬員工,各自的長處,找到最適合我工作方式的特質,然後交叉著用。換個角度想,多用幾個不同的 AI agent,我不就等於有了一個團隊嗎?A 同事幫我架網站,B 同事幫我做其他事,各司其職。

於是我改變策略,回頭找 Claude 幫我把網站接下去完成,同時用那個新的 AI agent 幫我寫稿,因為它寫稿寫得比較好。

從我哥在星期三提出建議算起,短短七天,這個網站就正式上線了。上線的時候,裡面有我以前用中文寫的三本書,還有我這次用英文寫的三篇文章。以前的中文部落格屬於過去,留給那段時間認識我的舊朋友;現在這個全新的網站是一個新的時代,向英文讀者的世界,展現過去與現在的我。

至於 Gigi 和我的學生們?Fitting Room 依然安安靜靜地躺在我的筆電裡,他們至今連一個畫面都還沒見過。

兩小時後的讀者

網站上線的前一天,我和一個朋友去爬山。

走在山林間的時候,我跟他說我明天打算發表個人部落格。他聽了第一反應就笑著說,他到時要叫 ChatGPT 幫他做個懶人包。他平常看新聞、找餐廳,習慣叫 AI 幫他抓重點。

我跟他說,我寫的不是那種又臭又長的故事,很好讀的。

隔天網站正式上線,我把網址傳給他。過了兩個小時,我的手機震動了一下。是他傳來的訊息。

他說,要叫 AI 做懶人包只是開玩笑的啦。他已經把我網站上的兩篇文章讀完了。他說,我的文章好坦然、好真實,他好有共鳴,因為讓他想到自己的人生和經歷。但他也坦承,自己不敢這麼坦率,不敢像我在文章裡那樣把自己赤裸裸地表達出來。

我很高興他是自己讀的,而不是看 AI 的懶人包。而關於我的赤裸與坦白,我回了他一句話:

「我都到了這把年紀,早就不用在乎別人怎麼看我了!」