0% found this document useful (0 votes)
11 views6 pages

Inspirations Update

The document outlines the factors affecting user 'Inspiration' for meal suggestions, categorized into 'Always On' and 'Conditional' filters. It details various filters including dietary restrictions, cuisine preferences, location, ingredients, and occasions to personalize meal recommendations. The process involves logging user interactions and preferences to generate tailored recipe inspirations at different times of the day, ensuring a diverse and relevant selection for each user.

Uploaded by

SoumyNayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views6 pages

Inspirations Update

The document outlines the factors affecting user 'Inspiration' for meal suggestions, categorized into 'Always On' and 'Conditional' filters. It details various filters including dietary restrictions, cuisine preferences, location, ingredients, and occasions to personalize meal recommendations. The process involves logging user interactions and preferences to generate tailored recipe inspirations at different times of the day, ensuring a diverse and relevant selection for each user.

Uploaded by

SoumyNayak
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Factors Affecting “Inspiration”:

Categories of filter
1. Always On
2. Conditional

1. Always On Filters
• User’s Dietary Restrictions (Veg, Vegan, Keto, etc.)
• Users Allergies or Intolerances (Gluten, Dairy, Nuts, etc.)
• Last 30 day’s inspirations
• Current device’s Time
We take Meal type from here:
- Early Morning (06:00 to 09:59) - Breakfast, Snacks, Indian Snacks for
Entertaining, Appetizer, Side Dish, Starters, Beverage, Salad, Sandwich,
Condiment
- Morning (10:00 to 14:59) - Lunch, Brunch, Main course, Sabzis,
Smoothies, Dal, Kebab, Paratha, Roti, Tiffin, Rice
- Evening (15:00 to 17:59) - Snacks, Indian Snacks for
Entertaining, Appetizer, Side Dish, Starters, Salad, Dessert, Beverage, Soup,
Starter, Cocktail, Mocktail, Mithai, Pasta.
- Night (18:00 to 23:59) - Starter, Dinner, Main Course, Sabzis,
Bread, Salad, Side, Dal, Paratha, Roti, Rice
-Late Night (00:00 to 05:59) - Snack, Appetizer, Starter, Side, Mithai,
Beverage, Drink, Dessert.

(Note: There are categories such as Dinner/Lunch, Evening Tea Snack, we should show
these where they ‘contain’ specified categories not exact match.)

2. Conditional Filters
o Cuisine Preference based.
Based on user’s set values in App’s settings we will get Favourite cuisines. We
also log data of recipes liked, viewed, reviewed, or commented and get their
cuisines (top 3 are taken from it).

o Location Based
Get user’s location data (get coordinates, get city, check city in Trending Recipes
DB if available show popular dishes) For this to work we need to log search
history from different location as (searched dish’s best match and location city
by resolving coordinates. Merge same city’s dishes populate the database which
has cities in 1 column and dish1(count), dish2(count) etc. in further columns)

o Ingredients based.
If a user uses “Ingredient based Search” in last 24 hours in our app we log the
ingredients searched. We also log search data AND view data of recipes, and we
find if those recipes contain any “Top Ingredient DB”. If found, take those
ingredients.

o Choice based.
For each user we make a list of his fav dishes, for paid users’ moderator can also
edit/view this list.
From this “User’s Choice” randomly select 4 dishes from top 300 scorer (not
shown in last 30 days) and record ‘date shown’ when they are chosen.

o Speciality Based.
For most dishes, we have speciality/tags data. For Each user’s all liked recipes
we record these specialities, Take most repeated speciality.

o Occasion Based.
“Occasion DB” There is a pre-filled DB of (Occasion | Province/States | Date) it
contains
Occasion Date Province/State Search Moderator
(all) Based Based
New Year 1 January All 198 countries 353453, 26345,
9845… 3454…
Diwali 17 October India 43534, 324234,
32445… 435…
…. … …

For the dates present in this “Occasion DB” we record top 50 searches for each
date/occasion based on search data worldwide (i.e. all users). Then -/+ 2 days of this
specified date we show these most searched recipes in inspiration. This DB is only
active when moderator/admin enables it (to record).
User’s Choice DB.
12 columns x 5000 rows Having logs data for a user, precalculated scores.

For e.g. user likes Biryani (Recipe ID 0341), then next day he searches coffee (23424),
next he cooks Biryani 2(3669), next he views from inspiration Naan (111), then likes
naan (111)
Recipe Search View Likes Share Save Comment Start Video Inspiration Date Score
ID Cooking Call Shown Updated
Date
0341 1 17/8/24 15
23424 1 16/8/24 1
3669 1 16/8/24 50
111 1 1 15/8/22 15/8/24 16

A user can like, comment, Save only once. Date updates when any column updates. To
store 1000 recent recipes, use ‘date updated’ and remove old recipes. When there
become more than 1000. List of scores allocated for each activity.
Activity Score
Search (Best Match) 1
View 2
Like 15
Share 10
Save/Bookmark 30
Comment/Review 40
Start Cooking 30
Video Call 40

When a user searches for a dish, views dish, likes a dish, comments on a dish, Cooks a
dish. We add that Recipe to the list and increase count if already present. Scores keeps
on increasing, when top 300 recipes have scores more than 500, we deduct 250 from all
5000.-ve scored recipes are deleted

Max number of recipes stored = 5000 recipes.


Trending DB.
100 columns x Unlimited rows Having city wise list of Recipe ID & search volumes of
recipes up to 300 recipes. This DB is only active when moderator/admin enables it (to
record).
City GPS ID_1 C_1 ID_2 C_2 ID_3 C_3 …..
Coordinates
Patna, 24.343, 23234 75 89322 62 26432 23
India 36.242
London, 45.343, 89349 84 12474 80 43353 59
UK 83.242
Karachi, 27.343, 68486 12 34672 10 45678 7
Pakistan 32.242
Shenzhen, 36.343, 75622 95 723465 92 34682 88
China 45.442
…………
…………..
▪ There are 10x5 sets inspiration shown to a user each day. (Early Morning,
Morning, Evening, night, Late Night). They are not repeated until next 30 days.
▪ When a user open app first time - 6 sets of inspirations are generated 1 for NOW
and 5 for next time the app is opened.
▪ Store this data offline in user’s device cache memory.
▪ As shown above, at any specified time only 10 inspirations are shown, and they
are generated in advance based on the following rules –

A. First, take 4 non-repeated recipes randomly after applying time-based filter from
top 500 (score based) recipes using “User’s Choice DB”. (count the number of
recipes returned, 4 or less)
B. If it does not return 4 recipes try getting it from location based “Trending DB”
after applying “Always on, Time based” filters.
C. If it doesn’t return 4 then Run a CONTITIONAL query in entire database. Apply
‘always on, time based’ filters and get the remaining numbers. Now we will have
4 recipes.
D. For next 4 recipes take user’s cuisine preferences (Preset > Calculated >
Location)
• Preset = User has given details in app setting section in their preferences
• Calculated = Based on their User’s Choice DB check top scored recipe and take
its cuisine then 2nd top and until we get 3 different cuisines (Fill preset & update
User’s preset every 30 days)
• Location = If user has no data, take their location data, and pick top recipes
from Trending DB and get 3 cuisines
• Still not found – don’t apply cuisine filter continue with remaining
E. For these 4 recipes apply Always on filters, Time (Meal type) filters, Cuisine
Filters and take first 4 (non-repeated) recipes.
F. For last 2 recipes, if a user has searched any “Ingredient” & if they are in “top
ingredients” list. Then take randomly 1 ingredient. Apply always on filter,
ingredient filter, time based(meal type) filter, and take first 2 (non-repeated)
recipes.
G. If the user have not searched for “Ingredient” then use, User’s Choice DB to find
most repeated speciality form top 50 recipes, if we don’t get any speciality yet
use Trending DB’s top 50 recipe’s most repeated speciality. If we still don’t get it
skip ingredient or speciality filter. Otherwise apply always on,
ingredient/speciality filter, time filter and get 2 recipes.
H. In case if today’s date = Occasion date +/- 2 days, then add 3 more inspirations
for each time slot. (13x5) and these 3 inspirations will be based on user’s
location & Occasion DB’s top time based filtered

This way we now have 10 (4+4+2) inspirations generated based on all the data we
collect and user’s preferences.

You might also like