Portfolio - UX Writing Samples

Lyft app


屏幕快照 2022-02-05 下午11.21.52.png


Users set a ride reminder to go to the BART station, and Lyft sent a notification on time.


  • The notification was sent as a text message by an unknown number, and there was no hint in the text that it was from Lyft. 5 out of 5 participants expresses the wish to see where the message comes from. 

  • "Passenger Zone" was the pickup point, not the user's destination. 4 out of 5 participants felt unfamiliar with this name. 


屏幕快照 2022-02-05 下午11.21.41.png

Solution and Rationale

  • Began the text with "[Lyft]," so the user knew who sent it.

  • Changed "Passenger Zone" into "Bart Station."  A research based upon 5 users indicates that riders are more likely to remember their destination name than a pickup point. 

Empty States 
Flo app


Users were exploring the app for the first time, and when they clicked on "Recent," the page showed, "Nothing here yet."


  • No guidance on how to fill up this empty state. Also, no hint of what kind of content would show up here. 

  • Missed marketing chance to introduce the benefits and features of the app.

  • Accessibility concern: empty states don't work for users who use screen reader. They can't get the idea of what is supposed to be there. 

Solution and Rationale

  • Reworked the copy & Rationale:

  1. Instead of telling users "nothing is here," be inviting. Turn a neutral experience into a positive one.

  2. Give instructions on what to do.

  3. Add a tooltip to make the relevant icon stand out.

  4. The Flo app has an intimate, cheerful, personal yet professional voice. Make sure the voice here align with that,


flo empty states.jpeg


updated flo empty state.png

Error Message
Doordash website


error message


屏幕快照 2022-05-23 下午4.39.26.png


Users tried to subscribe to Dashpass (a monthly subscription to get free food delivery). After choosing the credit card, this error message popped out.


  • Users didn't know WHAT went wrong, and after they tried again, the same error showed up.

  • While the message told users to contact support, finding the button that led to technical support was difficult. 

Solution and Rationale

  • At first, I wanted to add a button in the error message so that the user can contact support with one click.This solution would quickly ease users' frustration before developers fixed the bug.

  • On second thought:

  1. There might be technical issues back-end

  2. Consider from the business perspective: add a "contact support" button means more funding in customer service.

  3. "Oops" and "Sorry" both soften the error message, but sometimes the problem might be complicated to solve.

User Inputs
Junk King website


  • Junk King is a junk removal service. This form was on the home page at the most conspicuous spot with an alluring title, "Book Online & Save $20." 

  • Users were intrigued and filled up the form. Many of them (with doubts) clicked the "BOOK IT!" button. 

  • Unfortunately, this button at once led to a booking confirmation with a precise date and time when the staff would come to your door and haul your junk away. 


屏幕快照 2022-02-07 下午8.24.27.png


  • Users had no idea how much it would cost before they accidentally booked the service. 

  • Received many cancel requests from frustrated, misled customers.

  • The Information Architecture needed to be rebuilt. Potential customers felt insecure without knowing an estimated price but might still click the button out of curiosity and then felt frustrated, even cheated. 

Solution and Rationale

  • Changed the CTA text at this step into "Estimate Price" and used sentence case.  By making this change, 1. users know what will happen 2. new customers get what they care about the most at this moment. This built trust with potential customers. 

  • Since now the button didn't lead to a booking, we avoided asking for an address or phone number. Postal code and email were enough. Only ask for sensitive/private info AT THE RIGHT TIME. 

  • Even if users didn't end up booking a service, we had the chance to reach them in the future with their emails, like sending promotions, coupons, etc.



Welcome Page
I am app


屏幕快照 2022-02-08 上午11.23.56.png


屏幕快照 2022-02-08 上午11.23.34.png


"I am" is an app that sends notifications of motivating quotes at customized frequency and time. This was the welcome page for first-time users.


  • The introduction was unscannable, and it wasn't attractive enough.

  • Users couldn't find the connection between the intro and the button they were supposed to hit.

  • Negative first impression due to the Welcome page
    Fewer users paid for the monthly subscription at the end of the onboarding flow.

Solution and Rationale

  • Briefly introduced the principal - "daily affirmations" - behind our "building a positive mindset" goal.

  • Transited the intro to CTA with a question. 

  • CTA text echoed with the brand, "I am."

  • The new welcome page improved the first impression we made on users, which built trust and increased subscriptions. 

Lists & Navigation Menus
Urban Revivo website (mobile)



Pic 1


This was the US website of a Chinese fast fashion brand, Urban Revivo. Users were trying to quickly find their desired clothes.


Pic 2


Pic 3


  • Due to transportation, the products frequently sold out, especially smaller sizes like XS and S (see pic 3), since most customers on the US website were Chinese who were relatively petite compared with American customers. 

  • Products on this website were overloaded. After reviewing hundreds, customers found a product they liked, but the wanted sizes very likely sold out. This was frustrating and time-consuming.


屏幕快照 2022-02-08 下午2.56.22.png

Solution and Rationale

  • Added a "SIZE" filter. Customers could save a lot of time by limiting the search results and ensuring the product they wanted has the right size.

  • The refined shopping experience increased returned customers.


Keep it short

  • Make sure it's scannable.
    Get rid of redundant words.

Right info at the right time

  • One step at a time. Avoid vague or intrusive requests.
    Follow the content hierarchy.

Be seamless and invisible

  • Do not direct. Instead, "walk" users to the next step. 
    Show off your writing by making it "disappear."