(I'm a french guy. I trusted deepl.com for the translation. For the video also ^^^ don't blame me :'| for my english )
Recover · Lost & Found service
A friend was building a connected bag and was looking for a solution to protect his bag from loss.
While trying to help him, it occurred to me to create this service that would incentive people to return lost items to their owners.
I checked some metrics about lost items and apparently in a global view, it matters:
- 600 à 700 items/day that's the number of items give back to the lost and found service in Paris. Imagine this figure on a global scale!
- More 15000 computers/week are lost in Europe and US airports!
- 1 Billion euros/year, this is the value of the lost items loses by children in France. It represents about a 1000-ton mountain!
I hope this service can reduce this mountain and decrease stress about the loss and also unnecessary consumption (bought new items to replace those that were lost).
What it does
It incentives people to give back their items with a reward and an escrow smart contract.
How I built it
I followed these steps:
1) Smart contract development
See the code source https://github.com/blockchain-mafia/recoverto-contracts/blob/master/contracts/Recover.sol This is a smart contract backed by a decentralized court (Kleros) to prevent a dispute between the finder and the owner. All critical data (like contact information) are encrypted and are only available for the finder. To improve the UX, I thought a system to claim the discoverer of the item without eth. The idea is to prefund a wallet with a small amount, just the gas to call a transaction, and put the private key in the QrCode.
2) Prototyping on figma
I designed the interface and the user flow on figma (software like Sketch).
3) Integration with React and Drizzle
For the UI, I used react with Drizzle (web3) to update "easily" the UI with the Ethereum state. And also use a lambda-function to store email/phone number to notify the owner when there is a claim.
(this service is centralized but the user can choose to create his bot to be notified to avoid to use this service)
Then I made lot of iterations: UX tests, fix bugs, add view functions in the smart contract and test, test, test.
Challenges I ran into
- Find a way for the finder not to have to pay the gas to claim the item. Without this, the UX should be very bad for the finder.
- Use cryptography function to encode the data.
- Post and get data from IPFS
- Lambda functions for the backend
Accomplishments that I'm proud of
It's working. And I think the code is very clean.
The application is completely decentralized, even if the frontend is down you have all information in the QrCode to claim the reward.
The incentives to give back the item (reward + escrow + backed by a decentralized court).
What I learned
I improved my solidity skills, cryptography knowledge and also for the first time create and use a lambda function.
What's next for Recover
Go to the mainnet ;) Looking for partnerships with public/private entities to implement this solution.
I am thinking in particular of airports where the objects found in this account in tonnes.
In parallel do communication and sell stickers with the printed QrCode to help in the development of this project.
It's a freemium business, anyone can print their own QR codes.
Create and sell a Loser Pack with some stickers, cards (wallet) and keyrings with the QrCode.
Ask airports, public entities or companies (like Apple :p) if they want to implement this service to improve the UX for their clients and reduce their climate impact.
About social impact
Climate action (GOAL 13)
13.2 Integrate climate change measures into national policies, strategies and planning
Anyone, any companies or any governments can use this service and print on each item a QrCode it can drastically reduce the number of lost objects in the world while improving the user experience.
Systemic Issues (GOAL 17)
17.16 Enhance the global partnership for sustainable development, complemented by multi-stakeholder partnerships that mobilize and share knowledge, expertise, technology and financial resources, to support the achievement of the sustainable development goals in all countries, in particular developing countries
17.17 Encourage and promote effective public, public-private and civil society partnerships, building on the experience and resourcing strategies of partnerships Data, monitoring and accountability
In using Ethereum this project is by default interoperable any entities, private or public, can use. And also because this project is completely decentralized both in terms of architecture (Ethereum + IPFS) and governance (no ownership in the smart contract), this project is trustless. This is one less barrier to its implementation.
(Thanks Miao to help me to implement metaTx even if I finally don't use this techno. I preferred use a pre-fund wallet to claim discovered item without pay for the gas).
I hope you have enjoyed this Đapp that is revolutionizing the field of Lost and Found for a more SAFE and SUSTAINABLE WORDL !!!