CS 125: Next Generation Search Systems Project Description v.01092023
The project is a major component of this course. The basic goal of this project is for you to build a personalized contextual recommendation/search engine. You will study the role of its key components and implement a system that will provide people recommendations based on search of different data and information sources to solve an everyday problem. The key components for this system will be: Personal Model, Context when recommendation is made, potential options, and recommendation engine. Such a system is likely to be a system implemented on a mobile device (either Android or iOS) with a cloud component. You will also consider basic user interface issues (UI/UX) so your system is easy to use by your users.
We expect that you will have a simple prototype of a useful application as a result of the project in this course. And if you do an excellent project, you may even launch a useful application.
2. Goal of the Project
In this project, we propose students to build a Wellness Advisor that will guide people in personalized lifestyle decisions in a given situation. You will follow the framework discussed in this course, but you are free to improvise different components as you see fit. We expect that all projects in this class may follow the same general directions but will be very different as each group will make their selections and decisions in implementing their own approaches. If you want to build a similar app for a different field, and you feel strongly about that, you can either discuss with us in advance or submit the idea in the proposal. We may allow you to do that, but we will expect all components in the project to be like the project framework discussed here in an effort to preserve fairness in the class.
3. Requirements for your App
Your application will do the following:
1. Collect live relevant information about the person using tracking devices such as smartphones and wearables.
2. Collect information from all sources as required, and index it to make it searchable.
3. Build a Personal Model.
4. Determine context.
5. Provide right information at the right time/place to offer lifestyle guidance.
The last step is the explicit presentation of results to the user based on all sources of information.
4. Designing the Framework
Collect, for example, the following information about a person and build a Personicle (Personal Chronicle) for her/him:
• Activity levels
• Sleep levels
• Food intakes
• Daily life events
CS 125: Next Generation Search Systems Project Description v.01092023 Use this information to do two important things: build her/his personal model and determine their
The App will advise people about their lifestyle such as
• What next meal(s) should be?
• What exercise they should do?
• When should they go to sleep?
To advise people, we need a contextual personalized recommendation engine.
5. System Components
The following components/data will be expected in the implementation of a Wellness Advisor.
1. Collect the user’s information:
a. Profile: Name, Age, Height, Home Address, Work Address, two other favorite places, DoB,
b. Their goal in health: weight, energy level, disease, …
c. Food Preference: Veg etc, ethnic style, specific likes/dislikes, allergies, …
2. Ask people what they ate, how much and how did they like it. People can initiate this dialog, or the system may initiate this based on external factors.
a. Let’s make it more speech oriented but they can take picture if they want.
b. Let’s make it easy to get volume of food eaten (like half of apple, full cheeseburger, …).
c. Important to know like/dislike.
3. Get data about activities and sleep from Phones and other devices as applicable.
4. Organize all data in a Personal Chronicle (Personicle) by using the data collected above and also
identifying any other sources of information that you may need.
5. Define a Lifestyle Score (LS) by combining the three factors related to food, activity, and sleep.
Your interface may be designed keeping that in mind.
a. Display Lifestyle Score (using an Avatar).
b. Use LS to compare their progress. Display it on regular basis.
6. Build a list of ‘actions’ that you may suggest to the user related to activity, sleep, and food. These are potential ‘items’ in the recommendation engine.
7. Develop your own contextual personalized recommendation engine based on all above information.
8. Recommendations may be at the following times:
a. In morning and this will be based on their LS based on what they did earlier and on the
latest sleep. This will include guidance for activity and food for the day. Activity may include exercise or walk. Food may be general amount of calorie or general guidance. Maybe recommendation for breakfast.
b. At lunch time, recommendation for lunch.
c. At dinner time, recommendation for dinner and activity, and sleep time.
d. Sleep time: suggest sleep time, any specific routine, specific environment, specific act
9. Your recommendation may be some concrete ‘action’ or a list of actions. It is also possible for
you to offer General Advice – just some inspirational messages.
CS 125: Next Generation Search Systems Project Description v.01092023 6. Project Structure, Deliverables and Timeline
Students work on the project during the 10 weeks of this course. They start brainstorming ideas in week 1 and submitting a demonstration in week 10. The assessment of the project is broken down as follows:
a) Project Proposal
b) Progress Reports (x2)
c) Progress Presentation
d) Final Report
e) Final Presentation
f) Final Demo
The proposal and all reports will be based on templates provided with instructions on how to complete them. Students start with a proposal and work incrementally towards the following reports. Students will refine and add new material as indicated in each report. This allows students to complete the final report very efficiently without overwhelming work at the end of the course.
In a similar fashion, students will work on two presentations during the course: progress and final presentations.
The planned project timeline is presented below. Please make sure you check for updates regularly on canvas, as this timeline is subject to potential changes based on new course needs and, most likely, to favor students.
Students form groups of 3-4 members and start brainstorming project ideas based on information presented in lecture. Each group submits a project proposal. The course staff evaluate the fitness and feasibility of the proposal and provide teams with feedback asap.
Groups should have now a proposal approved. They start working on their proposed project, set environment and project management tools. Groups start the first sprint of the project, which culminates with the submission of the first progress report. The content of this first report will expand from the project proposal and will include updated approach and tasks/components completed. At this point, we expect groups will have completed initial tasks regarding personal and context data collection. Students will also include links to code repositories and other data sources relevant for the project proposed.
Students start the second sprint, which culminates in the second progress report and a presentation. The content of this second report expands on the first report and should include additional details about the personal model, context, actions to recommend and engine logic. This report will include links to repositories and a video presentation.
Students start the third and last sprint to finalize the project. Students present the Final report with all the details of the recommendation system implemented. The report will include links to repositories, and videos for Final presentation and Final demo.