AI-Powered Background Verification Platform β Automate employment, education, and criminal background checks using Gemini 3's multimodal AI agents.
TrustCheck.ai transforms the traditional 7-14 day verification process into an automated, AI-driven workflow that completes in hours. Built for the Gemini 3 Hackathon, it showcases the power of multimodal AI in enterprise workflows.
| Agent | Capability |
|---|---|
| Document Extraction | Parses payslips, offer letters, certificates using Gemini 3 Vision |
| Forensics Analysis | Detects forged documents via PDF metadata analysis |
| Voice Verification | Makes autonomous calls to HR via Twilio + Gemini |
| Email Processor | Sends verification requests & classifies responses |
- π Education Checks β Verify degrees, marksheets with universities
- πΌ Employment Checks β Confirm job history with previous employers
- βοΈ Crime Checks β Background screening via official records
- Green Zone β Fully verified candidates ready for hiring
- Red Zone β Flagged candidates requiring manual review
- Email Inbox β Track all outgoing/incoming verification emails
- Risk Scoring β Explainable AI-powered trust scores
| Layer | Technology |
|---|---|
| Frontend | React 18, Vite, TailwindCSS, react-pdf |
| Backend | Node.js, Express.js, Multer |
| AI/ML | Gemini 3 Flash Preview, text-embedding-004 |
| Database | Pinecone Vector Database |
| Communication | Gmail API (OAuth2), Twilio Voice SDK |
| Deployment | IBM Cloud VM, Nginx, PM2 |
TrustCheck/
βββ client/ # React Frontend
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Dashboard, Check Status, Email Inbox
β β βββ contexts/ # Toast notifications
β β βββ config/ # API configuration
β βββ package.json
β
βββ server/ # Node.js Backend
β βββ routes/ # API endpoints
β β βββ checkRoutes.js # Check CRUD operations
β β βββ emailRoutes.js # Email management
β β βββ callRoutes.js # Voice verification
β β βββ documentUploadRoutes.js
β βββ services/ # Business logic
β β βββ aiAgentService.js # Gemini agent orchestration
β β βββ geminiService.js # Document extraction
β β βββ callService.js # Twilio + Gemini voice
β β βββ emailService.js # Gmail integration
β β βββ database.js # Pinecone operations
β β βββ forensicsService.js
β βββ package.json
β
βββ GEMINI_INTEGRATION.md # Gemini 3 feature documentation
βββ PROJECT_STORY.md # Hackathon submission story
βββ README.md
- Node.js 18+
- npm or yarn
- Pinecone account
- Google Cloud project (for Gmail API)
- Twilio account (for voice calls)
- Gemini API key
git clone https://github.com/yourusername/TrustCheck.git
cd TrustCheckcd server
npm installCreate .env file:
# Gemini AI
GEMINI_API_KEY=your_gemini_api_key
# Pinecone Vector Database
PINECONE_API_KEY=your_pinecone_api_key
PINECONE_INDEX=trustcheck-index
# Gmail API (OAuth2)
GMAIL_CLIENT_ID=your_client_id
GMAIL_CLIENT_SECRET=your_client_secret
GMAIL_REFRESH_TOKEN=your_refresh_token
GMAIL_USER=your_email@gmail.com
# Twilio Voice (Optional)
TWILIO_ACCOUNT_SID=your_twilio_sid
TWILIO_AUTH_TOKEN=your_twilio_token
TWILIO_PHONE_NUMBER=+1234567890
# Server
PORT=3000Start the server:
npm run devcd client
npm install
npm run devThe app will be available at http://localhost:5173
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/clients |
List all clients |
| POST | /api/clients |
Create new client |
| GET | /api/clients/:clientId |
Get client details |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/cases/:clientId |
Get cases for client |
| POST | /api/cases |
Create new case |
| GET | /api/checks/:checkId |
Get check details |
| POST | /api/checks/execute/:checkId |
Execute verification |
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/document-upload/upload |
Upload document |
| GET | /api/document-upload/download/:docId |
Download document |
| GET | /api/document-upload/check/:checkId |
Get docs for check |
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/emails |
List all emails |
| POST | /api/calls/initiate |
Start voice verification |
| GET | /api/calls/:checkId/transcript |
Get call transcript |
# SSH into your VM
ssh root@your-vm-ip
# Clone and setup
cd /var/www
git clone https://github.com/yourusername/TrustCheck.git trustcheck
cd trustcheck
# Install dependencies
cd server && npm install
cd ../client && npm install && npm run build
# Copy frontend build to nginx
cp -r dist/* /var/www/html/
# Start backend with PM2
cd ../server
pm2 start server.js --name trustcheck-api
pm2 saveserver {
listen 80;
server_name your-domain.com;
# Frontend
location / {
root /var/www/html;
try_files $uri $uri/ /index.html;
}
# API Proxy
location /api/ {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
}
}| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Google Gemini API key | β |
PINECONE_API_KEY |
Pinecone vector DB key | β |
PINECONE_INDEX |
Pinecone index name | β |
GMAIL_CLIENT_ID |
Google OAuth client ID | β |
GMAIL_CLIENT_SECRET |
Google OAuth secret | β |
GMAIL_REFRESH_TOKEN |
Gmail refresh token | β |
GMAIL_USER |
Sending email address | β |
TWILIO_ACCOUNT_SID |
Twilio account SID | βͺ |
TWILIO_AUTH_TOKEN |
Twilio auth token | βͺ |
TWILIO_PHONE_NUMBER |
Twilio phone number | βͺ |
Upload documents and initiate verification checks for candidates.
Monitor all checks across clients with real-time status updates.
Track verification emails with filtering by check type.
View detailed verification results with risk assessment.
# Backend tests
cd server
npm test
# Frontend tests
cd client
npm test- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini Team β For the incredible Gemini 3 Flash model
- Pinecone β For blazing-fast vector search
- Twilio β For voice API capabilities
- IBM Cloud β For reliable VM hosting
Built with β€οΈ for the Gemini 3 Hackathon 2026