Edesia| An exercise in problem-solving

Designing a Management System for a Student-Run Campus Cafe

Manya Singh
8 min readSep 27, 2020

Overview

Culinary Club is an on-campus student-run cafe at IIT Roorkee. They have a core team of about 20 members and serve dishes to the campus every Sunday.

Every aspect of the club, from cooking to managing the pantry and organising campus-wide culinary events is managed by the members of the club.
Being only one-year-old, the group had no system in place to manage its various functionalities. This provided me with a perfect playground to get my hands dirty and practice at solving some good ol’ problems. I collaborated with a Product Manager and two developers to work on this project.

User Research

Heart to heart with the Secretary of Culinary Club

I started my process by getting acquainted with the procedure of running the Club. To do so, I interviewed Saumya Gupta (Secretary, Culinary Club) to get a thorough understanding of how the club functions. I also had the opportunity to be able to observe their process during a campus event and was hence made privy to various obstacles they face on a regular basis.

A brief timeline of a typical week for the Club helps in a better understanding of their process and hence, their pain points.

Assumption: User base is technologically adept.

The four major problems that we decided to tackle were:

  1. Event management
  2. Inventory management
  3. Managing a recipe repository
  4. Accounting and handling cash flows

Working towards the solution

I now had my problems listed and was ready to do some solving.

Initial Approach

I started by approaching every problem mentioned above individually, isolated from the rest of the problems. I soon realised that it would not be possible for a variety of reasons:

  1. Since the group and the scope of its functioning was limited, all the problems were highly interlinked and prone to change based on the event or the dish they were making a given week.
  2. Problems which had existing solutions like those of inventory management and team management could not be applied here because of the small scale at which the club operates. Ironically, this made my job tougher instead of simplifying things.
    Take the case of inventory management, my initial approach was to add items to a list whenever they were purchased to keep a record of items in the pantry. This solution was not feasible as most of the purchases were need-based and small. Apart from a selected few articles, most of the articles were consumed within the day. If there were perishable leftovers, they were to be consumed during the next event and therefore must be highlighted.
  3. Culinary club is not profit-driven and its expenses are handled by the group members themselves. Since the transaction of money (expenses while buying or revenue by selling dishes on Sundays) happens only during specific events, it is also inextricably linked with events and the rest of the problems identified.

Back to the thinking board

By this point, it was clear to me that I had to think out of the box to combine all of these points to come up with a straightforward and uncomplicated user flow.

I now approached the problem at a more specific level, thinking about ways that I could combine all the tasks and work out a solution specific to the needs of the culinary club.

To do so, I zoomed out a bit, not looking at individual problems but the whole picture of the working of Culinary Club. I noticed that “An Event” is the underlying thread that joins every task that a member of the club does. Buying ingredients and expenditure incurred leads up to an event, the inventory is updated and the attendance of the members are counted during the event and revenue is generated and money is redistributed after these events.

In the context of the Culinary Club, an event could be:

  1. Serving Dishes to the campus on Sundays (or any predetermined weekday).
  2. Mock runs prior to serving the campus.
  3. Campus-wide cooking events with hundreds of participants.
  4. An internal cooking event or group activity.

This provided me with a starting point to work out my solutions which are explained in detail below.

Proposed Solution: Create an event!

In essence, the idea is to link everything with an event. This provides a single pathway to all the tasks that our users had to perform. It also streamlined the process of entering data into the application as the flow on the application would mirror the actual flow of tasks that the user does in the physical world.

The details of how I incorporated this into the application are given below:

Scheduling events, Managing Members, and Task Delegation

Status Quo: Events are announced on a Whatsapp group. The secretary delegates tasks based on who is still left to contribute. She tracks attendance based on memory.

Problems with this:

  1. Events are not added to a calendar and there is no system of setting up a reminder.
  2. No reliable way to track the records of the members. Members don’t have the means to track their attendance if they are not maintaining their own records.
  3. Task delegation can become cumbersome in larger groups.

Solution

How does this solve our problems?

  1. Admins can create events on calendar which will be linked to the Gsuite ids of all the members, thus creating an event on their personal calendars as well. This serves to remind them as well.
  2. This provides a single point of entry for all data related to a single event and uses this data in the inventory section and accounts section.

Inventory Management

Status Quo: There was no method to manage inventory. The members would just eyeball ingredients before going shopping.

Problems with this

  1. It is manually ensured by senior members that inventory isn’t being wasted which is not effective.
  2. Because of just eyeballing ingredients once, the tendency to buy more or less than what was required increases.

Solution
Based on the interview with Saumya, the inventory of Culinary Club can be categorised into three parts- Must Consume, Essentials and Utensils.

Initially, essential ingredients are hardcoded into the database after talking to Saumya. All the ingredients entered via events would be added to Must Consume initially. Saumya (or an admin) can add an ingredient from must consume to essentials and vice versa at any given time.

Accounting and handling cash flow

Status quo: Before every event, designated members get the ingredients necessary, with their own money. The price of the dish is determined by (the cost of ingredients/ number of dishes prepared) rounded off to the nearest whole number.

After the event, the money is distributed back to those who paid for the ingredients.

Problems with this:

  1. Profit is not accounted for.
  2. No means to track losses and the burden of paying generally falls on one person (the secretary).
  3. No means to track the performance of the club.
  4. Splitting the money is done manually and is not effective.

Solution

How does this solve our problems?

  1. Keeps track of profit gained in different time periods. (for example last month, last semester).
  2. Helps the user analyse and keep track of various parameters that help them make more informed decisions.
  3. Total profit or loss is logged and hence will be taken into consideration while deciding the price of dishes.
  4. Since splitting is done digitally and all previous records will be known, no single member will be in loss every time.

Blogs & Recipe repository

Status quo: Members of the group have a blog series of the dishes that they make. These blogs are shared during times of inactivity(vacations). Currently, these are written manually and sporadically, when Saumya asks members to write them. Seeing the current blog series, most blogs follow a similar format, but no set template exists.

Problems with this:

  1. In absence of a template, most of the articles have to be heavily edited by the secretary before publishing.
  2. There is no common repository for recipes which are not published.

Solution

Team Management and Profile Section

There are two categories of users using this application

  1. Admins( Secretaries and Joint Secretaries): Things exclusive to the admin include — Access to view individual members profiles, ability to send member invites and notifications for all actions.
  2. Members

Usability Testing

Once I had figured out my solutions, I made high fidelity wireframes on Figma and prototyped these wireframes to conduct user testing (to do rapid iterations). I approached Saumya to test out my wireframes. I let her navigate through the wireframes herself to figure out if the application was intuitive enough.

She was able to navigate the whole application by herself but faced initial hiccup while making the connection between ingredients added inside events and the ingredients in the inventory. She was able to follow this flow after I nudged her once. After this initial hiccup, she found the flow of the application to be easy to follow and intuitive.

Since this application will be used only by this group, or similar student-run cafes and the user base is technologically adept, the initial hiccup that Saumya faced can be easily eliminated by implementing user onboarding onto the application.

Adding Onboarding

Based on the usability test, I added an onboarding mechanism in the form of a Product tour to the application.

A few more words

While interviewing Saumya, we came across another major problem faced by the Culinary Club- marketing and estimating the number of people who would turn up when they sell dishes on Sundays. We considered a couple of strategies but none of them were foolproof enough to justify the effort that would have gone into implementing them.

Conclusion

This was a challenging yet fun project for me. It turned out to be a great opportunity for me to practice my problem-solving skills and learn to approach a given problem in multiple ways.

A detailed user flow can be found here.
The complete web screens can be found here.
I also made mockups for mobile screens which can be found here.

Thanks for the claps if you liked my work. That would encourage me to keep on working harder and write more. If you found my work interesting and would like to strike up a fun conversation, mail me at manyas0209@gmail.com

--

--

Manya Singh

Product designer | Undergraduate Student at IIT Roorkee