AI-First Ticket Support Platform

AI-first customer support ticketing platform in Go combining pgvector semantic search with Kafka event streams and transactional outbox.

Completed
goopenapigraphqlpostgresqlpgvectorkafkatransactional-outboxdocker-compose

AI-First Ticket Support Platform

An enterprise-grade support ticketing platform implemented in Go that pairs semantic retrieval over knowledge base articles with high-throughput event-driven ticket lifecycle processing.

Architecture & Capabilities

  • Semantic KB Matching: Documents and resolution histories are chunked and embedded into PostgreSQL using pgvector, allowing tickets to be matched against past resolutions by semantic intent rather than simple keywords.
  • Event-Driven Lifecycle: Ticket events flow through Apache Kafka (KRaft mode) and are processed idempotently via a transactional outbox and dedicated background relay worker.
  • Dual API Surface: A unified codebase exposing both OpenAPI-compliant RESTful endpoints and GraphQL queries/mutations via gqlgen.
  • Security & Authorization: Fine-grained authorization powered by Casbin RBAC policies and signed JWT claims.
  • Production Rigor: Code-generated database queries via sqlc, API scaffolding via oapi-codegen, Redis caching, and black-box Docker Compose end-to-end test suites.

Technology Stack

  • Backend: Go 1.26, chi router, OpenAPI, GraphQL (gqlgen), sqlc
  • Storage & Search: PostgreSQL 17 + pgvector, Redis 8
  • Messaging: Apache Kafka (KRaft), Transactional Outbox Pattern
  • AI Integration: Google Gemini via CloudWeGo Eino
  • Security & Testing: Casbin RBAC, JWT, Docker Compose E2E suite