7 years of experience focusing on desktop and mobile product design. I use heuristics, user-testing, and animations to create my solutions.
Having enough context and doing the right research can make all the difference in the successful implementation of a product. For me, this usually involves looking at publications, analyzing best practices & competitors, and interviewing target users. From the information I gather, I jot down my findings and start creating user persona, storyboards, and user-flows. It's also vital to consider and discuss business goals at this point, to ensure mutual understanding between all stakeholders.
Occasionally, team brainstorming sessions or even a design sprint may be necessary depending on the scope and scale of the project. After the data and information has all been recorded, I filter out and refine the ideas for creating a requirements document.
After condensing the research down to the personas/storyboards/user-flows, I present them along with other key findings to the development team and any stakeholders. It's not always enough to be just "good", or "in accordance with best practices or industry standards", so I try to work in extra value for the user that isn't offered anywhere else; sometimes this involves taking risks, but it can also just be ensuring fast and iterative cycles that continuously adapt and improve.
If necessary, it's at this point that compromises need to be made between business and user needs. By having both a technical and business understanding, I can consult and resolve issues here between parties. When all is said and done, I create a requirements doc, tasks, and issues, using a project management system (be it Asana, Atlassian, GitHub, etc.), and assign them to team members appropriately.
I usually start off with a site map or information architecture flow to help organize the requirements visually. Creating something fast and sharing with peers is a great way of fine-tuning the details. I also test experimental hypotheses (How-Might-We's, stretch goals) at this point too, and user-test certain user interactions and flows.
Wireframes, mockups, prototypes. All with rapid review and iteration cycles in between. I make and share designs as quickly as possible to garner feedback and perspectives. For certain interactions or interfaces, I code the prototypes myself for interactive prototypes for "pixel perfect" design, animation, and timing.
They say a picture is worth a thousand words. Well an interactive prototype is worth dozens of hours of meetings and deliberation. Why show, when you can experience?
Small issues can pile up. Some issues are so small, they can get ignored entirely. While there are definite benefits to having faster development cycles, it's good to stop every once in a while to take care of all the little things that can turn into huge problems later on (e.g. responsiveness, localization [i18n], accessibility [WCAG 2.0], design inconsistencies, etc.). During this time, I provide mentorship to the developers/designers to train everyone to be more attentive and to follow design/development guidelines.
Conducting stability/stress tests, and re-evaluating the UX on a production server is crucial, as new problems can be uncovered that didn't exist before. I also conduct regular user testing and data collection to monitor the health of new and existing features. It's a good opportunity to learn about the ever-changing needs of users, while identifying pain points.
Metrics are an easy way of revealing trends and issues, but the hard part is recording and looking at the right data. I can filter out the noise to reveal what the biggest issues are, and prioritize them using a value vs difficulty decision matrix.
It goes without saying that design is iterative; no solution is ever perfect. After testing and issue documentation, I start all over again — unless there's new problems to tackle!
I owe a lot of what I know to online publications and literature. Here are some of my favourite and most useful books:
Digital user experience designer with 7 years of experience. Has an engineering background and worked as a developer before transitioning into UX. Focused on discovering user-problems, and designing & iterating on solutions to build impactful products.
UX: Product Strategy, Design Systems, User Research, Responsive & Accessible (WCAG 2.0) Design, Wireframing & Prototyping, Information Architecture Design
Dev: HTML, CSS (SCSS, BEM), JS (React, Ember), Git, Python
I was responsible for the design and development of their debut iOS app. I researched and defined product goals for the app in order to increase sale volume. Independently designed, developed, and iterated on the app while presenting progress to management. Completed project within 4 months, increasing overall sales by 10+%.
University of Waterloo
When I was a kid, I played a lot of Flash games, and when I eventually tried making my own game, it came out pretty rough. I moved on and learned Visual Basic 6, which was my first exposure to the drag-and-drop GUI, which was amazing! It began my career in building web experiences. Since then, I’ve learned more coding languages, developed more apps, but I also found myself spending more and more time designing interfaces and asking myself “How can this be better,” and “What does better even mean?”
Design methodologies have helped me figure out what the problems really are, but they've also helped me generate solutions—this is problem solving! And like brain-teasers, I just can’t get enough of them.
Design means anticipating user needs. It is knowing what to present to the user, when, and how. Fail fast and fail often is a phrase I believe to be important and true.
I read several curated news feeds like Sidebar.io and NNGroup, as well as posts from authors like Julie Zhuo. I draw inspiration from my hobbies as well, which include video games, cooking, climbing, and movies.
I like to use Figma for designs and mockups due to its flexibility, cross-platform nature, and ease of sharing. I use Illustrator when I need to make vectors though. For prototypes, I prefer to use HTML/CSS/JS due to development speed, accuracy, and its ability to replicate real results.