Skip to content

abhimanyu756/TrustCheck

Repository files navigation

Gemini 3 React Node.js Pinecone

πŸ” TrustCheck.ai

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.


✨ Features

πŸ€– AI-Powered Verification Agents

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

πŸ“Š Verification Types

  • πŸŽ“ Education Checks β€” Verify degrees, marksheets with universities
  • πŸ’Ό Employment Checks β€” Confirm job history with previous employers
  • βš–οΈ Crime Checks β€” Background screening via official records

🎯 Dashboard Features

  • 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

πŸ› οΈ Tech Stack

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

πŸ“ Project Structure

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

πŸš€ Getting Started

Prerequisites

  • Node.js 18+
  • npm or yarn
  • Pinecone account
  • Google Cloud project (for Gmail API)
  • Twilio account (for voice calls)
  • Gemini API key

1. Clone the Repository

git clone https://github.com/yourusername/TrustCheck.git
cd TrustCheck

2. Backend Setup

cd server
npm install

Create .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=3000

Start the server:

npm run dev

3. Frontend Setup

cd client
npm install
npm run dev

The app will be available at http://localhost:5173


πŸ”Œ API Endpoints

Clients

Method Endpoint Description
GET /api/clients List all clients
POST /api/clients Create new client
GET /api/clients/:clientId Get client details

Cases & Checks

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

Documents

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

Email & Calls

Method Endpoint Description
GET /api/emails List all emails
POST /api/calls/initiate Start voice verification
GET /api/calls/:checkId/transcript Get call transcript

🌐 Deployment

IBM Cloud VM Deployment

# 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 save

Nginx Configuration

server {
    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;
    }
}

πŸ”‘ Environment Variables

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 βšͺ

πŸ“Έ Screenshots

Uploader Dashboard

Upload documents and initiate verification checks for candidates.

Supervisor Dashboard

Monitor all checks across clients with real-time status updates.

Email Inbox

Track verification emails with filtering by check type.

Check Status

View detailed verification results with risk assessment.


πŸ§ͺ Running Tests

# Backend tests
cd server
npm test

# Frontend tests
cd client
npm test

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Acknowledgments

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published