Skip to main content

EdTech · Math Education

How Acceleo Matemática ships three AI surfaces on one Apps API

How Acceleo Matemática shipped a marketing assistant, live Jitsi classroom with in-session AI, and Curiosity starters - all on SundayPyjamas AI Suite.

Acceleo Matemática - student working on a tablet with stylus; brand mark and tagline

Acceleo Matemática is a Canadian Grade 6 live-math platform. They needed production AI across the public site, the live classroom, and a discovery hub for students - without standing up model infra, vector stores, or a custom LLM ops stack. SundayPyjamas AI Suite owns chat, threads, memory, and metering. 8x8 JaaS owns the video plane. Acceleo owns product UI, auth, lesson context, and quotas.

The real problem

Acceleo needed grounded, role-aware AI on three surfaces - public site, live classroom, and a student discovery hub - plus live video. Building models, memory, retrieval, streaming, and metering in-house would have delayed the first cohort by months.

What we built

We embedded SundayPyjamas Apps API across three surfaces: a streaming marketing assistant, a live-session teaching assistant with lesson and session context, and Curiosity - curated starters that open metered Suite threads with hidden Socratic briefs.

Acceleo kept ownership of auth, dashboards, Jitsi, credit policy (50 messages/day and 1,000/month for students by default; plan packs from 30 to 150 AI credits), and curriculum packaging (90+ lessons, 20+ homework questions, five modules per lesson).

What shipped on AI Suite

  • Marketing assistant with Support + Curiosity tabs and streaming chat
  • Live classroom sidebar AI with role + lesson-stage awareness
  • Curiosity hub: 10 cards, 5 categories, server-only hidden prompts
  • Thread mapping, credit windows, and optional curiosity app id
01Architecture

How AI Suite manages everything

One Apps API contract for marketing, classroom, and Curiosity - with a hard split between the AI plane and the A/V plane.

Acceleo never hosts models. Server routes call SundayPyjamas AI Suite with a base URL, API key, and app id. Threads and message history live in Suite memory; Acceleo stores only the mapping to Suite thread ids and each student's credit usage.

Live video is deliberately separate: session rooms use 8x8 JaaS JWTs from /api/sessions/[id]/jitsi-token. Teachers join as moderators; students join the same room UUID. The floating Jitsi panel sits beside the whiteboard and the AI sidebar - Suite never touches the media path.

Integration spine

  1. 01

    Configure base URL, API key, and app id - plus optional Curiosity / Support app overrides.

  2. 02

    Product surfaces post through Acceleo API routes with role, lessonContext, and sessionContext.

  3. 03

    Suite handles chat, streaming, thread persistence, and memory - Acceleo meters credit windows.

  4. 04

    Live sessions mint a JaaS JWT so video and AI run in parallel inside LiveSessionShell.

Apps API surfaces

Acceleo product routes call Suite for chat and memory. Jitsi stays on a separate token path.

01

Lesson-grounded chat

POST …/{appId}/chat/message

lessonContext + role → grounded reply

02

Marketing stream

POST …/chat/message/stream

Support or Curiosity tab → streamed answer

03

Thread memory

Suite threads + save-messages

local thread id ↔ Suite thread continuity

04

Live video (not Suite)

GET /api/sessions/{id}/jitsi-token

session UUID → 8x8 JaaS JWT room

Auth·Bearer AI_SUITE_API_KEYTenancy·workspace app id + optional curiosity app

AI plane vs A/V plane

Suite manages inference, threads, and metering. 8x8 JaaS manages live audio/video. Buyers get a clean boundary: AI platform for product intelligence, specialist A/V for classrooms.

02Public site

Website AI assistant

Streaming Support and Curiosity for parents evaluating the program - available on public marketing routes, quota-limited for anonymous visitors.

How it works

  1. 01

    Visitor lands on an eligible marketing path and opens the assistant panel.

  2. 02

    Choose Support (parent FAQs) or Curiosity (TA demos) with category chips.

  3. 03

    Card or freeform message streams to Suite (support vs curiosity app id).

  4. 04

    Quota middleware enforces LANDING_CURIOSITY_DAILY_LIMIT = 5 for anonymous curiosity.

The marketing assistant runs on seven public paths (home, features, pricing, about, program, AI assistant, register) and stays off dashboard and session routes. Parents open a side panel: Support cards answer enrollment and pricing questions; Curiosity cards demo how the teaching assistant guides Grade 6 math.

Chat streams through /api/marketing-assistant/chat/stream into Suite. Anonymous curiosity demos are capped at five per UTC day via a signed cookie quota - enough to show product quality without open-ended cost.

Acceleo Matemática marketing site with the AI assistant panel open
Expand screenshot
Acceleo assistant

Questions families often ask while exploring the program. Tap one to chat, or type your own below.

AllProgramEnrollmentLearning
Program

Do you only serve grade 6?

Current grade scope

Program

Live tutoring vs self-paced

What the week can look like

Enrollment

How do we get started?

Registration and onboarding

Learning

Who teaches the live sessions?

Teachers and structure

Ask about Acceleo Matemática…
New sessionHide topics
03In the classroom

Live classroom + in-session AI

90-minute live sessions with whiteboard, five lesson modules, floating Jitsi video, and a Suite-backed teaching assistant in the sidebar.

When a session is in progress or paused, teachers and students share /sessions/[sessionId]. LiveSessionShell loads a JaaS JWT, mounts a floating video panel (collapse to a pill, expand to fullscreen), and keeps the lesson modules and AI sidebar in the same shell.

Sidebar AI calls Suite with lessonContext (title, topics, objectives, current module) and sessionContext (live flag, elapsed time, participant count). Teacher and student modes differ in pedagogy - guide vs coach - without a second provider.

How it works

  1. 01

    Teacher starts session; students join via PIN into the same session UUID.

  2. 02

    GET /api/sessions/{id}/jitsi-token returns JWT; room = session id under 8x8.vc.

  3. 03

    Whiteboard + five modules run locally; floating Jitsi stays connected while collapsed.

  4. 04

    Sidebar messages hit /api/assistant with lesson + session context → Suite chat.

Whiteboard, modules, and live video

One composition for the class: lesson modules on the right, whiteboard in the center, and a floating Jitsi panel with teacher and student tiles (initials when cameras are off) - A/V stays on 8x8 while the shell stays Acceleo.

Teacher live session shell with whiteboard and floating video tiles showing teacher and student initials
Expand
Live shell with floating Jitsi participant tiles.

Lesson-grounded AI in the sidebar

The Assistant tab posts to Suite with lesson and session context. Teachers get guide-mode pedagogy; students get coach-mode - same Apps API, different role prompts.

In-session AI teaching assistant sidebar during a live class with video tiles
Expand
In-session AI beside live video.
04Discovery

Curiosity hub

Ten Grade 6 starter cards across five categories. One tap creates a Suite thread and auto-sends the first turn with server-only Socratic instructions.

Curiosity is the discovery layer on the student dashboard and a dedicated /curiosity route. Cards never ship hidden prompts to the browser - only curiosityCardId. The server resolves the short student line and long teacherInstructions, then posts to Suite.

Curiosity and the assistant are in active daily use, with session recordings covering multi-hour student journeys across classes, curiosity cards, and assistant threads.

How it works

  1. 01

    Student taps a card on dashboard hero or /curiosity.

  2. 02

    POST /api/assistant/threads with source=curiosity → navigate to thread?curiosityCardId=.

  3. 03

    Chat view auto POSTs /api/assistant/messages once; server allowlists the card id.

  4. 04

    Suite returns the first Socratic reply in the same TA workspace UI.

Ten starters, five categories

Real world, games, careers, nature, and art & tech. Cards show only student-facing titles - hidden Socratic briefs stay on the server.

Student Curiosity hub with category filters and topic cards
Expand
Curiosity hub with ten discovery cards.

One tap to a grounded thread

A card tap creates a Suite thread, navigates into the teaching assistant, and auto-sends the first turn with allowlisted instructions - same UX as freeform chat, metered on Acceleo credits.

Assistant thread auto-started from a Curiosity card
Expand
Auto-started Suite thread from a card tap.
05Results

Outcomes

API key to live student sessions in under four days. Teachers and students run AI-assisted lessons across marketing demos, live class, and Curiosity without Acceleo operating models or vector stores.

In the 90 days ending 23 Jul 2026, Acceleo PostHog recorded 2,124 site pageviews, 346 live-session pageviews, 113 assistant pageviews, and 33 Curiosity pageviews - with session recordings showing multi-hour journeys through classes, curiosity cards, and assistant threads on app.acceleomatematica.com.

Credit policy and plan packs (30 / 80 / 150 monthly AI credits) give Gabriel predictable unit economics while Suite absorbs infra variance.

We needed an AI teaching assistant that understood our lessons and roles - without building an ML platform. SundayPyjamas gave us marketing, classroom, and Curiosity on one API while we kept Jitsi for live class.
GTDr. Gabriel ToichoaFounder, Acceleo Matemática
What this enables

What this enables for EdTech on AI Suite

The Acceleo pattern - public assistant, in-product live AI, curated discovery starters - maps to other learning products:

01

Tutoring platforms

Role-aware assistants beside live or recorded sessions with lesson context.

02

Curriculum apps

Curiosity-style starters that open grounded threads without exposing system prompts.

03

Enrollment sites

Streaming marketing assistants with hard daily quotas and FAQ card packs.

Embedding AI across marketing and product?

Production proofs on your data - live in days, not months.