Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for “Adversarial Exam Intelligence System (AEIS)

Build a full-stack web application called “Adversarial Exam Intelligence System (AEIS)” that generates AI-resistant exam questions and evaluates them using Gemini API.

🎯 Core Features

  1. Generate adversarial exam questions
  2. Send generated questions to Gemini API to simulate AI answering
  3. Evaluate if the question is too easy for AI
  4. Assign an “LLM Resistance Score”
  5. Accept or reject the question
  6. Store accepted questions in database
  7. Show results in a dashboard UI

🧱 Tech Stack Requirements

  • Frontend: React.js (with Tailwind CSS)
  • Backend: Node.js with Express
  • Database: MongoDB (Mongoose)
  • API Integration: Gemini API (mock if API key not available)
  • Use Axios for API calls

🖥️ Frontend Requirements

Create a clean modern dashboard UI with:

Pages:

  1. Home Dashboard
  2. Generate Question Page
  3. Question Review Page
  4. Final Question Bank Page

Components:

  • Navbar
  • Sidebar
  • Question Card
  • Score Badge (LLM Resistance Score)
  • AI Response Viewer
  • Approve / Reject Buttons

Features:

  • Input field to define question type (UPSC/JEE/University)
  • Button: “Generate Question”
  • Display:

    • Generated Question
    • AI Answer (from backend)
    • Score
  • Buttons:

    • Accept → Save to DB
    • Reject → Regenerate

⚙️ Backend Requirements

API Routes:

  1. POST /generate-question
  • Use Gemini API (or mock)
  • Generate adversarial question based on:

    • Local context
    • Multi-language hint
    • Real-world reasoning
  1. POST /test-question
  • Send question to Gemini API
  • Get AI-generated answer
  1. POST /evaluate
  • Calculate LLM Resistance Score based on:

    • Specificity
    • Local dependency
    • Personalization requirement
    • Generic answer detection
  1. POST /save-question
  • Save accepted questions to MongoDB
  1. GET /questions
  • Fetch all accepted questions

🧠 Evaluation Logic

Implement a scoring system:

score = (specificity * 0.3) + (local_context * 0.3) + (non_generic * 0.2) + (real_time * 0.2)

Reject if score < 0.75


🗄️ Database Schema (MongoDB)

Collection: questions

Fields:

  • questionText (String)
  • aiAnswer (String)
  • score (Number)
  • status (accepted/rejected)
  • createdAt (Date)

🔗 Integration

  • Connect frontend to backend using Axios
  • Show loading states
  • Handle errors gracefully
  • Use environment variables for API keys

🎨 UI Style

  • Use Tailwind CSS
  • Dark mode dashboard
  • Cards with shadows and rounded corners
  • Clean typography

🚀 Bonus Features (if possible)

  • Add “Regenerate Question” button
  • Add filter in Question Bank
  • Add simple analytics (average score)

📁 Folder Structure

/client → React frontend /server → Node backend


⚡ Deliverable

  • Fully working full-stack app
  • All components connected
  • Ready to run locally with: npm install npm run dev

Generate clean, modular, production-ready code with comments explaining logic.

Built With

Share this project:

Updates