Elnak Recycle

Elnak Recycle Dashboard

Elnak Recycle is a textile waste management startup in Accra. During the 2023 edition of the UNICEF Startup Lab, they were among two startups I was hired by MEST as a technical expert to mentor. I volunteered as their designer, frontend developer, and devops engineer because they had just one backend engineer on their team.

In the first month, I led the team to design a comprehensive product workplan, and product broad strategy. In the next month, I designed various user flows for individual features and subsequently a high fidelity prototype using Adobe XD.

I love great design. I picked up some design skills while being a jack-of-all-trades at my startup, KPILens. I use Adobe XD to design high fidelity prototypes and user interfaces.

KPILens Workspace Manager

High fidelity prototype design of the Elnak Recycle app.

During the subsequent months I built the UI of the app using React and the RedwoodJS framework. I also collaborated with Elnak's backend engineer to integrate the REST APIs he built with Python and the Django framework. In-house testing and bug fixes were done in preparation for the final pitch day. I finally setup a CI/CD pipeline that built production releases of the apps as docker containers which were deployed on a Digital Ocean Ubuntu droplet.

Type

Startup MVP

Stack
  • RedwoodJS
  • React.js
  • TypeScript
  • Tailwind CSS
  • Apollo Client
  • Storybook
  • GraphQL
  • PostgreSQL
  • Jest
  • Django
  • Digital Ocean
The Problem

There is a lack of green amenities for dealing with unwanted clothes causing poor living conditions in rural communities, greenhouse gases generated by textile waste left in landfills, global warming, etc.

Solution and Features

A web app that provides middle to upper income households with the right way to deal with their textile and fabric waste through decluttering and reorganising spaces, textile recycling, and textile upcycling.

The Statistics Dashboard

The statistics dashboard shows a general overview of a user's contribution to the green economy by indicating the total number of clothes recycled, its corresponding energy and water saved as a result amongst others.

Elnak Recycle Statistics Dashboard
The Statistics Dashboard.
Clothing Upload

The clothing upload feature enables users to upload clothing they no longer wanted in order to request a recycle or upcycle from Elnak, or exchange(swap) the clothing with other users on the platform.

Elnak Recycle Clothing Upload
Clothing Upload.
Elnak Recycle List of User's Clothing
The user's uploaded clothing.
Virtual Consultation

Users can book a virtual consultation with Elnak where their recycling, decluttering and upcycling needs are better understood. Elnak will then follow up with a virtual meeting or an onsite visit when required.

Elnak Recycle Book Consultation
The virtual consultation form.
Elnak Recycle Booking Successful
Booking Successful.
Elnak Recycle Bookings
User's bookings.
Swap Store

This feature helps users to exchange clothing they no longer want with other users' clothing they are interested in. The swap store is a clothing store where exchanges are made. One user can add a clothing to the swap store. Another user who finds the clothing and likes it may send a swap request which would be accepted or rejected by the previous user. If the user accepts the request, Elnak facilitates the exchange.

Elnak Recycle Swap Clothing
The swap clothing feature.
Elnak Recycle Swap Store

Select a cloth you like from the swap store.

Elnak Recycle Confirm Swap Request
Confirm the swap request.
Elnak Recycle Clothing Details
View clothing details.
Elnak Recycle View Swap Requests
View swap requests.
Recycle Clothing

Users can send a recycle request to Elnak by selecting an uploaded clothing and clicking the recycle option. Elnak will then contact the user and arrange an appointment to collect the clothing for recycling.

Elnak Recycle Clothing
Recycle clothing.
Project Assumptions and Goals

My obligation for being hired as a technical expert consisted of providing mentorship to the startups I was assigned by sharing my business knowledge, experience and technical expertise to guide the startups in the growth of their business.

I did that and also lended my skills as a designer, frontend developer and devops engineer to Elnak during the mentorship period since they didn't have a web development team; having only one backend engineer. My goal was to understand the concept of their business and create a concise workplan towards the product delivery.

Stack Decisions
Language

Python was chosen because the backend developer on the team is a seasoned python developer who has built APIs with Django for years. Therefore it was a no brainer to have him write the APIs in Django.

JavaScript and TypeScript are my strongest suite hence an easy decision as well.

Libraries and Frameworks
RedwoodJS

RedwoodJS is a full-stack batteries-included React framework. I chose it because I went against my own advice which says: "don't learn a new framework to build an MVP with time constraints". My excuse is that I wanted to expand my React horizon from having worked with Next.js for years to trying something new.

My main reason for using RedwoodJS however is that, speed was the only tradeoff I decided to choose over everything else in this project because I was supposed to deliver a non-trivial product in just four months. RedwoodJS provided many integrations needed by a typical React application seamlessly. It has a rich CLI which is used to quickly scaffold code. These features in addition to its out of the box authentication system amongst others promised accelerated development speed which was needed most for this project.

Tailwind CSS

I was also trying Tailwind CSS for the first time. I benefited immensely from its developer productivity and speed.

Challenges and Thought Process

My biggest challenge was understanding the business concept because this was an unconventional startup trying to go to market with an unconventional product. The product also needed to be delivered within a very short period(4 months) and the team had only one software developer.

I decided to get my hands dirty and have some skin in the game, and not just hand out advice and instructions. We managed to deliver a working MVP on time for the final pitch.

Learning a new stack to build a project is difficult. However, I feel its becoming a skill I've gained having done it consistently on several projects. Regardless of this, I would not recommend doing so when there's a time constraint on delivering the product.

Lessons

I learned numerous lessons from this project as well. It was my first mentorship role after I launched my startup. It improved my leadership skills and sharpened my soft skills amongst others. It was overall a great experience working with these startups.