Inspiration

With the rise of AI-generated content and bots, it’s becoming harder to prove whether a real human was present at a given moment. We wanted to explore a simple but powerful idea:

What if you could prove “a real human was here” — on-chain?

Instead of identity verification (which is complex and invasive), we focused on human presence verification using live camera detection + blockchain.

What it does

Sol-Proof allows users to:

📸 Capture a live photo using their camera

🤖 Verify human presence using on-device face detection

⛓️ Mint a Proof of Human NFT on Solana Devnet

🧾 Automatically attach: timestamp human verification status

Each NFT becomes:

“A verifiable record that a real human was present at a specific moment in time.”

We also built a chat assistant to guide users through the process and explain the system.

How we built it

Frontend Next.js + React Tailwind + shadcn/ui Camera integration (WebRTC)

Human Detection face-api.js (TinyFaceDetector ~190KB) Runs fully in-browser (no API) Enables capture only when a face is detected

NFT Minting (Solana) Metaplex UMI SDK

Flow: Upload image to IPFS (Pinata) Generate metadata Mint NFT to user wallet NFT structure follows standard: image → IPFS metadata JSON → IPFS mint on-chain

Chat Assistant (DigitalOcean) DigitalOcean Gradient AI inference API Custom /api/gradient endpoint Maintains conversation context

MLH Track for Solana

We used the Solana blockchain + Metaplex to:

Mint NFTs representing human presence Use Devnet for fast, low-cost testing Leverage standard NFT metadata structure (image + JSON + mint)

Why Solana:

fast and low fees strong NFT ecosystem easy wallet integration (Phantom)

MLH Track for DigitalOcean

We used DigitalOcean Gradient AI to:

Build a chatbot assistant inside the app Provide real-time guidance to users Handle conversational context with an LLM endpoint

DigitalOcean Gradient enables:

serverless inference conversational AI APIs easy integration into web apps

Challenges we ran into

❌ Gemini API quota issues → forced pivot

❌ Camera inconsistencies across browsers

❌ npm dependency corruption (Metaplex + bs58 errors)

❌ Handling image → file → IPFS pipeline

❌ Syncing wallet state across components

Accomplishments that we're proud of

✅ Built full pipeline: camera → AI detection → NFT mint

✅ Fully client-side human detection

✅ Removed ability to upload images (anti-spoofing)

✅ Clean UX with gated capture (face required)

✅ Integrated AI chatbot assistant

✅ Working Solana mint with metadata

What we learned

How Solana NFT minting actually works: upload → metadata → mint pipeline Importance of devnet testing first Lightweight ML can be more practical than heavy models UX matters more than model complexity in demos AI APIs are fragile (quotas, regions, limits)

What's next for Sol-Proof

Add location (geo-tagging) to NFT metadata

Add liveness detection (blink / movement)

Add confidence score for detection

Enable verification API for external apps

Turn into reusable Proof-of-Human SDK

Built With

Share this project:

Updates