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 viaoapi-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