Feedback and NPS Programme for an Addis Ababa Airline
Designed and built a clickable feedback and NPS platform for a national airline based at Addis Ababa Bole: event-triggered surveys in six languages, translated and tagged comments, detractor follow-up cases with SLAs and goodwill limits, and alerts when a score drops or a topic spikes at a route or station.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, response explorer with quick view, follow-up queue, case detail and alerts with alert detail. Every one of the 15 demo cases opens its own case page.
Detractors (0-6) with contact permission become contact cases. Elite tiers get first contact within 24 hours, others within 48, and every case must be resolved within 7 days.
Amharic, English, Afaan Oromo, French, Arabic and Simplified Chinese. Each comment shows its English translation with the original language as a chip, and the original text on the case.
26 survey responses, 15 follow-up cases, 10 alerts, 15 stations, 8 follow-up teams and 8 staff users, with 26 weeks of NPS trend against an 8-week baseline.
Wonchi Air ran passenger feedback from a general survey tool, a weekly mailing list export and a shared inbox. One English survey went to everyone, so a frequent flyer on the Nairobi shuttle could get four a month while Amharic and Arabic readers rarely answered. Post-cancellation surveys arrived before rebooking was done and read like claim forms, low scores sat in a spreadsheet with nobody calling back, one analyst read the comments when she had time, and executives saw a single quarterly NPS.
Adbar takes a passenger from survey to fixed problem. It sends short surveys after trip and service events under sampling and fatigue rules, translates and tags every comment against a reviewed taxonomy, turns detractors who agree to be contacted into follow-up cases routed to the right team with SLAs, and breaks scores down by route, station, cabin and touchpoint with alerts when something moves.
An airline flying about 120 routes across Africa, Europe, Asia and the Middle East has to ask the right passenger at the right moment, in their language, under Ethiopian, EU and UK data rules, and then do something about the answer.
Frequent flyers were asked again and again while others were never asked in a language they read. Fatigue rules, priority between competing triggers and survey language from the booking have to be decided per person, matched by loyalty number, email or phone.
EU261 applies to flights departing EU airports, including non-EU carriers such as Wonchi Air. A post-disruption survey must never look like a claims form or ask a passenger to settle, so it waits until the disruption is handled and routes comments that express a claim to the claims team.
Detractors sat in a spreadsheet and station managers heard about problems at the monthly review. Each case needs a team (station, cabin services, baggage, contact centre, digital), a first-contact and resolve deadline, and goodwill gestures held to the agent's limit.
Ethiopia's Personal Data Protection Proclamation No. 1321/2024, the GDPR and the UK GDPR all apply to the same programme. Every invitation needs a recorded basis and a working unsubscribe, anonymous answers must be detached from the booking, and access and erasure requests must be met on time.
Mapped 12 roles, from CX programme manager and recovery agent to station manager, data protection officer and the passenger, 34 screens (30 staff and 4 passenger pages) and the data model for trip events, surveys, triggers, sampling and fatigue rules, invitations, responses, comments, taxonomy, cases, gestures, alerts, consent and data requests. Wrote down the rules the design follows: Ethiopia's PDP Proclamation, GDPR and UK GDPR, EU261, the NPS, CSAT and CES methods, minimum base sizes and WCAG 2.2 AA for survey pages.
Built 5 key screens on a production dashboard kit: the dashboard with KPIs, 26-week NPS trend, NPS by touchpoint, top movers and topics, and a Needs attention list for five roles; the response explorer with a summary strip on the filtered set; the follow-up queue in SLA order; case detail with contact attempts, templated messages, root cause, outcome, goodwill approval and claims handoff; and alerts with observed, baseline and threshold evidence. All actions run on local state.
Integration with the passenger service system (such as Amadeus Altéa or Sabre SabreSonic), operations disruption events with OAG or Cirium flight status, the helpdesk (Zendesk or Salesforce Service Cloud), SES or SendGrid, Infobip or Twilio, the WhatsApp Business Platform, Google Cloud Translation, a topic and sentiment model, Microsoft Entra ID sign-in and Teams alerts. Plus the programme, insights, taxonomy review, privacy, reports and settings screens, the four passenger pages and an append-only audit log.
Cases are ordered by what is due next, marked on track, at risk or breached, with Mine, My team, Unassigned and All tabs. The rule that created each case is printed under the list, so agents know why it is there.
When a comment shows claim intent, the case carries a banner: hand off to the claims team, and no goodwill gesture may be offered in exchange for dropping a claim. In place of an offer form, the gesture panel repeats that gestures come only after the handoff.
Goodwill is apology only, miles, a travel voucher in ETB or a lounge pass. Anything above an agent's limit waits for a team lead, the lead sees their own limit on screen, and a case can close without contact only after 3 attempts.
Each alert shows the observed value against the 8-week baseline and the threshold, the responses behind it, sample redacted verbatims and the related cases. Resolving needs a written resolution and dismissing as noise needs a reason.

Designed and built the staff console for a trilingual AI support agent at a Colombo telecom operator: a dashboard of containment and satisfaction, every conversation with its tool calls and guardrail events, a live monitor where team leads take over a chat, and a handoff queue that makes sure no customer passed to a person is lost.

Designed and built a clickable cloud contact centre for a Panama City health insurer's member services line: an AI voice agent that says it is automated, verifies callers and handles claim status and card replacement, an agent desktop with live transcript, suggested answers, secure card payments and AI call summaries, and review tools for every AI-handled call.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab