Inspiration
It all began with a simple observation: students carry the future in their hands, yet their identities remain locked in physical cards and centralised databases. As a student myself, I witnessed how traditional ID systems failed to keep pace with our digital lives. The inspiration struck during a campus event where students struggled to verify their identities for multiple services—library access, event registration, discount claims—each requiring different credentials.
"What if a single, secure digital identity could unlock everything a student needs?"
This question became the foundation of ProoFLY. A world where students wouldn't just carry an ID card, but a key to opportunities—verified, tamper-proof, and universally recognised.
What it does
ProoFLY transforms student identity management through:
Digital Identity Creation
- Generates unique Decentralised Identifiers (DIDs) for each student
- Creates steganographic SVG badges that embed identity data invisibly
- Provides cryptographic verification without a complex blockchain setup
Smart Authentication System
- One-click verification using SVG badges with hidden identity data
- Tamper-proof design – any alteration corrupts the embedded information
- Multi-platform access to campus services, discounts, and exclusive offers
How we built it
Frontend: Next.js + Tailwind CSS
Backend: Node.js + Express.js
Database: MongoDB with Mongoose ODM
Authentication: Clerk.dev + JWT tokens
Steganography: Custom SVG data embedding
File Handling: SVG-based (no external dependencies)
Identity Management Flow
- Student Registration → Clerk authentication
- DID Generation → Cryptographic key pair creation
- Badge Creation → SVG with embedded identity data
- Verification System → Data extraction and validation
Security Framework
- RSA-2048 encryption for identity protection
- JWT token-based session management
- Steganographic data hiding for visual verification
- Role-based access control for different service levels
Challenges we ran into
"The Great Compression Crisis"
- Initial Approach: PNG images with Cloudinary storage
- The Disaster: Cloudinary's automatic image compression corrupted embedded steganographic data
- The Breakthrough: Switching to SVG format eliminated compression issues entirely
"I learned that sometimes the most elegant solutions come from embracing constraints rather than fighting them."
Technical Hurdles Overcome:
- Data Integrity: Ensuring steganographic data survived file transfers
- Browser Compatibility: Consistent SVG rendering across all platforms
- User Experience: Balancing security with simplicity for student users
- Performance Optimisation: Fast rendering of complex SVG badges
Accomplishments that we're proud of
Technical Achievements
- Successfully implemented SVG steganography for identity verification
- Created a fully functional digital identity system from scratch
- Solved real-world problems with elegant technical solutions
- Built a scalable architecture ready for future blockchain integration
Personal Milestones
- Transformed a frustration into a functional solution
- Mastered concepts like Basic cryptography and steganography
- Built a complete full-stack application solo
- Created something that could genuinely help fellow students
What we learned
- Steganography practicality: Theory vs. real-world implementation challenges
- SVG superiority: Why vector graphics beat raster images for data embedding
- Progressive enhancement: Building solid foundations before adding complexity
- Security balance: Making systems secure without making them unusable
What's next for ProoFLY
- Web3 Transition: Gradual migration to blockchain-based identity management
- Zero-Knowledge Proofs: Enhanced privacy through advanced cryptography
- Cross-Platform Integration: Seamless verification across web, mobile and IoT
- International Standards: Contributing to global digital identity frameworks
Built With
- clerk.dev
- cryptography
- express.js
- javascript-(es6+)
- jwt
- mongodb
- mongoose
- next.js
- nextjs
- node.js
- steganography
- svg
- tailwindcss
Log in or sign up for Devpost to join the conversation.