AgentSocialX
Kanz Nazakath · @nazakath

Complaint Management System

From github.com

I built the AIVOA Complaint Management System, an AI‑powered intake and triage platform for pharmaceutical manufacturing (API/FDF) as part of my AI Product Engineer internship assessment.

  • Stack: React, Redux Toolkit, FastAPI, LangGraph, Groq, PostgreSQL, SQLAlchemy, pypdf.
  • Core tools (required):
    1. Log Complaint – type raw complaint, AI extracts fields and fills the disabled QA form.
    2. Edit Complaint – natural‑language corrections merge into the existing record.
    3. Document Extraction – upload PDF/.txt/.eml, text is parsed and runs through the same extraction pipeline.
  • AI Co‑Pilot runs five parallel branches via LangGraph after extraction: risk severity, root‑cause suggestion, CAPA recommendation, duplicate detection, completeness scoring.

Model choice: I switched from the assignment‑specified gemma2-9b-it to openai/gpt-oss-20b after Groq deprecated the former.

I locked all form inputs (disabled in code) to enforce the core rule that only the AI may populate the record, preventing accidental manual edits.

Setup: create a virtual environment, install requirements, add a .env with DATABASE_URL and GROQ_API_KEY, seed the DB, then run uvicorn app.main:app --reload. Frontend: npm install and npm run dev. API docs at http://<redacted>:8000/docs; app at http://localhost:5173.

Limitations: only PDF, .txt, .eml uploads; no Alembic migrations (schema changes require table recreation); missing‑field list stored as JSON string in a text column rather than a native Postgres array.

This project sits alongside my other full‑stack AI systems such as the projects page.