← All projects

// Project 03 — OpenAI FDE Hackathon · 3rd place

LionLink — Customer Service Console

A hackathon during the OpenAI for Singapore FDE Bootcamp, co-organised by OpenAI and AI Singapore, where my team built for LionLink, a fictional bus operator. We interviewed each department, and Customer Service had the clearest pain: complaints arrive by phone and email, get recorded into Excel by hand, and every complaint means minutes to hours of checking with Operations, Planning and Engineering departments before answering customers.

I owned the internal Customer Service console: one screen that finds the passenger's trip, shows what each department recorded about it, and turns complaints into a queue that can be tracked, grouped and answered, with the help of AI.

Team pitch deck ↗ Featured by AI Singapore ↗
The Add a complaint dialog. A pasted email about the 6:20 service 235 at Toa Payoh Interchange has been read by AI, filling service 235, bus NW-V039, stop Toa Payoh Int (52009) and journey time 06:20. The category, Late or missed bus, is marked 'Suggested by Decisions API, 93%'.
Complaint PC03 opened in detail. The category Late or missed bus is labelled 'Decisions API, 93%', with owner Operations and priority High because the passenger was stranded. Below, the matched trip, what the records show about its 21-minute late departure, and the control room's explanations.
The reply section of a complaint marked 'AI draft, staff check before sending'. The drafted email apologises that the passenger could not board because the bus departed full. Below it, internal notes not copied to the passenger list the records used and that Planning should review the recurring crowding, with an expandable 'Facts sent to the AI'.
The Customer Service console replaying Wednesday 7 October at 06:25. A journey search sits above three panels: delayed journeys, Operations updates for service 235, and Engineering vehicle status and repair history.
The complaint queue with a red banner reading 'Surge: service 235, 5 complaints between 06:25 and 07:23. Possible disruption.' Each complaint shows its channel, category, owning department, priority and status.
The complaint insights panel: filters for service, stop, bus, category and escalation; counts for received, open, escalated and oldest open; charts of complaint volume, categories and services; and a list of recurring journey patterns.

1 / 6

// How the AI works

// Stack

Next.js
Console, API routes and passenger app
OpenAI
Decisions API for classification; Responses API for parsing and drafts; Realtime for transcription
TypeScript
Classification, trip matching and metrics as plain, tested functions
Playwright
End-to-end tests for every demo scenario

// Reflection

This was my first hackathon, and it gave me a real look at how forward-deployed engineers work: interviewing stakeholders, finding the problem underneath what they ask for, and designing something that fits how they actually work. Clients often don't know exactly what they want. A big part of the job is asking the right questions and guiding them towards a solution that works for them.

One line has stayed with me since:

“We are not looking for fancy solutions that look good but don't work.”

With AI, it's easy to get caught up in the newest model or the flashiest feature. That line reminds me to start with the people and their problem, and to use the technology only where it genuinely helps them.

Jianzuo On my first hackathon