| --- |
| title: Plane Mode Scholar |
| emoji: ✈️ |
| colorFrom: blue |
| colorTo: indigo |
| sdk: gradio |
| app_file: app.py |
| pinned: false |
| license: mit |
| short_description: Fine-tuned Nemotron 4B study coach + MemoryAgent |
| suggested_hardware: l4x1 |
| startup_duration_timeout: 1h |
| models: |
| - GuusBouwensNL/plane-mode-nemotron-4b-study-coach |
| - nvidia/NVIDIA-Nemotron-3-Nano-4B-GGUF |
| preload_from_hub: |
| - nvidia/NVIDIA-Nemotron-3-Nano-4B-GGUF NVIDIA-Nemotron3-Nano-4B-Q4_K_M.gguf |
| - GuusBouwensNL/plane-mode-study-coach-lora-gguf plane-mode-study-coach-lora.gguf |
| tags: |
| - Backyard AI |
| - Off-Brand |
| - Sharing is Caring |
| - Field Notes |
| - Best Agent |
| - Off the Grid |
| - Well-Tuned |
| - track:backyard |
| - sponsor:nvidia |
| - achievement:offgrid |
| - achievement:welltuned |
| - achievement:offbrand |
| - achievement:llama |
| - achievement:sharing |
| - achievement:fieldnotes |
| --- |
| |
| # Plane Mode Scholar |
|
|
| Build Small Hackathon entry — Backyard AI track, Nemotron Quest. |
|
|
| I built this for a grad student who studies on planes and in libraries where Wi-Fi drops constantly. Most study apps forget everything between sessions. This one remembers what you got wrong, what exam is coming up, and how you like things explained. |
|
|
| Hit **FLY** once. The agent packs your materials, pulls up due reviews, explains a topic with citations from your notes, and runs a quiz. No tab-hopping. |
|
|
| The coach is a fine-tuned [Nemotron 3 Nano 4B](https://huggingface.co/GuusBouwensNL/plane-mode-nemotron-4b-study-coach) — SFT on real study conversations. UI is custom HTML on `gr.Server`, loosely based on my [SwarmGrid](https://github.com/GJB99/SwarmGrid) project. |
|
|
| ## Demo |
|
|
|  |
|
|
| One tap FLY, then watch it plan → retrieve → explain → quiz. Runs offline with llama.cpp if you need that. |
|
|
| | | | |
| |---|---| |
| | Space | https://huggingface.co/spaces/build-small-hackathon/plane-mode-scholar | |
| | Demo MP4 | https://github.com/GJB99/plane-mode-scholar/raw/demo-v1/docs/demo/plane-mode-scholar-demo.mp4 | |
| | Social post | https://x.com/GuusBouwens/status/2066670913467400284 | |
| | Field notes | [docs/field-notes.md](docs/field-notes.md) | |
| | Badge writeup | [docs/badges.md](docs/badges.md) | |
| | Trace dataset | [docs/agent-traces-dataset.jsonl](docs/agent-traces-dataset.jsonl) | |
|
|
| ## Badges |
|
|
| | Badge | What we did | |
| |-------|-------------| |
| | Well-Tuned | LoRA SFT on Nemotron 4B → [plane-mode-nemotron-4b-study-coach](https://huggingface.co/GuusBouwensNL/plane-mode-nemotron-4b-study-coach) | |
| | Off the Grid | Local inference via llama.cpp GGUF — no cloud LLM calls | |
| | Off-Brand | Custom dashboard, not default Gradio tabs | |
| | Llama Champion | `./scripts/start_llamacpp.sh` runs the fine-tune through llama-server | |
| | Sharing is Caring | Open agent traces + `/export_trace` endpoint | |
| | Field Notes | [docs/field-notes.md](docs/field-notes.md) — what broke, what surprised me | |
| | Best Agent | `StudyAgent` does monitor → plan → act without user clicking through steps | |
| | Nemotron Quest | Nemotron 3 Nano family throughout (4B coach, 30B MoE fallback) | |
|
|
| Fine-tune details: [docs/finetune.md](docs/finetune.md). Colab notebook in `notebooks/`. |
|
|
| ## Try it locally |
|
|
| ```bash |
| pip install -r requirements.txt |
| export HF_TOKEN=your_token |
| python app.py |
| ``` |
|
|
| Open `http://localhost:7860`. |
|
|
| Fully offline path — download the GGUF, start llama-server with the LoRA, point the app at it: |
|
|
| ```bash |
| ./scripts/setup_llamacpp_stack.sh # first time only |
| ./scripts/start_llamacpp.sh # terminal 1 |
| PMS_INFERENCE_BACKEND=llamacpp python app.py # terminal 2 |
| ``` |
|
|
| ## Models |
|
|
| | Role | Model | |
| |------|-------| |
| | Coach (default) | `GuusBouwensNL/plane-mode-nemotron-4b-study-coach` | |
| | Base | `nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16` | |
| | Heavy fallback | `nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-FP8` | |
| | Offline GGUF | `nvidia/NVIDIA-Nemotron-3-Nano-4B-GGUF` | |
| | Embeddings | `sentence-transformers/all-MiniLM-L6-v2` | |
|
|
| Repo: [github.com/GJB99/plane-mode-scholar](https://github.com/GJB99/plane-mode-scholar) |
|
|
| MIT |
|
|