Appétit: There is no table for one

Social Networking platform for arranging lunch meetups

I never like eating alone! I prefer having a company during my meals, as I believe having a good conversation over a meal is a great way to network as well as release stress after a long day of classes. However, finding a buddy for meals is sometimes a challenge. Especially with timetables filled with classes, it becomes cumbersome to find someone to have a good meal with.

I realised this problem, when I was pursuing my undergraduate studies and decided to build an app that would help people find their friends during meals.

Appétit is a web-based app for connecting friends over meals. Some of the salient features of the app include:

The development of Appétit was done through Design Thinking methodology - from understanding user requirements through primary and secondary sources to multiple user testings done during the development cycle.

Please refer to the below deck for product details:



The Friendship Score Algorithm

According to Metcalfe’s Law of telecommunication network:

𝑉𝑎𝑙𝑢𝑒 𝑜𝑓 𝑎 𝑛𝑒𝑡𝑤𝑜𝑟𝑘 ∝ 𝑛2

where n is the number of connected users of the system

One of the key feature of Appétit is its ability to recommend friends to users. Users can see and join the events created by the friends of friends, thus enabling users to expand their circle of friends. The events to be displayed in the users’ mealsfeed are determined in a calculated manner to prevent information overload. As there are more connected users, the value of Appétit network increases, as per Metcalfe’s Law. This is aptly done through the Appétit Friendship Score Algorithm.

Friendship Score (FS):

Friendship score (FS) between two Appétit users is the number of meal events created by one user and joined by the other. In other words, every time user A creates an event and user B joins it or vice versa, the friendship score between the user A and B is updated by 1. The FS is indicative of the affinity between two users in the network.

Consider an Appétit network with the following configuration:









Some of the vertices are not connected in the above graph. The shortest distance between these vertices can be found using the Dijkstra’s Algorithm for shortest path. The FS Algorithm focusses on 2-degree connections i.e. just friends of friends. The shortest distance matrix for the above graph is as follows (X indicates there is a non-existent 2-degree connection):





Let Si, j denote the shortest path between two users – i and j. Then in order for i’s post to be shown in j’s mealsfeed,

Si, j≪ α,
where α is threshold that must be smaller than Si, j

For a specific user ‘i’, the maximum number of new possible connections Pi can be denoted by:

𝑃i = 𝑛 − deg(𝑉i) − 𝟏
where ‘n’ is the number of users in the system

For instance, for User A in the above system, there are PA = 7 – 3 – 1 = 3 new possible connections.


The algorithm can be represented by the following flowchart:



Top