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
- digitalocean
- next.js
- nft
- solana
- typescript
Log in or sign up for Devpost to join the conversation.