plane-mode-scholar / docs /field-notes.md
PMS Sync
Deploy 000b308 (flattened for HF Spaces)
4577459
|
Raw
History Blame Contribute Delete
4.23 kB

A newer version of the Gradio SDK is available: 6.19.0

Upgrade

Field Notes — Plane Mode Scholar

Build Small Hackathon · Backyard AI · Nemotron Quest · June 2026

The real problem

A graduate student I know studies on long flights and in libraries with unreliable Wi-Fi. Generic PDF chatbots forget everything between sessions. What they actually need is a study session with memory: what they struggled with last time, what exam is coming up, and which explanation style works for them.

Plane Mode Scholar is built for that person — and now runs as an autonomous agent so they don't have to click through five tabs before learning starts.

Why Nemotron 3 Nano 30B-A3B

We switched from Qwen3.5-9B to nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8 — NVIDIA's latest open model under the 32B hackathon cap (released December 2025).

Property Why it matters for study coaching
MoE (~3B active / 30B total) Fits ZeroGPU while reasoning like a larger model
Agentic training blend Native tool-planning fits our monitor→plan→act loop
Configurable reasoning PMS_ENABLE_THINKING=false for fast explanations; enable for hard proofs
NVIDIA Nemotron Quest Explicit hackathon sponsor alignment

Fallback: nvidia/OpenReasoning-Nemotron-7B when VRAM is tight.

SwarmGrid UI + gr.Server

Judges asked for custom UI beyond default Gradio. We adopted the SwarmGrid dashboard pattern (GJB99/SwarmGrid):

  • Left: flight deck — one FLY button, home stats, recall banner
  • Center: streaming coach chat (optional input)
  • Right: live agent reasoning chain (PLAN → RETRIEVE → EXPLAIN → QUIZ)

Backend is gradio.Server — FastAPI + Gradio queue + ZeroGPU, with our own HTML/JS frontend. This targets Off-Brand and the Off-Brand Award.

Agentic flow (Best Agent)

The old UI required: pick pack → set goals → start session → type question → open quiz tab.

Now: tap FLY once. StudyAgent executes:

  1. ensure_pack — demo materials if empty
  2. start_session — recall due reviews + weak topics
  3. plan_next — SRS due > weak mastery > quiz
  4. explain_topic — grounded stream with [1] citations
  5. run_quiz — auto-generated check
  6. surface_memory — show what persisted

Users can still chat to steer, but they don't have to.

What surprised me

  1. Memory bloat is the real enemy, not forgetting. Typed schemas + promotion thresholds + decay beat bigger context windows.

  2. MoE changes the UX calculus. Nemotron Nano's active params are small enough for interactive streaming, but planning quality jumped vs 9B dense.

  3. Making the agent visible wins demos. SwarmGrid's reasoning chain translated directly — judges see PLAN and RETRIEVE, not a black box.

  4. llama.cpp completes the story. Same Nemotron weights via GGUF (scripts/start_llamacpp.sh) for true offline flight mode — Llama Champion + Off the Grid.

Architecture

[FLY button / WebSocket]
        │
        ▼
[ StudyAgent — plan_next → tool dispatch ]
        │
        ├─► MemoryRetriever (6 memories max)
        ├─► VectorStore chunks (5 max)
        ├─► Nemotron 3 Nano (transformers | llama.cpp)
        └─► MemoryWriter (promote misconceptions, SRS)
        │
        ▼
[ gr.Server SSE + /ws/agent_telemetry ]
        │
        ▼
[ SwarmGrid-style dashboard (index.html) ]

Badges claimed

See badges.md for full evidence table.

  • Off the Grid, Off-Brand, Llama Champion, Sharing is Caring, Field Notes
  • Best Agent + NVIDIA Nemotron Quest (awards)
  • Not claiming: Well-Tuned (no fine-tune in scope)

Models

Role Model Params
Chat / agent nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8 30B MoE (3B active)
Offline GGUF unsloth/Nemotron-3-Nano-30B-A3B-GGUF via llama.cpp
Fallback nvidia/OpenReasoning-Nemotron-7B 7B
Embeddings all-MiniLM-L6-v2 22M

What I'd do next

  • Publish plane-mode-scholar-traces dataset on Hugging Face Hub
  • Voice input for hands-free plane study
  • FSRS fine-tune for review intervals (Well-Tuned badge)