My Build With Celo Hackathon Journey: Week 1

Paul Oladimeji
4 min readOct 4, 2022

--

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.

GidiScrap Hero Area

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:

  1. 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.
  2. Outline features of the application MVP, as well as a future roadmap.
  3. Start designing the application mockup.
  4. Design the high-level architecture of the application.
  5. 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.

MVP Features

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.

GidiScrap dApp Architecture

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.

Add the PRIVATE_KEY environmental variable to this file

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.

--

--

Paul Oladimeji

Lone Ranger. Killer of two birds and wielder of one stone. Web3 Product Manager. co-founder PiggyFi.Africa, KlayOracle, RemoteSkills. Klaytn Ambassador