All projects

Selected work / Case study

swift-ship

An AI customer support desk.

Build checked

Overview

A customer support prototype built with Next.js 15, Supabase, and OpenAI, with pgvector for document search. The public link shows sign-in; authenticated support workflows need separate verification.

  • Next.js 15
  • Supabase
  • OpenAI
  • pgvector

The problem

swift-ship explores an AI-assisted customer support desk that combines ticket handling, knowledge search, and customer conversations. Its source also includes freight estimates and shipment tracking.

My contribution

I built a support prototype with ticket queues, replies and internal notes, knowledge editing, and customer portal pages. The AI chat routes requests to support, documentation, quote, or shipment agents. These capabilities are present in source; their authenticated behavior remains unverified.

How it's built

Next.js pages and API handlers use service modules backed by Supabase Auth, PostgreSQL, and Realtime. The AI route forwards responses from Supabase Edge Functions as server-sent events. Documentation search uses OpenAI embeddings and a pgvector database query.

Simplified AI request pathThe React support interface sends chat messages to the Next.js AI support API. The API forwards requests to one of four Supabase Edge Functions and relays server-sent events to the browser. The functions call OpenAI. The documentation agent also retrieves matching content from PostgreSQL with pgvector.

Simplified AI request path

The browser sends chat messages to the Next.js AI support route. That route forwards the request to a support, documentation, quote, or shipment Edge Function and relays its server-sent events. Paired arrows show requests and responses.

The documentation agent creates an OpenAI embedding of the query, retrieves matching content through the PostgreSQL match_embeddings function, and uses that content in an OpenAI chat completion.

This view follows the main AI route. Ticket services, Supabase Auth, and Realtime are separate application paths. A second agent implementation also exists inside the Next.js codebase.

This is source-level structure. The public demo shows sign-in only. Authenticated support, AI responses, and a fresh database setup remain unverified.

What's verified

Production build passes. Authenticated workflows are not verified.

Eyrie verified the production build on October 29, 2026 using placeholder service configuration. The live capture shows sign-in only. Tests are not green; authenticated support and AI workflows remain unverified.

What remains unverified

The public link shows sign-in only. The production build used placeholder service configuration and skips TypeScript and lint checks; those checks and the tests fail separately. The checked-in migrations are not a verified fresh-database setup. Login, ticket operations, and AI responses still need functional verification.

Captured screens

Swift Ship sign-in form with email and password fields, inside the application navigation shell.
Public sign-in page. Authenticated workflows are not verified.

All projects