My Build With Celo Hackathon Journey: Week 1
I recently joined the Build With Celo Hackathon, a “virtual hackathon that invites values-aligned founders and builders worldwide to design and, ultimately, ship their best ideas on the Celo carbon-negative, open source, mobile-first blockchain.”
This year, the hackathon’s central theme is ReFi (regenerative finance), a growing subset of the Web3 industry that leverages Web3 tools to solve global systemic problems such as the climate crisis or deep poverty.
My entry for this hackathon, GidiScrap, is an open marketplace for procuring used & recycled plastics online.
On GidiScrap, companies that need recycled materials make an offer and stake cUSD on GidiScrap, while registered recyclers are notified of new requests, and can then gather plastics, deposit them in a collection center, and earn rewards from the cUSD staked by the buyer.
In the spirit of building in public, I’ll be sharing weekly progress updates on the development of GidiScrap. Hopefully, my wins and losses can serve as a guide for anyone attempting something similar in future.
Week 1 Goals
After my idea got shortlisted, my goal for the first week was to:
- Conduct some basic market research on some of the problems in the recycling value chain, specifically in Lagos, Nigeria. The main aim of this is to discover the needs of companies who collect recycled items either from landfills or government-assigned recycling centers.
- Outline features of the application MVP, as well as a future roadmap.
- Start designing the application mockup.
- Design the high-level architecture of the application.
- Bootstrap the application using Celo Composer.
Goal 1: Market Research
I conducted some user research by talking to a staff of the Lagos Waste Management Authority (LAWMA) about the existing bottlenecks in the recycling and waste management value chain in Lagos.
I learned quite a lot about plastic waste management in Lagos. Here are a few highlights:
- Most of the plastic waste which is collected is dumped in landfills, as there are not enough collection centers in Lagos.
- Rather than individuals, collectors and recycling companies are the ones who are highly incentivized to collect and deposit plastic waste. However, it is hard for them to find companies that want to purchase their scrap items.
- Companies would like to have a fully traceable and accurately labeled record of recycled materials, which most recyclers in Lagos cannot provide.
Web3’s characteristics of transparency, composability, and decentralization are well-suited for solving many of the above-listed problems, by enabling an open marketplace that satisfies both the demand and supply side needs, and providing a trace of every record on the blockchain.
Goal 2: Outline Application Features
With my initial market research, I was comfortable enough with my hypotheses to outline a list of features for the MVP, shown below.
A full-scale marketplace has more features than the above-listed ones, but I deliberately kept it simple for the hackathon.
A more comprehensive overview of the dapp can be found here.
Goal 3: Begin Mockup Design
Having defined the MVP’s features, I began mocking up the design of the GidiScrap app, from the landing page to the application’s inner pages.
- Check out the Figma prototype here (please note that this is work in progress).
Goal 3: Design Application Architecture
Identifying the goals, use cases and features of GidiScrap also helped in forming a high-level overview of the application stack, as well as identifying parts of the dapp that require on-chain and off-chain data.
Goal 4: Bootstrap application with Celo Composer
Celo Composer is a framework that enables Web2 developers quickly build, deploy, and iterate on decentralized applications using Celo. For hackathons and quick experiments, it’s a great fit. It is compatible with NextJS, which makes it suitable for this project.
While setting up the application using this guide, I came across the following error after running npx hardhat create-account.
With some help from some other hackathon participants, I was able to fix the error by adding my wallet’s private key to the .env file within the packages/hardhat folder, before then running the npx hardhat create-account
again.
I am still progressing with the application setup with Celo Composer and will provide more updates in Week 2.
Goals for Week 2
By the end of the 2nd week, I should have accomplished the following:
- Complete mockup of marketplace MVP
- Build and commit code for the following frontend pages — Sign Up, View Requests, and Make Payment (using NextJS and Tailwind)
- Build smart contract(s) for the following functionalities:
- Write a Week 2 #BuildInPublic update.
See you next week!
Paul O.