For the best experience, view this proposal on a desktop. On mobile, the app screens are shown as preview images — tap any to enlarge.
AI Project Proposal

Kiddy123 AI-powered Chatbot for School Matching Proposal.

Parents describe what they need in plain language — KiddyMatch AI returns ranked, explained school recommendations drawn straight from Kiddy123's verified listing data, answers exact fact questions, compares schools side by side, and hands the parent into the existing enquiry form. English, Bahasa Malaysia and 中文. Around the clock.

Launch the interactive prototype Opens in a new tab · best on desktop
Scroll to read the proposal
Lead target
+30%
qualified enquiries from AI-assisted sessions
Accuracy target
≥90%
hard-fact accuracy — fees, ages, location, category
Languages
EN·BM·中文
auto-detected, switchable, 24/7
Delivery
5 wks
phased — discovery → build → live
What we're building

Four modules. One assistant parents trust.

Every module below is built and clickable in the interactive prototype. Each one is grounded in the same rule: hard facts come only from Kiddy123's database — the AI never invents a fee, an age range or a phone number.

Module 01 · AI School Finder

Describe the child. Get the shortlist.

One <script> tag places the launcher at the bottom-right of every kiddy123.com page. A parent types "affordable Montessori kindy in Cheras with a bus, my kid is 4" — and gets ranked schools with a "why it fits" for each, streamed token by token.

kiddy123.com / ai-school-finder
AI School Finder — widget with ranked recommendations
AI School Finder — prototype preview
Prototype preview — tap to enlarge

Illustrative prototype — shown for reference only. Final UI will be confirmed during the Pilot Build phase.

Hard facts, filtered exactly

Location, budget, age eligibility, category and facilities are deterministic SQL filters — a school outside the budget never appears.

Soft preferences, ranked semantically

Teaching philosophy, values and language environment are matched by vector similarity — the part that feels "smart".

"Why it fits", grounded

Claude explains each match using only retrieved listing fields, then guides the parent into a pre-filled enquiry.

Module 02 · Listing Context Mode

It knows which school you're viewing.

On a listing page the widget resolves "this school" without being told. Fees, opening hours, transport, class size, contact — answered exactly, from that listing's verified fields. If a field is missing, the assistant says so plainly and offers the enquiry route. It never guesses.

kiddy123.com / listing / tadika-epal-besar-kajang
Listing Context Mode — exact fact answers for Apple King
Listing Context Mode — prototype preview
Prototype preview — tap to enlarge

Illustrative prototype using real Kiddy123 listing data (Tadika Epal Besar, Sungai Chua).

Module 03 · Compare Schools

Side by side. Fact by fact.

"+ Compare" on any recommendation card or listing builds a dedicated comparison page — fees, ages, hours, class size, medium, transport, meals and contact in one view. A compare-scoped AI helper answers cross-school questions ("Which fits RM900?") and gives a verdict grounded only in the compared listings.

kiddy123.com / compare
Compare Schools — three schools side by side with AI helper
Compare Schools — prototype preview
Prototype preview — tap to enlarge

Illustrative prototype — shown for reference only. Final UI will be confirmed during the Pilot Build phase.

Module 04 · Admin & Analytics

Every conversation becomes insight.

Six admin pages: overview, conversation review with PII redaction, intent analytics, content-gap reports, guardrail controls and settings. Anonymised parent-intent data — what parents search for, where, and at what budget — becomes a new insight stream Kiddy123 can package for partner schools.

kiddymatch.kiddy123.com / admin
Admin dashboard — KPIs, lead chart, language split, activity
Admin dashboard — prototype preview
Prototype preview — tap to enlarge

Illustrative prototype — shown for reference only. Final UI will be confirmed during the Pilot Build phase.

System architecture

Grounded by design.

A hybrid engine: exact SQL for hard facts, vector re-ranking for soft preferences, Claude for grounded explanation. The service reads Kiddy123's listings with read-only credentials and writes only leads and anonymised analytics.

Parents · entry points
Embedded chat widget
one <script> tag on kiddy123.com — no stack change
Full-page AI School Finder
dedicated landing page for campaigns & SEO
KiddyMatch AI — Orchestration Service Python · FastAPI · streaming
Step 01
Intent & constraints
Claude Haiku 4.5
Step 02
Hard filter
exact SQL on listings
Step 03
Semantic re-rank
pgvector similarity
Step 04
Grounded explanation
Claude Sonnet 5 / Opus 4.8
Step 05
Guardrails
grounding · PII · injection defence
Redis
session state · response cache · rate limits
Knowledge base
PostgreSQL + pgvector — facts and vectors in one store
Lead hand-off
pre-filled enquiry → Kiddy123's existing form / CRM
Analytics & admin
anonymised intent store → dashboard (Module 04)
Data sync pipeline
Initial full load, then nightly incremental sync + webhook on listing update. Fees parsed to (min, max), ages and facility booleans normalised, stale-data guard on top.
read-only · Kiddy123 listings DB / API
Technology stack

A pragmatic, modern stack. No moonshots.

Widget & finder UI

  • · Lightweight embeddable JS widget — tiny bundle, zero change to the existing site stack
  • · React for the full-page AI School Finder
  • · Streaming responses, <1s widget load target

Orchestration API

  • · Python + FastAPI — clean tool-use orchestration
  • · Function-calling tools: search_schools, get_school_details, compare_schools
  • · Stateless, horizontally autoscaled

AI models — tiered for cost & quality

  • Intent Claude Haiku 4.5 — fast constraint extraction
  • Explain Claude Sonnet 5 / Opus 4.8 — grounded ranking, multilingual quality
  • Embed Voyage AI (managed) or self-hosted BGE

Data & memory

  • · PostgreSQL + pgvector — structured facts and vector search in one store
  • · Redis — sessions, caching, rate limiting
  • · Scheduled ETL + webhooks for freshness

Integrations

  • · Kiddy123 listings DB / API — read-only source
  • · Existing enquiry / lead system — write-back via API
  • · GA4 / internal analytics, optional SMTP notifications

Hosting & operations

  • · Codech-managed cloud recommended (documented path to in-house later)
  • · Request tracing, token & cost metering per conversation
  • · Model tiering, caching and per-session token budgets for cost control
Confirmed at Discovery (W1)
Data access method — replica / API / export Hosting option A / B / C LLM cost ownership & budget ceiling Assistant name & persona sign-off Listing volumes & concurrency sizing
Scope of work

Eight pillars. Honest boundaries.

What the engagement actually delivers, independent of which module carries it. Full feature IDs (F1.1–F6.5) are catalogued in the accompanying proposal document.

Conversational assistant

Embeddable widget + full-page finder. Streaming replies, suggestion chips, language auto-detect and switch across EN / BM / 中文.

Hybrid recommendation engine

Constraint extraction, exact SQL filtering, pgvector re-ranking and grounded "why it fits" — with graceful fallback when nothing matches every constraint.

Grounded fact Q&A — the trust layer

Exact answers on fees, hours, contact, transport and facilities for any named school — resolved from the page, the conversation or the name. ≥95% accuracy target, zero tolerance for invented facts, and a plain "I don't have that on file" when data is missing.

School comparison

"+ Compare" from cards and listings, a dedicated side-by-side page with full listing detail, and a compare-scoped AI helper with a grounded verdict.

Knowledge base & sync

Read-only ingestion, fee/age/facility normalisation, embedding generation, nightly + webhook freshness, and a data-quality report that flags incomplete listings.

Lead capture & PDPA

Warm hand-off into the existing enquiry form, pre-filled. Explicit PDPA consent before any personal data, lead write-back via API, human escalation route.

Guardrails & safety

Answer grounding with citations, output validation that blocks unsupported claims, prompt-injection defence, PII minimisation and on-topic scope control.

Admin & analytics

Conversation review, intent analytics, lead attribution, content-gap reports and guardrail tuning — no redeploy needed for prompt or ranking adjustments.

Not in this engagement

Honest boundaries.

Deferred items keep the pilot focused and the timeline honest. Anything below can be added by change request or scoped as a follow-on phase.

Phase 2 add-ons · scoped on request
  • WhatsApp channel — the same engine on WhatsApp Business API, where Kiddy123's schools already live
  • Voice and mobile-app channels
  • Multi-school enquiry in one step (optional feature, prioritised during pilot)
Out of scope · this engagement
  • Rebuilding or redesigning the existing Kiddy123 website or listing pages
  • Building a new CRM — we integrate with the existing enquiry / lead system
  • Creating or editing school listing content — the assistant consumes existing data
  • Paid-placement or ranking-manipulation logic — recommendations stay merit-based
  • Automated translation of listing content — replies are multilingual; source data is used as-is
Timeline & investment

Five phases. Five weeks.

A focused five-week sprint, phased so each stage proves the next: data in week one, the engine by week two, the four modules by week four — and a tuned, live assistant on kiddy123.com by the end of week five.

W1W2W3W4W5
Phase 01 · W1

Discovery & data integration

DB/API access confirmed, listing data profiled, sync pipeline designed, security review. The pending items from the proposal document are resolved in the first week.
Phase 02 · W2

PoC — core engine

Hybrid retrieval + ranking on real listing data, grounded explanations, internal demo against an agreed evaluation set.
Phase 03 · W3–W4

Pilot build

The four modules, feature-complete: widget + finder, context mode, comparison experience, multilingual coverage, lead hand-off with PDPA consent, guardrails, admin dashboard.
Phase 04 · W4–W5

Pilot launch & tuning

Limited-traffic launch, per-language evaluation, prompt and ranking tuning, accuracy hardening against the ≥90% / ≥95% targets.
Phase 05 · W5

Full rollout & handover

Site-wide rollout, runbook and architecture docs, admin training, 30-day post-launch support.
M1 · Data access confirmed — W1 M2 · Core engine demo — W2 M3 · Pilot feature-complete — W4 M4 · Live on kiddy123.com — W5 M5 · Handover complete — W5
Investment

Fixed fee, quoted after Discovery inputs.

A fixed-fee quotation follows once the pending items in the proposal document are confirmed with your team — the main drivers being the data access method, the hosting preference (Codech-managed cloud vs. Kiddy123 infrastructure) and LLM API cost ownership. Usage-based AI costs are passed through at cost, with model tiering, caching and token budgets keeping them predictable. No licence mark-ups.

Prepared by
Codech Solutions logo

Codech Solutions.

Thank you for the opportunity to scope KiddyMatch AI with Kiddy123. We're ready to start whenever you are — reach out through any of the channels on the right.

End of proposal.