ButterflyCopilotButterflyCopilot
← Blog

How Happy Fish Turned a Two-Hour Reply Cycle Into Instant Trial Bookings

IMDA and Voltade both print the two-hour wait and the weekly sign-ups. The Straits Times’ figure is about ten hours a week, and reception still owns paid enrolment.

ButterflyCopilot

Instant replies. The Straits Times counts about ten hours a week. IMDA and Voltade count a two-hour wait that became instant.

0106

What they achieved

Happy Fish’s public record has two clocks, and they are not the same sentence.

The Straits Times, on 31 July 2024, covered Enterprise Singapore’s Partners for Business Growth programme at the SME Centre Conference. Happy Fish Swim School had taken part in 2023 and developed an AI chatbot that answers customer queries. The paper says it saves the firm about 10 hours of manual labour a week, that customers get instant responses, and that the school handles inquiries more efficiently. Tan Jian Yong, founder and chief executive, is also quoted on a different job: the school spends about two to three hours a week drawing performance graphs by hand, and they are aiming for AI to do that instantly in the future. That graph line is a hope. It is not a result the article says is live.

Enterprise Singapore’s LinkedIn post about that conference says the same chatbot saved 10 man-hours a week, and it points at the Straits Times piece. A later Enterprise Singapore post says that, with business advisers from SME Centre@SMCCI, Happy Fish onboarded a GenAI chatbot to improve operational efficiency and is looking at markets overseas. That post does not add a new number.

IMDA’s SMEs Go Digital highlight, dated 27 March 2025, is where the larger figures enter the public record. The page says the school had about 100 queries a day, and that an overseas team was sending over 1,800 text messages in reply. The wait averaged two hours. After the chatbot, replies were instant instead of two hours. The bot could manage up to 300 inquiries a day, which the page calls a three-fold increase. Enquiry conversions led to 50 new student sign-ups a week. Jenny Miranda, assistant operations manager, says she can now handle more complex customer issues, mentor team members, and help them develop. Tan’s line on that page is that some customers said they did not know they were chatting with a chatbot.

Voltade’s case study, updated 3 September 2026, prints that cluster again, in the vendor’s wording. Buried under about 1,800 replies a day from an outsourced overseas team, after the back-and-forth, against about 100 enquiries a day. Average response time, 2 hours to instant. Daily enquiry capacity, 100 to 300, which they label 3×. New sign-ups, 50 students every week. Reception freed for mentoring and complex cases. Tan is quoted as sceptical at first, and as reporting that some customers did not know it was a chatbot.

Happy Fish’s own LinkedIn post, thanking IMDA for the feature, says the school manages over 1,800 customer messages a day across 20 locations, that response capacity tripled, and that they welcome 50 new enrolments a week. The feature text in that post uses the same figures, including the two-hour wait.

Read the verbs. IMDA says “up to 300” and “50 new student sign-ups”. Voltade’s results box says “100 → 300” and “50 students every week”. The company’s post says “50 new enrolments”. The pages agree that something large happened. They are not three audits, and the nouns are not identical. The newspaper’s figure remains about 10 hours a week. It does not print 1,800, a threefold capacity, or 50 a week.

What they do

Happy Fish Swim School teaches swimming in Singapore and Malaysia. IMDA’s highlight, dated 27 March 2025, says the school was founded in 2007 and calls it a swim school with 20 pools, teaching children and adults. The public location pages describe indoor heated pools for young children. Both descriptions are on the record. A bot does not get to decide which one a parent meant.

The Singapore locations page heads its Singapore list as nine pools, Selangor as nine, and Johor as two. That is the same arithmetic as the “20 pools” line in the IMDA highlight and in Voltade’s case study. The Malaysia site heads KL and Selangor as nine and lists Johor pools as well. Contact lines published on those pages include +65-65898650 and admin@happyfish.sg, and info@happyfish.my.

Those pages are a brochure, not a capacity sheet. On the day this article was checked, the Singapore locations page said the Lentor pool is closed on Friday. The Malaysia locations page, for the same Lentor address, said Wednesday. A parent who asks “are you open Friday” can be given a confident wrong answer by a bot that “knows the website”. IMDA says the chatbot pulls data from the website. That is a reason to keep hours in a file a person edits, and to refuse the answer when the file disagrees with itself.

The pile in front of the bot is described the same way by IMDA and by Voltade. About 100 enquiries a day. A long back-and-forth, counted as more than 1,800 replies, handled by an overseas team. Parents waited about two hours. Answers drifted. The overseas desk did not have a local feel for the curriculum, the pools, or what parents were actually asking. The 1,800 is a reply count. It is what the thread becomes after the questions have already multiplied. It is not 1,800 unique parents.

How they do it

IMDA describes a GenAI chatbot for customer engagement. It replies to common questions at any hour, it pulls data from the school’s website, and staff keep training it. Tan’s sceptical line is on that page: he did not see how GenAI could answer like a person until he saw a demo. The page also says this kind of chatbot was available with grant support of up to 50%. That sentence sits next to the programme’s own offer. It is not a line that says “Happy Fish’s labour saving was 50%”.

Voltade’s case study says Voltade built the agent, and it is the page that names the loop a smaller school can actually copy. The agent is trained on the course catalogue, pool schedules, instructor availability, and pricing. It reads WhatsApp Business, Instagram DM, Facebook Messenger, and the web form. It drafts matching trial options, books the slot, and logs the lead, in a thread that continues when the parent writes again. The Singapore version of that page says the deployment is PDPA-aligned, hosted in Singapore, and PSG-eligible.

The loop, in the vendor’s four steps:

  1. Read and route. Trial, price, or schedule.
  2. Match and filter against the catalogue, the branch, the age band, and term capacity.
  3. Reply and book the trial. Take a deposit if one is required.
  4. Log the lead, and remember the thread.

The control is in the same paragraph as the automation. Most enquiry handling and trial booking runs on its own. Paid enrolment and refunds stay with reception.

IMDA does not publish those four steps, the channel list, or the deposit. It publishes a chatbot that answers, a staff quote about mentoring, and the sign-up line. Voltade publishes the booking machine. The Straits Times, a year earlier, publishes a chatbot that answers and a 10-hour saving. Copy the loop. Leave the argument about who built it in the sources. The 2023 programme, the 2024 newspaper note, the 2025 highlight, and the 2026 vendor page are one company’s story told four times, not four measurements you can add together.

The hard parts

The two-hour wait, the threefold jump, and 50 a week are one cluster. IMDA printed them in March 2025. Voltade’s page, updated in September 2026, prints them again. The company’s LinkedIn post prints them again. Quote the sentence you mean. “Up to 300 inquiries” is the highlight. “100 → 300” is the vendor’s results box. “Sign-ups”, “students”, and “enrolments” are three words for a weekly figure you should not smooth into one.

The Straits Times number is the other one. About 10 hours of manual labour a week, and instant responses. Enterprise Singapore’s conference post says 10 man-hours and links that article. Do not add 10 hours to 50 sign-ups. Do not treat the newspaper as an audit of the later figures. It does not mention them.

1,800 is replies, not parents. IMDA says about 100 queries a day, and over 1,800 text messages in reply. Voltade’s challenge line is the same shape: 100 enquiries a day, 1,800 replies after back-and-forth. A board slide that says “1,800 parents a day” has changed the unit.

A booked trial is not a paid term. Voltade says paid enrolment and refunds stay with reception. Jenny Miranda’s IMDA quote is about complex cases and mentoring, which is the same idea from the person doing the work. A bot that takes a term fee, a card number, or a refund is a different system.

“Deposit if required” is not a fee the model may invent. The vendor says the agent takes a deposit if one is required. Required by whom, and how much, is not on the page. The only safe copy is a sentence the business wrote down, or silence.

Hours, levels, and squad places are where a fluent bot does harm. The Lentor pages already disagree about a closed day. An empty cell is a question for reception. A child with a health question is not a level placement. A competition place is not a trial slot.

Twenty pools is a label. The location headings and the case studies say 20. A heading on a marketing page is not the lookup. The agent reads the sheet the school maintains this week.

Three languages are a product decision. Voltade says the agent is tuned to the way Singapore and Malaysian parents actually write. The scripts still have to be ones the business has approved, including the line that refuses a level.

The performance graphs are not this project. Two or three hours a week, future tense, in the 2024 article. Do not report them as finished.

Do not forecast another school at 50 enrolments a week. The figure is Happy Fish’s published result. It is not a target in the instruction file.

How a smaller business can copy it

The useful shape, if you run a swim school, a studio, or any skills academy where the parent is really asking for a trial:

A parent writes on the channel you already use
        ↓
The assistant reads and routes: trial, fee, hours, or a person
        ↓
It matches a branch, an age band, and an open slot on your sheet
        ↓
It books that trial, or it stops
        ↓
It logs the lead
        ↓
Reception still takes paid enrolment, refunds, and anything medical

Version 1 of that loop never sends a fee it composed, and it never decrements a slot until you have switched booking on.

What the instruction file will make an agent do

The file below is the brief. Hand it to the agent that builds or runs the assistant. It is written as orders, with the blanks marked REPLACE.

It will make the agent:

  • Refuse to open a public channel until you name the reception owner, the inbox, and real pools, courses, and capacity files.
  • Stand up one inbound pipe for WhatsApp (official Cloud API), Instagram or Messenger if the Meta app is actually approved, and a short web chat. Launch a single channel first. They all become the same enquiry.
  • Run a fixed conversation: greet with a privacy line, detect English, Chinese, or Malay, ask one missing field at a time, and stop when someone asks for a person or eight turns add nothing.
  • Offer at most three trial times copied from the capacity sheet, in the pool’s own timezone. A full row is not a creative alternative. A pool that is not on the sheet has no hours.
  • Book only when you set booking on, under a file lock, and only then say the trial is booked. Until that switch, the reply says reception will confirm.
  • Append a deposit sentence only when that language’s cell is filled in by you. Never ask for a card. Never confirm that a deposit was paid.
  • Hand paid enrolment and refunds to the named person. The CRM record cannot say the child is enrolled, the fee was collected, a level was assigned, or a squad place was promised.
  • Keep NRIC, passport, and birth-certificate numbers out of the chat export, and keep symptom words out of the CRM body. A child’s age is enough to match a band.
  • Leave the live CRM switched off until the tests pass. The first CRM is a stub that rejects a lead pretending to be a paid enrolment.

The acceptance tests are in the file. A fee question with no approved sentence, a Saturday trial that decrements one slot, a full slot, a Malay deposit sentence that must be copied and not translated, a Chinese enrolment-and-refund request, asthma, a squad place, a card number, an NRIC, a pool you do not run, two rows that disagree about a closed day, and two parents racing for the last spot. If the reply says the child is enrolled, the test fails.

That is the whole implementation. The agent does not get to promise 50 sign-ups on the way.

The instruction file

Here is the brief for your agent: the role, the sheets, the channel setup, the state machine, the questions in three languages, the handoff JSON, the CRM stub, the privacy checklist, the hard stop before money, and the tests that decide when booking is allowed.

Replace every REPLACE line. Delete every SAMPLE row. Then let it run on old enquiries before it talks to a live parent.

Sources

Figures in this article come from The Straits Times, from IMDA’s SMEs Go Digital highlight, from Enterprise Singapore’s LinkedIn posts, from Happy Fish’s location pages and LinkedIn post, and from Voltade’s case study. They are not an independent audit. The 10-hour figure is the newspaper’s. The two-hour wait, the threefold enquiry line, and the 50-a-week line are the cluster printed by IMDA and repeated by Voltade and by the company.

  • The Straits Times, Rosalind Ang, “More SMEs to get help with business growth under extended EnterpriseSG programme,” 31 July 2024. Happy Fish took part in Partners for Business Growth in 2023, developed an AI chatbot that answers customer queries, saves about 10 hours of manual labour a week, and gives customers instant responses. Tan Jian Yong, founder and CEO, on two to three hours a week of performance graphs, aimed at a future AI version. straitstimes.com
  • IMDA SMEs Go Digital, “Happy Fish delivers instant replies and boosts sales with GenAI Chatbot,” 27 March 2025. Founded in 2007, 20 pools, children and adults. About 100 queries a day and over 1,800 reply texts from an overseas vendor. A two-hour average wait. The chatbot replies at any hour, pulls the website, and is trained by staff. Results as printed: instant instead of two hours, up to 300 inquiries a day (three-fold), 50 new student sign-ups a week. Quotes from Tan Jian Yong and from Jenny Miranda, assistant operations manager. The page also says this kind of chatbot was available with grant support of up to 50%. smesgodigital.gov.sg
  • Voltade, “Happy Fish” case study, updated 3 September 2026. The vendor’s account of the channels, the knowledge base, the four-step loop including a deposit if required, paid enrolment and refunds staying with reception, 1,800 replies a day, 2 hours to instant, 100 to 300 (3×), and 50 students every week. The Singapore page adds “PDPA-aligned, hosted in Singapore, PSG-eligible.” voltade.com, Singapore edition
  • Happy Fish Swim School, LinkedIn, post thanking IMDA. The company’s wording: over 1,800 customer messages a day across 20 locations, tripled response capacity, 50 new enrolments a week. Use it as the company’s own repetition of that cluster, and as corroboration that IMDA featured them. linkedin.com
  • Enterprise Singapore, LinkedIn. The SME Centre Conference post restates the chatbot saving 10 man-hours a week and links the Straits Times article. A later post says Happy Fish, with advisers from SME Centre@SMCCI, onboarded a GenAI chatbot and is exploring markets overseas. Conference post, SME Centre@SMCCI post
  • Happy Fish locations. The Singapore page heads Singapore as nine pools, Selangor as nine, and Johor as two, and lists +65-65898650 and admin@happyfish.sg. The Malaysia page heads KL and Selangor as nine, lists Johor, and lists info@happyfish.my. Hours on the two pages are the sort of fact that drifts: Lentor’s closed day did not match when the pages were read for this article. happyfish.sg/locations.htm, happyfish.my/locations

Stay in the loop

Product updates and enterprise AI notes. No spam.