πŸŽ“

Language Classroom

Live WebRTC video lessons with Tailscale-secured P2P connections, integrated payments and the Kameleon Presenter β€” all in one application.

πŸ“Ή WebRTC video 🌐 Tailscale mesh πŸ’³ Stripe Β· Alipay Β· PayPal πŸ” Enrolment DB
πŸ‘©β€πŸ«
Teacher
● Live
πŸ§‘
Student A
● Connected
πŸ‘©
Student B
● Connected
πŸ§’
Student C
β—‹ Joining…
πŸ‘¦
Student D
● Connected

Live Video Lessons

πŸ“Ή

WebRTC peer-to-peer video

Low-latency video and audio via WebRTC β€” no central media server. The Chameleon signal server (chameleon_signal.py) handles SDP and ICE relay over WebSocket on port 8766. Runs on Termux on Android too.

πŸ”

Tailscale-secured connections

All peers connect through your Tailscale mesh β€” no public IP, no port forwarding. The IDE manages ACLs, device authorisation and auth key generation without leaving the app.

🎭

Integrated Kameleon Presenter

Teach with the full Kameleon stage during your lesson. Students can push answers, drawings and images directly to a Stage-mode stack β€” moderate and display in real time without switching apps.

πŸ—£οΈ

Pronunciation widget

Built-in pronunciation coaching widget (pronunciation_widget.py) with phoneme-level feedback β€” ideal for language teaching where precise articulation matters.

🌐

LAN video fallback

When Tailscale is unavailable, lan_video.py streams video over UDP (port 47732), audio over UDP (port 47733) and collaborative diffs over WebSocket (port 47731) β€” all on the local network.

Payments & Enrolment

Accept payment from students worldwide before granting lesson access

πŸ’³ Stripe (GBP primary)
🟦 Alipay (Chinese students)
πŸ…ΏοΈ PayPal (fallback)
πŸ“š

Course & enrolment DB

Courses and student enrolments stored in ~/.chameleon/courses.db. The AI can create courses, list enrolments, check payment status and revoke access β€” all via IDE commands.

πŸ’°

Multi-currency support

Stripe handles GBP payments from UK and international students. Alipay targets Chinese students paying in CNY. PayPal provides a universal fallback with broad country coverage.

πŸ“Έ

WeChat screenshot payments

For students without card access, accept WeChat Pay proof-of-payment screenshots. The AI reads the image, extracts the amount and reference, and logs the manual payment against the enrolment.

πŸ”—

Payment links

Generate Stripe-hosted payment links for any course. Share the link β€” student pays β€” enrolment is created automatically. No checkout page to build or host.

Payment Command Reference

AI CommandDescription
payment_create_courseCreate a new course with price, title and description
payment_linksGenerate Stripe payment link for a course
payment_statusCheck a student's payment and enrolment status
payment_enrolManually enrol a student (e.g. after cash payment)
payment_revokeRemove a student's enrolment access
payment_unpaidList all students with outstanding balances
payment_screenshotLog a WeChat Pay screenshot as proof of payment

Launch your online language school

Everything you need β€” video, slides, payments and enrolment β€” in a single desktop application.

Get in touch ← Back to overview