giulia mummolo

The Clothing Loop app development

How I built and managed a fully customized digital solution for the global expansion of a clothing swap initiative.

Project Overview

The Clothing Loop is a clothing swap system that lets you share pre-loved clothes by connecting people in local communities that share a bag of clothes.
The Clothing Loop won the What Design Can Do competition set up by Impact Hub.
The initiative started in The Netherlands in early 2020 as a local alternative for clothing swap events during the lockdown.

The initiative tackles the growing problem of overconsumption. It aims to change consumers habits and reduce waste, providing a fun and sustainable alternative to fast fashion. Currently, there are 300 actively circulating bags and over 12,000 users.

Role

UI Designer, Front-End Developer & Team Coordinator

Tech Stack
Period

April 2021 - June 2022

Launched

March 2022

Role

I joined the project in April 2020 as a volunteer Front-end developer because I highly valued the initiative's goal and wanted to improve my my coding skills within a professional environment. Initially, we were a team of 4 contributors. During that time, I mainly contributed with some UI implementations.
In July 2020, as the project started to grow, I was hired as technical consultant. Under this role, my contribution extended to design and project management (read more about this here).

As a technical consultant, I am responsible for implementing features, making design decisions, as well as team management and building. During the first development phase, I put together a team of 5 volunteer web developers whom I scouted via socialcoder.co.uk.

Requirements

The web app was developed to easily automate the process of user onboarding (which was previously done manually using a Google Form) and securely store and manage user data via a fully customized back office.
From the above requirements, the main functionalities designed include:

  • Automated user signup flow
  • Interactive data visualization through a map view
  • Data management through a corresponding back office

Development

For the first iteration of the web application, despite having designed the full application (see more about the design process here and the full design here), the core components I developed are:

  • Front-end part of the signup form used for two flow: 1. for users to join an existing entry (aka bag of clothes) and 2. to start a new one. It includes components from the Material UI library, Mapbox geolocation search. The form also has validation which has been built using Formik and Yup libraries. The Front-end communicates with Firebase via an end-point which has been built using using custom-made Firebase functions.
  • On of core functionalities of the web app, and the first users interact with, is the map visualization that lets the user find a bag of clothes circulating around their preferred location. The bags are displayed via an interactive Mapbox map UI, and users can search for a specific location, filter entries by categories, and sizes.
  • The landing page was designed by a professional designer as a volunteer contribution to the project. My work on this component extended to the coding implementation, which includes a combination of CSS and JS animations. View landing page

Project management

To manage the project's work flow and accordingly coordinate the work load among the team members, I use a spreadsheet that breaks down overall features that need to be implemented and their status: planning/shaping for features that are still in the design phase and not yet agreed one or outlined; building for features that in the process of being coded; completed for features built and approved.

In order to maintain a constant work flow, I create Github issues for each feature that requires implementation. Then, team members self-assign issues based on their preference. I found this strategy works quite well for this project's circumstances; it keeps the work flowing, even when contributors work in different time zones or have different availabilities, and keeps them motivated to manage their work independently.

The majority of the communications across the team is asynchronous, as the contributors are based in several countries in Europe and Asia. However, we check in on a weekly basis via video call and discuss implementations on Slack.

Technologies

The decision-making process for the technology used to develop the web application was done by the initiator of the the project and a senior developer who was part of the team. The tech stack includes:

Frontend

It is built using React and Typescript. We are using several libraries including Mapbox - for the map visualization; Material UI - for UI components; i18Next - for internationalization; Helmet - to generate meta tags; Formik - for forms validation

Backend

It is built using Firebase - Firestore Databse, which is fully customized using Firebase Functions

Project links