Inspiration

As Web3 individuals, we are constantly copy-pasting our details to update portfolios, or sharing PDF resumes that recruiters can't verify. We wanted to build a tool that takes the friction out of showing off on-chain reputation and open-source contributions in one simple step.

What it does

ChainFolio builds a professional, shareable blockchain resume and portfolio in under 60 seconds.

By connecting a wallet or GitHub account, ChainFolio will:

  • Auto-fill user details from an uploaded PDF resume using the Gemini API.
  • Also auto-fill user details from wallet transactions still using the Gemini API.
  • Generate a visual on-chain activity heatmap of transaction frequency.
  • Fetch and display recent transactions and deployed smart contracts verified via Etherscan.
  • Show owned POAPs and verified Web3 achievements/badges (ETHGlobal, Gitcoin, Buildspace, ENS).
  • Sync public GitHub repositories to display primary languages and featured repositories.
  • Give users full privacy controls to toggle the visibility of sensitive wallet data.
  • Also give users manual editability and addition to build their portfolio if need be.

How I built it

I built the frontend with React, Vite, and Vanilla CSS to ensure maximum layout control and custom animations. The onchain data integration is powered by the Alchemy API, Wagmi, and the Etherscan API. I integrated the Gemini API for the parsing feature, and used Supabase for authentication and profile storage.

Challenges I ran into

One of the main challenges was parsing PDF CVs accurately across different formats. Since resumes can have highly varied layouts, standard text extraction often failed. Integrating the Gemini API helped translate raw, unstructured PDF text into clean, structured JSON schemas that reliably match our dashboard fields. Managing real-time wallet transactions and smart contract deployments from multiple APIs without slowing down page load speeds also required optimization and caching. I also encountered a whole lot of challenges but this was the most challenging of them.

Accomplishments that I'm proud of

I am proud of building a fully responsive and premium user interface from scratch using vanilla CSS. Creating a working PDF parser with AI integration as a student builder was a huge milestone, as well as successfully syncing complex blockchain data like POAPs and deployed contracts in a non-custodial way. Everything came out as planned and that makes me very proud.

What I learned

Building ChainFolio taught me a lot about interacting with Web3 APIs and managing states with Wagmi. I also gained experience working with large language models via the Gemini API, learning how to write effective prompts to extract structured JSON data from messy resume formats. I also learnt much about SQLs and Javascript as they were key factors in making this work as smooth as possible.

What's next for ChainFolio

I plan to support additional EVM-compatible chains like Base and Optimism, and integrate a custom domain feature so users can link their personal domains directly to their ChainFolio portfolios. I am also looking into a custom PDF export tool so users can download a premium, printed version of their verified onchain resume.

Built With

Share this project:

Updates