Nifty - Gift Recommender
👋 Introduction
 Gift giving is a common form of social interaction among people. Getting gifts for the people close to us is how we show appreciation to them for being in our lives. We also give gifts at times to people whom we’re not very familiar with, due to an occasion or as a form of a felicitation for an achievement. However, finding the right gift which would impress someone is often quite tricky. There is the issue of possible repetition in the gift, getting a gift that does not match the personality of the recipient, or it simply may be quite a hassle to search for this gift in a streamlined manner. So we set out to identify a solution that would recommend gifts and would enhance the overall experience of gifting someone. We started with the iterative design thinking approach from the Stanford d. School, which was to Empathize -> Define -> Ideate -> Prototype -> Test. This helped us come up with the solution Nifty, which is a gift recommendation application which takes the interests of the gift recipients and the gifter’s budget into consideration, and curates the ideal, top picks of gifts for the occasion and the person.
🙏 Needs Analysis
Performing a needs analysis for our project was vital as it helped us understand how our users think and feel. The first approach we took was to make a couple of fictitious users in the form of user personas so that we could better empathize with them:

Introducing Linda (29), an entrepreneur/businesswoman. Linda owns a small e-commerce business for dietary supplements. Her day is usually filled with meetings with clients, business partners, and a few of her employees. She lives alone in an apartment in Manhattan. Her business is doing well, but she still prefers to live frugally to improve its growth. She has ties with her family and friends but feels like those relationships are slowly dwindling away, owing to her extremely packed schedule. She keeps forgetting to buy a gift for her friends and family on special occasions like birthdays, anniversaries, promotions, etc. However, with her current schedule and duties to her business, she has very little time to even think about a suitable gift, much less search for one. She really wishes she could delegate this to someone. Someone who could take notes about the recipient's likes and dislikes, or some sort of symbolism from a special moment she and the recipient shared with each other and then suggest ideas for a gift, along with information from where she could purchase them. Of course, she also doesn't want to splurge on these gifts, at least for those whom she's not close to.

An introverted and confused bloke, Andrew, is a 25-year-old graduate student studying astronomy in Indiana, US. He does not have a lot of friends and is an introverted bookworm spending most of his evenings reading the latest books from his favorite authors. Andrew does not have a lot of ideas when it comes to gifting his loved ones and his best friend Liam's birthday is just around the corner. Andrew has already gifted Liam all kinds of things he can think of and does not know how to make Liam's 25th birthday gift a special one. He took advice from his older sister and he tried looking up options on the web but was not able to figure out if the options being presented to him would make sense. 

To further study our user needs, we approached Ketan, a 23-year-old UIUC grad student in Champaign, IL. Ketan helped us understand his mindset and approach when gifting. We performed two user interviews with him, both of which helped us gain valuable pointers that shaped the next steps of the project.

Notes captured from the user interview on the project domain and problem statement:
He only gives gifts on special occasions, typically birthdays, anniversaries, and achievements. This totals about six to seven gifts per year.
He finds giving gifts hard as he doesn't know what they like or need. Although he thinks he knows the preferences of people whom he knows well, especially close family and dear friends.
His priority is to find a gift that the recipient would really like.
He likes gifting things that are moderately acceptable for someone he doesn’t know well, to be on the safe side.
Budget is a primary factor, then their preferences, and it is secondary if the gift is useful to them. He would not choose to give something that could be harmful to them in any way, such as alcohol.
Gift arrival time is critical as he can gift the person on the occasion.
He uses social media to track people's birthdays. He does not feel the need to get a gift for everyone whose birthday notifications he gets. He also relies on his memory for his close family members and friends. At times, he learns about birthdays from other friends and family members and somehow manages to remember them.
He likes to plan for the gift according to the occasion. He doesn't think much about what the gift should be if it’s a birthday. If it is a wedding anniversary however, he tries to keep both partners in mind. He uses Google to search for "wedding anniversary gifts" because he doesn’t know much about what an appropriate gift would be. He then makes a judgment based on if they would like it and if it was within his budget.
He would prefer to use sites that show images of the gift and provide him with detailed descriptions.

Notes captured from the user interview when presented with project low-fidelity mockups:
Presented the login screen, he could understand and relate to the interface and logged in to the application.
Presented the home screen right after login and asked what he understood from it. He asked if the image had the label "Pick a Gift!" placed at the center of the screen a clickable button and he clicked it. Prior to that, verified if he understood what the recent picks list was about, and he did.
Saw the options for whom to get a gift - friends, family, or others. He picked 'friends'
Presented the next screen depicting categories of gifts and identified checkboxes for categories. Didn't understand the 'pick for me' option which was meant to pick random categories of gifts.
Presented the next screen which was a slider control to specify the budget for the gift. He found it easy to understand. He also understood that we could save this budget for future gift purchases for that giftee, like this option.
Presented the next screen of gift options.

Assorted feedback notes captured throughout the user interview:
Overall, he liked the idea of a solution that can recommend gifts that would help with the budget and suggestions for a particular giftee.
He would like an option to show multiple retailers and compare prices.
Rather than categories, he would also like suggestions of different variants of a gift within the same category.
Would like a gift wrap option and isn't too concerned about specific details about it.
He would like to add his own personalized message for the gift and would like suggestions for personalized messages if he isn't that close with the giftee.
He would like to be reminded early for the occasion so he can prepare for the gift and avoid delays.

🎨 Design and Rationale

The design for Nifty revolved around a straightforward requirement - which was to improve the overall experience of gift-giving. This involved attempting to understand from start to finish, the current procedure that people usually employ when attempting to give a gift to someone. Plotting out this journey of gift-giving helped us to understand the pain points that people would generally face in this process. This exercise revealed opportunities for a recommendation tool like Nifty to ease the process of gift-giving.  
Additionally, a plausible flow chart for the entire gift giving journey with a solution like Nifty was plotted as well.
We identified three key facets that can help the gift giver, namely understanding the relationship between them and the gift recipient, the budget that the gift giver has for this gift, and a reminder to get this gift if it is for an occasion. Thus, we began designing the prototype for Nifty over 3 phases - using paper prototypes, a low-fidelity mockup, and finally, a high-fidelity mockup. ​​​​​​​
       Paper prototype

The paper prototype consisted of a few “screens” describing the most valuable input a user could provide to get gift recommendations. It was made to look like the screen from a smartphone application, assuming that this would be the appropriate medium to use this product. In this iteration, we required the user to input the relationship they have with the gift recipient or giftee and requested them to provide the categories of gifts they were looking for, as well as the budget they had for the gift. Considering these parameters, top 3 recommendations of gifts were provided to the user.
 Low-Fidelity Prototype
The low-fidelity mockup consisted of a basic layout of how the Nifty application would look on a smartphone screen. Most of the features from the paper prototype were used to create this low fidelity mockup. However, an additional feature to choose a personality type based on the gift recipient’s favorite activities was added on the 2nd iteration of the low fidelity mockup.
This was done after concluding that people would best be able to identify and associate an activity or hobby with their gift recipient. This in turn provides an insight to the gift recipient’s personality so that Nifty would recommend a gift that would match up with their personality.

High-Fidelity Prototype

With all the key features for the gift recommender Nifty laid out, we finally moved onto the high-fidelity prototype.

This prototype was designed in Figma, using the recently released Material 3 Design System from Google. This was done to maintain consistency with User Experience standards. We went with the primary color of shades of red and a secondary color of shades of gold. This color scheme was chosen to invoke a sense of passion, friendliness, and companionship. It was also meant to symbolize a gift wrapping in red held together by a gold ribbon.

Through some feedback, we decided that users must be able to have the option to gift their recipient without having to login to the application.  Therefore, in this pathway, users can simply choose the interests of the person they want to get a gift for and a budget for the gift, and Nifty will provide recommendations based on the input criteria of ‘Top picks’ of gifts as well as ‘Other picks’ hosted by e-commerce platforms such as Amazon.  Clicking on the ‘Buy’ button from one of the picks will take the user to the respective online shopping website to complete the purchase for the gift.
Additionally, users who logged into their account on Nifty have the option to create a recipient profile in case they would like to gift those recipients again. Apart from choosing their interests, creating a recipient allows specifying the relationship between the gifter and receiver, which influences the nature of the recommendations. They can also specify occasions on which they would like to get a gift for said recipients, with Nifty automatically suggesting occasions based on the relationship they have with the recipient. An option is also provided to specify the budget for each occasion. Once the recipient has been created, the user has complete autonomy on updating details about their recipients, or even deleting them altogether. Having pre-prepared recipient data enables Nifty to provide recommendations a lot quicker and easier. A particular pick of a gift can also be tagged and saved to the recipient to purchase the same at a later time.
As displayed in the lock screen notification bar above, Nifty will also be able to notify users of an upcoming occasion for a saved recipient, acting as a timely reminder to find and purchase a gift for them. ​​​​​​​
🔮 Future work

There is a lot that can be done by keeping Nifty as a source of inspiration. As we were working on the base idea, we realized that we had plenty of ideas that either could be used in conjunction with our roadmap or could be used to create a new vision for the product altogether. Here are some ideas:

Import recipient details from social media:
When we try to add a recipient, it would be very helpful if we can directly import their details from a social media platform like Facebook. This would be extremely helpful and aid the user experience journey of creating a recipient profile, because Facebook has all the primary information that Nifty needs as well, which includes their birthday and interests based on their likes on Facebook.
Choose not interested option for the recommendations you didn’t like:
We also noted that there may be a need for users to disapprove of certain picks of gifts that Nifty may recommend, because it may not be what they want to buy for them. So rather than simply restarting the recommendation process, we must indicate that some picks were not the nature of gifts that the user intended to buy for the recipient, so that the recommendation engine will avoid picking those types of gifts for the recipient in the next iteration.
Option to  pool and gift others - social feature:
We noticed that there are many circumstances where people pool their resources to get an expensive gift for someone. Consequently, we think it would be prudent to mirror this feature on Nifty as well, where a group of users can pool together for an increased budget, and also aim to search for gift recommendations together. This used in conjunction with the ‘not interested’ or ‘save for later’ option for picks will allow users to discuss amongst themselves as to what would be the ideal gift for this recipient. This collaborative exercise of searching for a gift would likely garner more interest on the platform.
Gift Recommender
Published:

Gift Recommender

Published:

Tools

Creative Fields