AI Coding Academy for Kids: A Real Course Catalog with Live Search
AI Games Academy turns 'learn to code with AI' into a real, browsable course catalog aimed at kids. Eight courses are live, each carrying complete, structured curriculum data rather than marketing fluff: session count, age range, difficulty level, a set of highlights, tags, a description, and presentation details like an icon and gradient. The line-up spans the games kids already love — 'Minecraft AI Builder' ($249, 8 sessions, age 8+, beginner), 'Roblox AI Game Studio' ($349, 10 sessions, age 10+), and an intermediate 'AI Chatbot' course for age 12+ — priced between $249 and $349. The catalog API returns deterministic JSON ready to render as a storefront grid, and the search endpoint performs genuine keyword matching over the catalog: a query for 'roblox' returns exactly the one Roblox course, while a query for 'python' correctly returns zero results because no course matches — proof that the filter is real logic, not a pass-through that echoes whatever you send it. The one honest gap: checkout URLs are currently empty strings, so the content is production-real but the commerce path is not yet wired.
Key Metrics
Catalog depth
Before
Landing-page promises with no structured curriculum
After
8 live courses, each with sessions, age range, difficulty, highlights, and tags — inspectable before purchase
Search behavior
Before
Decorative search that ignores the query
After
Real keyword matching — 'roblox' returns 1 course, 'python' returns 0 — verified genuine filtering
Pricing transparency
Before
N/A
After
Courses priced $249-$349 with the price exposed as structured catalog data
Commerce state
Before
Fake or dead checkout links
After
checkoutUrl left explicitly empty — honest 'content live, checkout pending' rather than a broken button
Watch the Walkthrough
The Challenge
The 'teach kids to code with AI' market is crowded with landing pages that promise courses but hide a thin reality: a hero image, a signup form, and no actual structured curriculum behind it. For a parent deciding where to spend $249-$349 and their child's time, that is a bad bet — they cannot see how many sessions a course runs, what age it targets, what difficulty it assumes, or what a child will actually build. And a storefront that lists courses but whose 'search' is decorative — returning the same results no matter what you type — erodes trust the moment a parent tests it. What is needed is a catalog where every course carries real, inspectable curriculum data and where search is genuine filtering logic that returns exactly what matches and nothing when nothing does.
Why This Approach?
Catalog data model
Structured per-course metadata — sessions, ageRange, difficulty, highlights[], tags[]
A parent's decision hinges on concrete facts: how many sessions, what age, what level, what the child builds. Modeling each course as structured fields (not prose) makes those facts inspectable, filterable, and renderable into a consistent storefront grid.
Alternatives considered: Free-text course descriptions, image-only cards, external CMS
Search implementation
Real substring/keyword matching over the catalog
A search that returns the same thing regardless of input is a trust liability. Implementing genuine matching — where 'roblox' returns exactly one course and 'python' returns zero — means the storefront behaves honestly under any query a parent tries.
Alternatives considered: Static featured list, client-side fuzzy match on a fixed array, decorative search box
Commerce wiring
Ship the real catalog now with checkout URLs left empty until commerce is connected
The content is production-real and worth exposing; the payment path is not yet built. Leaving checkoutUrl as an explicit empty string is the honest state — better than a link that leads nowhere and pretends to sell.
Alternatives considered: Fake checkout links, block launch until payments are live, redirect to a dead page
Build Process
Course catalog
Eight live courses served from GET /api/courses, each with full structured metadata: session count, age range, difficulty, highlights, tags, description, and presentation fields (icon, gradient, subtitle). The catalog spans the games kids gravitate to — Minecraft AI Builder, Roblox AI Game Studio, and an AI Chatbot course — priced $249-$349.
Real keyword search
GET /api/courses/search?q= performs genuine substring/keyword matching over the catalog. Verified: 'roblox' returns exactly the one Roblox course, and 'python' returns zero results with an empty courses array — the filter is real logic, not a pass-through echoing the query.
Storefront-ready delivery
Every response is deterministic JSON with a count and a fully-populated courses array, shaped to drive a storefront grid directly. A frontend renders each course as a card from the structured fields without any post-processing.
Honest commerce state
Checkout URLs are currently empty strings — the content and search are production-real, but the payment path is not yet wired. This is documented as the real state rather than masked with dead links, leaving a clear, small integration step before the catalog can transact.
Challenges & Solutions
Impact
Parents cannot see sessions, age fit, difficulty, or what a child will build — so a $249-$349 decision is made blind.
Solution
Every course modeled with structured curriculum data — sessions, ageRange, difficulty, highlights, tags — exposed via a clean catalog API.
Result
8 courses live with inspectable metadata (e.g., Minecraft AI Builder: $249, 8 sessions, age 8+, beginner) — real substance, not a landing page.
How AI Powers This
AI Capability
Structured Course Catalog
Browse 8 AI coding courses for kids with the facts that matter — sessions, age range, difficulty, and what your child will build — not just a title and a price
Business outcome
8 courses live ($249-$349) with full curriculum data — a parent can evaluate fit before buying
Under the hood
GET /api/courses -> deterministic JSON with count + courses[]; each course carries sessions, ageRange, difficulty, highlights[], tags[], description, and presentation fields
How success is measured: Metadata completeness per course, catalog render-readiness, price/age/difficulty accuracy
AI Capability
Genuine Catalog Search
Search actually works — type 'roblox' and get the Roblox course; type something not in the catalog and get an honest zero
Business outcome
Verified real filtering: 'roblox' -> 1 hit, 'python' -> 0 hits — not a decorative pass-through
Under the hood
GET /api/courses/search?q= runs real substring/keyword matching over the catalog and returns count + matching courses[]
How success is measured: Precision (correct hits), correct empty-set behavior on non-matches
AI Capability
Storefront-Ready JSON
The catalog drops straight into a shopping grid — every course renders as a card from clean, consistent data
Business outcome
A frontend renders the storefront directly from the API with no reshaping
Under the hood
deterministic JSON responses with a uniform course schema (icon, gradient, subtitle included) suitable for direct grid rendering
How success is measured: Response determinism, schema consistency across courses
Results & Metrics
Catalog depth
ImprovedBefore
Landing-page promises with no structured curriculum
After
8 live courses, each with sessions, age range, difficulty, highlights, and tags — inspectable before purchase
Search behavior
ImprovedBefore
Decorative search that ignores the query
After
Real keyword matching — 'roblox' returns 1 course, 'python' returns 0 — verified genuine filtering
Pricing transparency
ImprovedBefore
N/A
After
Courses priced $249-$349 with the price exposed as structured catalog data
Commerce state
ImprovedBefore
Fake or dead checkout links
After
checkoutUrl left explicitly empty — honest 'content live, checkout pending' rather than a broken button
System Overview
The architecture below is the technical foundation behind every business outcome on this page — built for reliability, low running cost, and the speed your customers feel.
A Rust catalog/storefront API serving 8 AI-for-kids coding courses. GET /api/courses returns deterministic JSON (count + courses[]) where each course carries structured curriculum data — session count, age range, difficulty, highlights[], tags[], description, and presentation fields (icon, gradient, subtitle). GET /api/courses/search?q= performs real substring/keyword matching over the catalog (verified: roblox -> 1, python -> 0). Responses are shaped for direct storefront-grid rendering. Commerce is not yet wired — checkoutUrl fields are empty strings, documented as the honest current state. No auth on the verified endpoints.Technologies Used
Rust, JSON catalog API, real keyword search, structured course schema