UPvote is a mobile-based app that helps in reducing the time taken on the decision-making process of finding places to explore. It does so by suggesting ideas and letting the users vote for the ideas. It eliminates the need for searching your next hangout option and gives you suggestions on places that you otherwise would not have discovered.

Try the live prototype here!



In this project, I had to design a scavenger hunt app.  I knew that I wanted the app to be something useful, relatable and one that even I would use.  I thought it would be beneficial to have the app offer solutions to the problems that my close group of friends and relatives face when hanging out in Singapore.  Does the following scenario look familiar to you?

I encounter this all the time!  Imagine if it was in a group setting.  It adds a whole new meaning to being easy-going, right?  Another issue that I commonly face is having to manually match the schedules of my friends so that we can find a common date and time to meet.  We would sometimes have a place in mind but are unable to meet up due to other commitments.  These real-life problems gave me a rough idea of what I needed for the app.  Before I go through the design stages in the project, here are the details of the UPvote project:


To design an app that not only can suggest options but also help a close group of friends make decisions quickly in a fun way, for them to explore new places.

Target Audience:

A close group of friends in Singapore aged 21 to 35 years old as this is the age group that has to manage both work and social skills, with little time on their hands. 


January - September 2019




The Design Thinking Process

I used the design thinking process to kickstart the project.

Since this is an app about Scavenger hunting, I had to find out what is stopping Singaporeans from going out to explore and what are the problems that they face.  I also did a competitor analysis to see if there are any existing apps that offer the same feature and what I like or dislike about them.



The group of friends needs an app that not only can suggest options but also help them make the decision quickly in a fun way, for them to explore new places.


We will know this to be true when we see friends using our app to make their decisions on where to go and what to do.  This can be done by tracking the number of downloads of the app and also the matches made by the groups.  We can also track on how frequent a user uses the app.



There were no apps on the market that had a similar concept to UPvote.  The 2 apps that were the closest to a guide of Singapore were Triposo and Tourias.  After doing SWOT analysis on them, I still felt that both were lacking in different aspects and wanted to combine what each excelled at to my app.  Tourias is designed with empathy and even provides informative notes on the culture and regulations in Singapore.  Triposo is strong in their algorithm that peruses the web for information and is able to showcase the hidden gems in Singapore that locals might not even be aware of.


To create an app that runs in a game-like environment that can make the task of searching for a place to hang-out easier by giving idea suggestions and having players vote.


I used user surveys and interviews to find out the problems faced by the users and determine their needs and goals.  This allowed me to evaluate if the problem statement is valid and if the design that I had in mind was suitable.

Research Goal #1:

To find out if close groups of friends find it difficult to organize a meet-up session and if there is a difference in the difficulty based on frequency.

Research Goal #2:

To find out if suggestions made by an initiator will be rejected or if group dynamics are involved when it comes to deciding what to do.

Research Goal #3:

To find out the current process/avenues used by groups to organize a meet-up and what do the interviewees feel that can be improved.

User Surveys:

A total of 30 participants who fell in the target audience age range took part in the survey that aimed to understand how a close group of friends decide on what to do.

User Interviews:

5 participants within the target audience age range were interviewed to get an in-depth perspective on their thoughts about an app to help them and their close group of friends to decide on an activity in a fun way.


I created user personas and stories to analyze how the app's design could help the users. I analyzed the findings from the user surveys and interviews and created 2 user personas and stories as a result. This stage allowed me to think from the user's perspective.


Given the problem statement, user personas and stories, I closed down on the key features of the app that could meet the needs of the users.  From here, I started to create the user flows.  The steps that had to be taken by each user to meet an objective were mapped out.

User Flows:

Low and Mid-fidelity Wireframes:

Through my low and mid-fidelity wireframes, I discovered that by adding the date/time scheduling feature to the invitation would hinder the game-like aspect to the app.  Users might feel disheartened by the non-consensus in schedules without even going through the voting process.  This was an essential feature in making the app a one-stop-shop app for organizing hangouts.  I made the hard decision of leaving it out of the user flow and decided to focus on the gameplay of voting on idea cards first.  I also had to show the prototype from 3 user angles - an initiator, an invitee without the app, and an invitee who is an existing user.


A clickable prototype was first created to go through the first round of tests with users.  This was to pick up any design issues that were overlooked at the IDEATE stage.  Once the issues were rectified, high fidelity prototypes were created.

Clickable Prototype:

High-fidelity Prototype:


Usability tests were done with the clickable prototype to catch design flaws.  The flaws were rectified in the High-fidelity prototype.  Preference tests were carried out to determine the visual aspects of the High-fidelity prototype.  Further usability tests were carried out to clean up the design of the prototype.

Test Goal:

The goal of the usability test was to assess the usability and utility for new users interacting with the Upvote app for the first time. We wanted to observe and measure if users understood the project, its value, and how to complete basic initial functions such as signing up, sending invitations to friends and deciding on the next hangout destination to explore.


Moderated in-person tests were carried out with 6 test participants who were within the age group of 21 to 35 years old and based in Singapore.


The usability test results were organized using a rainbow spreadsheet.


The design issues spotted during the usability tests of the clickable prototype were ranked based on severity and rectified in the High-fidelity prototype.

Preference Testing:

Preference tests were carried out to compare different versions of the rectifications for the High-fidelity prototype. This was to determine if my solutions to the design flaws were effective.

High-fidelity Usability Testing:

Another round of usability testing was done to check on the overall app design after rectifications.  Feedback was given on the cosmetic aspects of the app which were polished after.  At this stage, I brought back the date/time scheduler on the winning card as I could still see it as a niche feature but decided that it would be for a future reiteration.


The High-fidelity prototype was polished up on a visual aspect.  Checks were done on the transitions of the live prototype to ensure that there were no issues and that it was able to showcase the 3 main features of the app - the easy onboarding, group play and individual play.


The onboarding requires just the name and mobile number of the user.  An SMS verification code would be sent to the user's mobile number.

Group Play:

Users can easily link up with their friends in an interactive way and just vote on idea suggestion cards without having to search.



Users can also use the app if they want to explore Singapore individually or are tasked by their friends to search for a venue.



I received positive feedback from my usability testers about how they could see the app become a reality.  I still think that it is incomplete without the date/time scheduler as I hope that the app can be a one-stop-shop for Singaporeans when it comes to hanging out and eliminating the nuances of having to search for venues and match the schedules of friends.  If possible, I'd like to do more research and think about a solution to the date/time scheduler in the future. 


Another feature that was not promoted was the machine learning done based on votes to generate similar options in the dietary requirement aspect.  Some usability testers had privacy concerns when they saw machine learning mentioned on the onboard splash page initially.  This was later removed.  I would like to have future user tests gather the effectiveness of the algorithmic logic in idea suggestions by not limiting the user to only choose a particular action(either upvote only or downvote only as in the live prototype) due to the complexity of the voting outcomes.

Things I've learned from this project:

  • Empathy is key to designing an app that can relate to a user's concerns and needs.

  • More research has to be done to find out about the actions and behaviors of the users.  The human mind is complex and something as trivial as a selection of an eatery might seem like a major life decision for some.

  • The culture and practices of the target audience have to be noted.  Something that is common in other countries might not be the same for Singapore.

  • Prioritization is necessary.  Rather than harp on my time/date feature's existence, my decision to bench it and focus on the voting feature proved fruitful.  I managed to see how the feature can still exist from another point of view - which is to co-ordinate the date and time after getting a winning idea rather than before it.