During my time at IIT Roorkee, long before Web3 became a saturated buzzword, my team built LifeBlocks — a trustless certificate verification system leveraging the Ethereum blockchain.

🔗 Links:

The Problem

Verifying academic degrees, bootcamp certificates, and employment history is a slow, manual process. Employers must contact issuing institutions, who then manually verify their records. Digital PDFs are easily forged.

We wanted to create a system where a certificate is issued once and can be mathematically verified instantly by anyone, without trusting a central database.

Architecture

I worked as the full-stack developer on the project, spanning both the decentralized backend and the user-facing web app.

The Smart Contract (Solidity)

We wrote Ethereum smart contracts in Solidity to serve as the immutable ledger.

  • Institutions register on the platform and are granted issuing rights.
  • When a certificate is issued, a cryptographic hash of the certificate data is stored on the Ethereum blockchain, tied to the issuer’s address and the recipient.
  • The actual private data remains off-chain, while the verifiable proof lives on-chain.

The Frontend (React)

A blockchain backend is useless without an accessible interface. I built the frontend using ReactJS and Web3.js:

  • Integrated MetaMask for user authentication and transaction signing.
  • Built dashboards for institutions to issue certificates in bulk.
  • Created a simple verification public portal: an employer drops a certificate file or inputs an ID, the app hashes the data, checks it against the smart contract, and instantly returns a “Verified” or “Invalid” status.

Tech Stack

Ethereum · Solidity · ReactJS · JavaScript · Web3.js


This project was my deep-dive into distributed systems and the concept of trustless architecture.