Project Description

HelloFresh is a meal kit delivery service that offers a weekly selection of meals that are delivered with all of the ingredients and recipes. This project seeks to analyze the existing service by highlighting needs for improvement in secure delivery and determining measures taken to ensure freshness of ingredients. 

The inclusion of delivery confirmation checks where users are given the option to report / deny receipt of package and a review/rating system are possible solutions.


Project Goals & Objectives

  • Develop a robust delivery system process

  • Highlight any customer pain points that are not being met


Customer Segments

Since HelloFresh is geared towards personal selection and preparation, small businesses and corporations may not find much utility in the service. Target customer segments would generally include individuals and families. We can then break these two segments down further, between professional chefs and amateurs. Although professional chefs may be less inclined to use the service long term, they may serve as a key demographic in terms of product quality and feedback. 

Amateurs and/or those interested in monitoring the meal preparation process would be another key segment. Understanding the needs and pain points of this group is extremely critical, as they are potential long term customers. Families with the same goals of monitoring the meal preparation process also fall into this category. 


Personas

Top chef persona
Public Relations persona

Customer Scenarios

Colt Saturn

Health-conscious and passionate, Colt is a retired chef and popular youtuber with a channel dedicated to sharing original recipes. Recently, a subscriber suggested posting reviews of meal kit delivery services such as HelloFresh. With Colt's stamp of approval, perhaps more people would be compelled to try the service. Although Colt initially viewed these types of services as "manufactured and mediocre", he decided to do a bit more research. 

Two weeks after using the service, Colt was impressed with the quality and variety of ingredients. Taking time away from his regularly scheduled original recipe program, Colt gave glowing reviews to the service, highlighting the company's commitment to prevent unnecessary food waste. He further emphasized the possibilities that HelloFresh could inspire more people to choose cooked meals over fast food. Ultimately, Colt began to see HelloFresh as a net positive in building a larger community of chefs.

Natalie Taverna

For the past decade, Natalie has strived to strike a better balance between work and home life. Her career as an executive in Public Relations often dominates the day, leaving only a couple of hours in the evening to spend with her husband and two children. The last thing both she and her husband want to do during this precious time is waste time thinking, looking, and finding what to eat. It would be nice to spend that time in deep discussion with their children about current interests and happenings. There may also be times where both parents work overtime. Hiring a chef is an option considered, however, it can become extremely pricey over time. Having some reassurance that their children never miss a meal while staying within the budget can be quite the challenge.

Upon discovering HelloFresh, Natalie is able to choose an entire week's meals at once, freeing up time in the evening. Before each order, Natalie is presented with a suggestion of healthy menu choices that provide enough variety to keep the entire family excited for something different. She is also given the opportunity to make changes if one or more of the meals are less appealing (though she generally accepts the suggested menu). What's more is that her oldest son has become interested in cooking!


Use Case Diagram

HelloFresh Use Case Diagram

Requirements

Functional Requirements

1. Website Appearance

1.1. The website must have a green "View our plans" button on the visitor homepage.
1.2. The website must have a white "Log in" button with green text and a green border on the visitor homepage.
1.3. The website must always display the HelloFresh logo at the top left of the page.

2. Meal Suggestions / Preferences

2.1. The system must display at least three different meals (suggestions) in a Weekly Menu.
2.2. The website must display images of every meal.
2.3. The system must offer alternative meals alongside meal suggestions.
2.4. The system must offer alternative ingredients to meat with every meal-based meal.
2.5. The website should display images of alternative ingredients.
2.6. The system must allow the user to replace a meal within of an order.
2.7. The system must offer the user the option to skip a week(s) of ordering.

3. Order Details

3.1. The system must allow the user to view past deliveries.
3.2. The website must display a confirmation page for each order.

4. Recycling Standards

4.1. The packager must use a recyclable box to hold each meal.
4.2. The system must confirm whether each meal is placed is a recyclable box within the Packager UI.

5. Delivery Agent UI Details

5.1. The system must display the location details for both pickup and delivery within the Delivery Agent UI.
5.2. The system must display estimated travel time between pickup and delivery within the Delivery Agent UI.
5.3. The system should have an image uploader within the Delivery Agent UI.
5.4. The system should prompt the delivery agent to take a photo of the package at destination.

6. Community 

6.1. The website would have a forum for subscribers.
6.2. The website would have a subscribers-only review page for each meal.

NonFunctional Requirements

1. System Updates

1.1. The system could send a reminder notification 24 hours before a Weekly Menu update.
1.2. The site admin must update the Weekly Menu every Sunday at midnight.
1.3. The blog must be updated with at least one new entry every two weeks.

2. Packaging and Delivery

2.1. The partner's full company name should be documented within one hour of receiving ingredients.
2.2. The packager's full name should be documented within one hour of package pickup.
2.3. The system must send an order confirmation email no more than 2 hours after an order was placed.
2.4. The delivery agent must deliver the package within 4 hours of package pickup.
2.5. The system would prompt the subscriber to acknowledge receipt of delivery within 10 minutes of delivery.

3. User Inactivity

3.1. The system should send a notification to subscriber after 20 minutes of inactivity when logged in.
3.2. The system could automatically log the subscriber out after 30 minutes of inactivity when logged in.


Domain Diagram

The diagram provides a high-level view of the major components within the system

  • Website is a key component, as it contains all parts of the system whether directly through aggregation or contained within child elements

  • The existence of Meal Choice and Meal Change are special cases that reflect the actions of subscribers on Meal

  • Inventory keeps track of the number of Ingredients, the source/origin of each Ingredient (Partner), and the last person associated with it before it is marked as sold (Packager)


Glossary

account
subscriber's current & future orders, history, and billing data

bill
invoice given by HelloFresh to the subscriber

blog
HelloFresh's online journal used for updates and marketing

box
container that includes a subscriber's meals

**community
group of subscribers and/or online social platform for subscribers

content admin
blog manager and site editor (reviewing recipes & site copy)

delivery
meal kit transfer from in-house to a subscriber's location

delivery agent
individual performing a delivery

gift card
pouch holding store credit

history
list of deliveries and menu items from previous weeks

ingredient
meat or vegetable to be included in a meal

inventory
holds ingredient along with the associated partner (source) and packager (charge)

weekly menu
complete list of meals in a given set

meal
group of ingredients to be cooked by the subscriber

meal change
meal that has replaced a previous choice

meal choice
meal requested by a subscriber

order
subscriber requested meals (delivered / to be delivered)

packager
individual arranging and packaging ingredients for a meal

partner
farmer or other entity providing raw ingredients

recipe
(paper/online) document including cooking directions

recipe writer
individual who writes recipes

recyclable
composed of material that can be recycled

*review
subscriber feedback for a specific meal

site admin
individual overseeing site maintenance and changes

store credit
representative money offered by HelloFresh

subscriber
individual who orders meals from HelloFresh

suggestion
current week's meals to be potential meal choices

website
platform to display menus, history, orders, and billing data

week
timeframe dictating specific meals

*  currently not an existing feature in the system
** currently community exists only as a group of subscribers


Activity Diagram

HelloFresh Activity Diagram

The delivery process involves activities among four different actors

  • Subscriber can edit the order as many times as desired until the order is confirmed; the diagram emphasizes the impact Subscriber has on the process. The initial activity of selecting the week however, creates a necessary time constraint

  • *Acknowledge Receipt is an activity that is not part of the current system. This view highlights the importance of a useful feedback metric that does not inhibit the overall delivery process


Layered Diagram

HelloFresh Layered Diagram
HelloFresh Microservices

The layered diagram (top) gives a general overview of the various entities that interact with Website. Security and modularity is the focus since users are restricted to the highest level interface (Presentation Layer).

  • While UI interactions remain the focus of this diagram, note that the Services Layer includes API interfaces that communicate with third-party software. User authentication is done at this level, carrying the data down to the business layer for authorization.

  • The Data Layer contains sensitive data and file systems; any modifications for this layer must be configured indirectly through the Business Layer.

  • The microservices diagram (bottom) supports the layered diagram by detailing the many correlating UI's depending on the type of user.


Physical Diagram

HelloFresh Physical Diagram

The diagram above is a high level representation of the hardware and external systems in which the HelloFresh webapp is deployed

  • A key interaction is between the application server and the databases; the latter is displayed with some of the possible data fields stored

  • As a companion to the microservices diagram (Layered Diagram), this diagram also highlights the varying supported UI's that associate with their respective actors within the system


Data Flow Diagram

HelloFresh Data Flow Diagram

Note: card validation and verification process has been simplified in order to maintain a high-level view of the overall process.


Threat Analysis

Each threat based on the trust boundaries (numerically denoted in the data flow diagram above), is analyzed using the STRIDE method. This type of threat modeling seeks to elucidate any potential threats in the categories of:

  • Spoofing identity

  • Tampering with data

  • Repudiation

  • Information disclosure

  • Denial of service

  • Elevation of privilege


Following each STRIDE description, each threat will be rated using the DREAD classification. The key aspects in this prioritization process are:

Damage Potential

0 = negligible data exposure | 10 = confidential / admin-level data exposure

Reproducibility

0 = difficult to recreate | 10 = easy / convenient to recreate

Exploitability

0 = specialized skills/knowledge required | 10 = anyone can exploit

Affected Users

0 = very few users affected | 10 = all users affected

Discoverability

0 = difficult to find exploits | 10 = easily and known to be exploitable


Following each DREAD prioritization, each threat will be assigned an action:

Accept

Threat is not very impactful and any steps taken may be inefficient use of resources

Transfer

Purchasing an insurance policy would be a viable solution; "transfer" the threat to a third party

Mitigate

Use in-house resources to discover a way to reduce the likelihood or impact of the threat

Avoid

Threat is a high-level priority and must be prevented at any cost; the business will be directly impacted if steps are not taken

Trust Boundary 1
Trust Boundary 2
Trust Boundary 3
Trust Boundary 4
Trust Boundary 5
Trust Boundary 6