| # Hackathon Badge Claims — Plane Mode Scholar |
|
|
| **Build Small Hackathon · Backyard AI · June 2026** |
|
|
| ## Badge stack (all merit badges) |
|
|
| | Badge | How we earn it | |
| |-------|----------------| |
| | **Well-Tuned** | LoRA SFT published: [GuusBouwensNL/plane-mode-nemotron-4b-study-coach](https://huggingface.co/GuusBouwensNL/plane-mode-nemotron-4b-study-coach) | |
| | **Llama Champion** | Fine-tuned model runs via `llama.cpp` (`./scripts/start_llamacpp.sh` + `--lora`) | |
| | **Off the Grid** | No cloud LLM APIs when `PMS_INFERENCE_BACKEND=llamacpp` — local `llama-server` only | |
| | **Off-Brand** | Custom `gr.Server` UI — `plane_mode_scholar/gradio_ui/static/index.html` | |
| | **Sharing is Caring** | Open traces: `docs/agent-traces-dataset.jsonl` + `/export_trace` | |
| | **Field Notes** | [docs/field-notes.md](field-notes.md) | |
|
|
| ### Full local stack (demo video path) |
|
|
| ```bash |
| # 1. Convert HF LoRA → GGUF LoRA (uses llama.cpp convert_lora_to_gguf.py) |
| python scripts/export_lora_gguf.py |
| |
| # 2. Start llama-server: Nemotron 4B Q4_K_M + your study-coach LoRA |
| ./scripts/start_llamacpp.sh |
| |
| # 3. App (second terminal) |
| PMS_INFERENCE_BACKEND=llamacpp python app.py |
| ``` |
|
|
| Health check should show `"inference_backend": "llamacpp"` and `"lora_applied": true`. |
|
|
| ### HF Space (public demo) |
|
|
| **Gradio SDK (default):** ZeroGPU + PEFT transformers — Well-Tuned badge on the public Space. |
|
|
| **Docker SDK (optional):** Embedded `llama-cpp-python` with GGUF + LoRA — all three local badges on Space. See [docs/space-llamacpp.md](space-llamacpp.md). |
|
|
| **Browser WebGPU:** [Llamas on the Web](https://reeselevine.github.io/llamas-on-the-web/) proves llama.cpp in the browser; LoRA in wllama is still roadmap — use merged GGUF or screen-record the local `llama-server` flow for judge demo. |
|
|
| ## Evidence table |
|
|
| | Badge | Status | Evidence | |
| |-------|--------|----------| |
| | **Off the Grid** | ✅ | `PMS_INFERENCE_BACKEND=llamacpp` → local `llama-server`, no OpenAI/Anthropic APIs | |
| | **Off-Brand** | ✅ | Custom `gradio.Server` frontend inspired by [SwarmGrid](https://github.com/GJB99/SwarmGrid) | |
| | **Llama Champion** | ✅ | `scripts/start_llamacpp.sh`, `scripts/export_lora_gguf.py`, `core/llm_llamacpp.py` | |
| | **Sharing is Caring** | ✅ | `docs/agent-traces-dataset.jsonl` + `/export_trace` | |
| | **Field Notes** | ✅ | [docs/field-notes.md](field-notes.md) | |
| | **Well-Tuned** | ✅ | [GuusBouwensNL/plane-mode-nemotron-4b-study-coach](https://huggingface.co/GuusBouwensNL/plane-mode-nemotron-4b-study-coach) | |
| | **Best Agent** (award) | ✅ | `StudyAgent` monitor→plan→act — **FLY** button | |
| | **Nemotron Quest** | ✅ | Nemotron 3 Nano 4B (fine-tuned) + 30B fallback | |
|
|
| ## Quick verification |
|
|
| ```bash |
| curl -s localhost:7860/api/health | python3 -m json.tool |
| python scripts/export_lora_gguf.py --dry-run |
| python scripts/verify_finetuned_model.py |
| ``` |
|
|
| ## UI modes |
|
|
| | Mode | Env | Use case | |
| |------|-----|----------| |
| | **Server (default)** | `PMS_SERVER_UI=true` | Hackathon demo — SwarmGrid-style dashboard | |
| | **Blocks (legacy)** | `PMS_USE_BLOCKS=true` | Full multi-tab feature surface | |
| | **llama.cpp** | `PMS_INFERENCE_BACKEND=llamacpp` | Badge stack: Well-Tuned + Llama Champion + Off the Grid | |
|
|