squaredcuber commited on
Commit
cdff22f
Β·
verified Β·
1 Parent(s): 4e18d84

ChalkTalk: talks-and-draws AI tutor (demo video + live link)

Browse files
Files changed (3) hide show
  1. README.md +29 -6
  2. app.py +19 -0
  3. requirements.txt +1 -0
README.md CHANGED
@@ -1,13 +1,36 @@
1
  ---
2
- title: Chalktalk
3
- emoji: 🐒
4
  colorFrom: indigo
5
- colorTo: red
6
  sdk: gradio
7
- sdk_version: 6.18.0
8
- python_version: '3.13'
9
  app_file: app.py
10
  pinned: false
 
11
  ---
12
 
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: ChalkTalk
3
+ emoji: πŸŽ“
4
  colorFrom: indigo
5
+ colorTo: purple
6
  sdk: gradio
 
 
7
  app_file: app.py
8
  pinned: false
9
+ short_description: An AI tutor that talks and draws, live.
10
  ---
11
 
12
+ # πŸŽ“ ChalkTalk
13
+
14
+ **The AI tutor that talks *and* draws β€” live, at the same time.**
15
+
16
+ You type a topic and a tutor explains it out loud while a whiteboard fills in beside it. Every labeled part lights up the exact moment the tutor says its name.
17
+
18
+ ## Watch the demo
19
+
20
+ <video controls src="https://huggingface.co/datasets/squaredcuber/chalktalk-demo/resolve/main/chalktalk-demo.mp4"></video>
21
+
22
+ Direct link: [https://huggingface.co/datasets/squaredcuber/chalktalk-demo/resolve/main/chalktalk-demo.mp4](https://huggingface.co/datasets/squaredcuber/chalktalk-demo/resolve/main/chalktalk-demo.mp4)
23
+
24
+ β–Ά **Live demo:** [https://belong-picking-platinum-represents.trycloudflare.com](https://belong-picking-platinum-represents.trycloudflare.com)
25
+
26
+ ## How it works
27
+
28
+ - **PersonaPlex** β€” a full-duplex, Moshi-architecture 7B speech model that listens and speaks at the same time, so you can interrupt and ask questions mid-explanation.
29
+ - **Nemotron SVG director** β€” an NVIDIA Nemotron model that draws a clean, labeled SVG diagram for each part of the lesson, streamed to a live whiteboard.
30
+ - **Synced reveal** β€” the tutor inner-monologue drives the board: each labeled element appears the instant its keyword is spoken, with synonym-aware matching so paraphrases still land.
31
+ - **Auto-progressing lessons** β€” it teaches one part deeply, then voice and visuals advance together, over one persistent connection.
32
+ - **Runs locally on a single GPU**, wrapped in a shader-animated Gradio app.
33
+
34
+ ## Credits
35
+
36
+ Built by **Codex**, with help from other coding agents using **GPT-5.5** when parallelization was needed.
app.py ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ VIDEO_URL = "https://huggingface.co/datasets/squaredcuber/chalktalk-demo/resolve/main/chalktalk-demo.mp4"
3
+ LIVE_DEMO = "https://belong-picking-platinum-represents.trycloudflare.com"
4
+ INTRO = """# πŸŽ“ ChalkTalk
5
+ ### The AI tutor that talks **and** draws β€” live.
6
+ Type a topic and a full-duplex voice tutor (**PersonaPlex**) teaches it out loud while an **NVIDIA Nemotron** director draws a labeled diagram on a whiteboard. Every part lights up the moment the tutor says its name.
7
+ """
8
+ HOW = """
9
+ **How it works** β€” PersonaPlex (Moshi-arch 7B) speaks and listens simultaneously; a small Nemotron SVG director draws each part; the inner-monologue text reveals each labeled element as its keyword is spoken (synonym-aware); lessons auto-progress with voice and visuals in sync. Runs locally on one GPU.
10
+
11
+ _Built by Codex, with help from other coding agents using GPT-5.5 when parallelization was needed._
12
+ """
13
+ with gr.Blocks(theme=gr.themes.Soft(primary_hue="indigo"), title="ChalkTalk") as demo:
14
+ gr.Markdown(INTRO)
15
+ gr.Video(VIDEO_URL, label="Demo β€” a real ChalkTalk session", autoplay=False)
16
+ gr.Markdown(f"### β–Ά Try the live demo: [{LIVE_DEMO}]({LIVE_DEMO})")
17
+ gr.Markdown(HOW)
18
+ if __name__ == "__main__":
19
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ gradio