Skills Proven, Not Claimed
🏆 Hackathon Submission — Build and Grow AI Hackathon
Team Name: TestaTrinity
Team Members: Subroto Datta (Leader) , Harsh Mhatre, Samiksha Dhole.
Domain: EduTech
Project Name: Proofly - A micro-internship platform that enables students to earn verifiable skill credentials through real-world tasks, helping companies hire based on demonstrated ability rather than resumes.
Proofly connects three key stakeholders:
- Students complete real-world tasks to earn cryptographically signed skill receipts
- Companies post tasks and hire candidates based on verified work
- Recruiters discover talent through searchable, verified credentials
- Verifiable Credentials: RSA-2048 cryptographically signed skill receipts
- AI-Powered Analysis: Google Gemini integration for task creation and skill assessment
- Multi-Role Platform: Separate experiences for students, companies, and recruiters
- Real-Time Analytics: Company dashboards with performance metrics
- QR Code Sharing: Portable credentials for easy verification
- Public Profiles: Permanent skill passports for students
- Frontend: React 18, TypeScript, Vite, TailwindCSS
- Backend: Firebase Cloud Functions (Node.js 20)
- Database: Cloud Firestore
- Authentication: Firebase Auth with Google Sign-In
- AI: Google Gemini API
- Hosting: Firebase Hosting
- UI Components: Radix UI, shadcn/ui
- Node.js 20+
- Firebase CLI (
npm install -g firebase-tools) - Google Cloud account with Firebase project
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your Firebase configuration
# Run development server
npm run devCreate a .env file with your Firebase configuration:
VITE_FIREBASE_API_KEY=your_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_idnpm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run type-check # Run TypeScript type checkingproofly/
├── src/
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ ├── lib/ # Utilities and configurations
│ │ ├── firebase.ts # Firebase configuration
│ │ ├── auth.tsx # Authentication context
│ │ └── utils.ts # Helper functions
│ └── App.tsx # Main application component
├── functions/ # Firebase Cloud Functions
├── public/ # Static assets
└── docs/ # Documentation
- Browse and complete tasks
- Submit work for review
- Earn verifiable skill receipts
- Build public skill profile
- Share credentials via QR code
- Post tasks with AI assistance
- Review submissions
- Issue skill receipts
- Access analytics dashboard
- Search for verified talent
- Search verified credentials
- Filter by skills and scores
- View candidate portfolios
- Contact qualified candidates
The platform uses Firebase for:
- Authentication: Google Sign-In
- Database: Firestore for all data storage
- Functions: Backend API endpoints
- Hosting: Static site hosting
See docs/FIREBASE_SETUP_GUIDE.md for detailed setup instructions.
# Build the application
npm run build
# Deploy to Firebase
firebase deploy- Multi-layer security with Firebase Auth and Firestore Rules
- Cryptographic signing of skill receipts (RSA-2048)
- Role-based access control (RBAC)
- Rate limiting on API endpoints
- Audit logging for all credential operations
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
For questions or support, please open an issue on GitHub.
Built with React, TypeScript, and Firebase