
SkillCert
SkillCert transforms your accomplishments into permanent, tamper-proof digital assets on the Solana blockchain
Demo
About
The problem it solves Most online certificates are unverified, isolated in PDFs, and easy to forge. SkillCert turns your credentials into publicly verifiable, immutable records — giving learners, educators, and employers a trust layer for digital proof. Students & Professionals: Easily upload, verify, and share academic and skill-based certificates with employers, institutions, or clients — all tied to their wallet identity. Recruiters & Employers: Instantly verify the authenticity of shared certificates through a tamper-proof, blockchain-based public viewer. Institutions & Course Platforms: Offer blockchain-verified certificates that users can mint and showcase with trust and transparency. Eliminates fraud – Uses blockchain immutability and IPFS to prevent certificate forgery. Easy to share – Generates public links or QR codes to show ownership and verification status. Cost-effective – Uses zk-compression to keep on-chain costs minimal. Trustless verification – Anyone with the link can verify without needing to contact the issuer.
How it's made
Challenges we ran into 1. Wallet Authentication & Identity Linking Initially, I faced issues integrating wallet authentication in a way that was both secure and user-friendly. Civic Auth had limited compatibility, and embedded wallets introduced challenges in managing sessions across devices. Solution: I switched to using Phantom wallet adapters and embedded wallet logic directly with Supabase auth metadata. After fine-tuning wallet state management and address storage, authentication became seamless. 2. Chainlink Functions Integration Chainlink Functions required managing external data requests and signing logic that didn’t work out-of-the-box with my backend setup. Solution: I isolated the Chainlink Functions flow, debugged off-chain responses using mocks, and configured secrets correctly. Eventually, I got the price feed and certificate authenticity check to sync with the user interface. 3.Cross-Service Connectivity Coordinating data between IPFS, Supabase, Chainlink, and Solana often led to CORS issues, syncing delays, and inconsistent states between frontend and backend. Solution: I added global error boundaries, backend retries, and unified env configs across frontend and backend to ensure consistent behavior.