When I first started looking for jobs in the tech industry, I was desperate to find out how to build a good portfolio. What type of work should I have? How many projects is enough? How should I present each project? What should the project be about?

Looking back, I think I can answer these questions with more clarity and confidence. I hope these tips could help those in the same boat as I was before.

[Disclaimer: the following information is solely based on my experience and observations throughout these years. …


There are plenty of excellent resources for learning cool git commands, but this is not one of them. I will talk about my preferred git workflow and reasons behind it.

Instead of directly committing to master, make a feature branch.

# on your main branchgit checkout -b "feature-todo"

Creating a feature branch is typically a good idea. It helps to keep the master branch as stable as possible. When the change set is presented on a feature branch, it’s much easier to code review, test and document. …


One thing we web designers/developers do often is to build components based on the design. Often these components’ HTML structures and responsive behaviors stay the same under the hood, while their visual aspects are drastically different from projects to projects.

Because I was lazy and didn’t want to do repetitive work, I started to think about how I could have a collection of HTML components with some CSS encapsulated in each one. …


Whether it’s small or large, open or closed source, desktop or mobile, I deeply enjoy creating stuff. The idea of completing a project excites me (though in reality it never “completes”); the process of figuring out how to break a problem then solve it one by one puts me into the flow state.

Also, I like to do things on my own terms :)

Therefore, I set a goal to build 10 products from the ground up in 2018. Why 10? because 6 weeks per project seems just about right to go from ideate to ship. …


I love YouTube. For the last 5 years, I’ve used it daily for learning new skills, trying new recipes and keeping up my exercise goals. When there’s a question popped up, I would search on YouTube and learn from the videos. It has become a big part of my life and has changed greatly how I spend leisure time and how I grow my knowledge.

UX pain points

Most of my problems with YouTube are the user experience. Here are some of my major pain points:

A chaotic homepage


Photo by Sylvain Guiheneuc on Unsplash
  1. Commit in small and concise chunks. Big commits which touch every single file in the system should be avoided. Break down your big feature into small committable stories. The commit history of your (master) branch should be readable, reversible, and resettable. No one likes to have a big fat merge conflict!
  2. Do include tests in every commit.
  3. Put on your QA hat and really, really try to break the thing you made. Then write more tests to avoid the found bugs from happening unnoticed.
  4. Underpromise and Overdeliver. Programmers usually work under some kinda deadlines. …


Shortly after starting the quest of finding THE perfect standing desk, I realized that I would have to build it myself since it’s almost impossible to find one that matches all my criteria:

  • It has to have an up&down control panel for sit/stand position.
  • It has to have a natural surface — preferably wood.
  • It has to be high enough when used standing the elbows and the desk can be perpendicular.
  • It has to have wire organization.
  • The total cost has to be within $500.

And Ikea’s Bekant sit/stand desk($399) allows me to do all that. It came with a…

Amie Chen

UI/UX Designer & developer, previously @Twitch / Signal. Always building stuff. Find me @hyper_yolo or on amie-chen.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store