Spaces:
Running on Zero
Running on Zero
Commit ·
716d533
1
Parent(s): dfd60a2
docs: sync submission materials
Browse filesCo-authored-by: Codex <codex@openai.com>
- README.md +19 -6
- docs/article.md +26 -82
README.md
CHANGED
|
@@ -61,6 +61,7 @@ of a continuously refreshed project atlas, and every advisor response is grounde
|
|
| 61 |
- Source code (GitHub): <https://github.com/JacobLinCool/hackathon-advisor>
|
| 62 |
- Demo video: <https://youtu.be/Gq-FUiL-ZPw>
|
| 63 |
- Social post: <https://x.com/JacobLinCool/status/2066156056724848965>
|
|
|
|
| 64 |
- Submission notes: [`docs/submission-notes.md`](docs/submission-notes.md)
|
| 65 |
- Start at the Idea Map, search for a theme, click nearby projects, hover quest badges for evidence, and open the
|
| 66 |
advisor when you are ready to test an idea.
|
|
@@ -92,11 +93,16 @@ Hackathon Advisor is submitted primarily for the **Thousand Token Wood** track.
|
|
| 92 |
its core form is an AI-native field guide: a living map, an almanac voice, quest evidence, and shareable artifacts that
|
| 93 |
make the hackathon field itself explorable.
|
| 94 |
|
|
|
|
|
|
|
| 95 |
The Space is also targeting the official sponsor and achievement tags shown in the README front matter:
|
| 96 |
|
| 97 |
- `sponsor:openbmb`: MiniCPM5-1B is the central planner and quest-classifier base model.
|
| 98 |
-
- `sponsor:openai`: Codex
|
| 99 |
-
|
|
|
|
|
|
|
|
|
|
| 100 |
- `sponsor:nvidia`: voice input runs `nvidia/nemotron-speech-streaming-en-0.6b` through NVIDIA NeMo ASR.
|
| 101 |
- `sponsor:modal`: Modal is used for development compute, including the quest LoRA training path and remote index-build
|
| 102 |
path, and is documented in this README.
|
|
@@ -173,9 +179,15 @@ MiniCPM is loaded following the official demo shape (`trust_remote_code=True`, `
|
|
| 173 |
[Codex](https://developers.openai.com/codex) served as the engineering partner for the project. It helped translate the
|
| 174 |
hackathon requirements into implementation slices, inspect the existing codebase, build the atlas refresh/storage/cache
|
| 175 |
path, add the dashboard search and quest-evidence UI, run local tests and browser checks, review deployed Space behavior,
|
| 176 |
-
prepare commits and deployment updates, and revise the README into a submission narrative.
|
| 177 |
-
|
| 178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
The redacted session-level Codex traces are published as a Hugging Face dataset at
|
| 181 |
[`build-small-hackathon/hackathon-advisor-codex-traces`](https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces).
|
|
@@ -197,8 +209,9 @@ sponsor awards and the six bonus-quest badges.
|
|
| 197 |
| Sharing is Caring | Real Codex session logs for this project are published on the Hub at [`build-small-hackathon/hackathon-advisor-codex-traces`](https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces); the publisher selects project-relevant sessions, minimizes internal metadata, applies [`openai/privacy-filter`](https://huggingface.co/openai/privacy-filter), and records source hashes for audit. |
|
| 198 |
| Field Notes | A build report on the quest-classifier fine-tune is published at [`docs/quest-classification-lora.md`](docs/quest-classification-lora.md), and the app exports session Field Notes as markdown. |
|
| 199 |
| Tiny Titan | The largest single model is MiniCPM5-1B at ~1.08B — well under the 4B Tiny Titan ceiling; the full runtime stack totals ≈1.98B, far under the 32B cap. |
|
|
|
|
| 200 |
| OpenBMB | MiniCPM5-1B is the central language model for both tool planning and quest classification. |
|
| 201 |
-
| OpenAI Codex | Codex
|
| 202 |
| NVIDIA Nemotron | Voice input runs `nvidia/nemotron-speech-streaming-en-0.6b` through NVIDIA NeMo. |
|
| 203 |
| Modal | Modal trains the quest-classifier LoRA (`scripts/modal_train_quest_lora.py`), and a Modal remote index-build path is provided; the index shipped in this repo was built locally. |
|
| 204 |
| Best Agent | Each turn MiniCPM5 selects one tool; the engine then orchestrates the search → whitespace → score → plan chain over the live project field. |
|
|
|
|
| 61 |
- Source code (GitHub): <https://github.com/JacobLinCool/hackathon-advisor>
|
| 62 |
- Demo video: <https://youtu.be/Gq-FUiL-ZPw>
|
| 63 |
- Social post: <https://x.com/JacobLinCool/status/2066156056724848965>
|
| 64 |
+
- Team HF username: [`JacobLinCool`](https://huggingface.co/JacobLinCool)
|
| 65 |
- Submission notes: [`docs/submission-notes.md`](docs/submission-notes.md)
|
| 66 |
- Start at the Idea Map, search for a theme, click nearby projects, hover quest badges for evidence, and open the
|
| 67 |
advisor when you are ready to test an idea.
|
|
|
|
| 93 |
its core form is an AI-native field guide: a living map, an almanac voice, quest evidence, and shareable artifacts that
|
| 94 |
make the hackathon field itself explorable.
|
| 95 |
|
| 96 |
+
The demo video is part of that submission evidence. It is built from real app footage of the atlas and advisor flows. Codex helped draft the storyboard, drive the app, capture the screen, generate voice-over, compose the cut, and verify frames and ASR transcripts against the intended narration.
|
| 97 |
+
|
| 98 |
The Space is also targeting the official sponsor and achievement tags shown in the README front matter:
|
| 99 |
|
| 100 |
- `sponsor:openbmb`: MiniCPM5-1B is the central planner and quest-classifier base model.
|
| 101 |
+
- `sponsor:openai`: Codex served as the engineering partner across the build. It helped translate the hackathon
|
| 102 |
+
requirements into implementation slices, inspect and revise the repository, implement the atlas
|
| 103 |
+
refresh/storage/search paths, add the quest-evidence UI, run tests and browser checks, review deployed Space behavior,
|
| 104 |
+
prepare commits and deployment updates, produce the demo storyboard/app-footage/voice-over checks, and refine the
|
| 105 |
+
README narrative. The redacted project-facing Codex session traces are published as a Hugging Face dataset.
|
| 106 |
- `sponsor:nvidia`: voice input runs `nvidia/nemotron-speech-streaming-en-0.6b` through NVIDIA NeMo ASR.
|
| 107 |
- `sponsor:modal`: Modal is used for development compute, including the quest LoRA training path and remote index-build
|
| 108 |
path, and is documented in this README.
|
|
|
|
| 179 |
[Codex](https://developers.openai.com/codex) served as the engineering partner for the project. It helped translate the
|
| 180 |
hackathon requirements into implementation slices, inspect the existing codebase, build the atlas refresh/storage/cache
|
| 181 |
path, add the dashboard search and quest-evidence UI, run local tests and browser checks, review deployed Space behavior,
|
| 182 |
+
prepare commits and deployment updates, and revise the README into a submission narrative. This was an evidence loop:
|
| 183 |
+
Codex could read the repository, operate the local or deployed app, inspect the result, and then revise the
|
| 184 |
+
implementation or presentation from what it observed. The live app runtime uses the models and data listed above; Codex
|
| 185 |
+
appears in the development record as the assistant that helped design, implement, validate, and document the system.
|
| 186 |
+
|
| 187 |
+
The demo video used the same agentic workflow. Codex helped draft the narrated storyboard, drive the live app, capture
|
| 188 |
+
real screen footage, generate voice-over, compose the final video, and check the artifact by reading frames and ASR
|
| 189 |
+
transcripts. That media workflow ran outside Hackathon Advisor's submitted runtime and is not counted in the model
|
| 190 |
+
budget, but it documents how Codex was used to produce and verify submission materials rather than only code changes.
|
| 191 |
|
| 192 |
The redacted session-level Codex traces are published as a Hugging Face dataset at
|
| 193 |
[`build-small-hackathon/hackathon-advisor-codex-traces`](https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces).
|
|
|
|
| 209 |
| Sharing is Caring | Real Codex session logs for this project are published on the Hub at [`build-small-hackathon/hackathon-advisor-codex-traces`](https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces); the publisher selects project-relevant sessions, minimizes internal metadata, applies [`openai/privacy-filter`](https://huggingface.co/openai/privacy-filter), and records source hashes for audit. |
|
| 210 |
| Field Notes | A build report on the quest-classifier fine-tune is published at [`docs/quest-classification-lora.md`](docs/quest-classification-lora.md), and the app exports session Field Notes as markdown. |
|
| 211 |
| Tiny Titan | The largest single model is MiniCPM5-1B at ~1.08B — well under the 4B Tiny Titan ceiling; the full runtime stack totals ≈1.98B, far under the 32B cap. |
|
| 212 |
+
| Best Demo | The YouTube demo and public X post are linked from this README, and a backup MP4 is committed at [`static/assets/hackathon-advisor-demo.mp4`](static/assets/hackathon-advisor-demo.mp4). The video uses real app footage and a Codex-assisted production loop for storyboard, app driving, screen capture, voice-over generation, final composition, and frame/ASR verification. |
|
| 213 |
| OpenBMB | MiniCPM5-1B is the central language model for both tool planning and quest classification. |
|
| 214 |
+
| OpenAI Codex | Codex acted as an engineering partner across implementation, debugging, documentation, deployment review, demo production, and submission preparation. The public GitHub and Space histories use `Co-authored-by: Codex <codex@openai.com>` trailers, and selected project-facing session traces are published after minimization and privacy-filter redaction. |
|
| 215 |
| NVIDIA Nemotron | Voice input runs `nvidia/nemotron-speech-streaming-en-0.6b` through NVIDIA NeMo. |
|
| 216 |
| Modal | Modal trains the quest-classifier LoRA (`scripts/modal_train_quest_lora.py`), and a Modal remote index-build path is provided; the index shipped in this repo was built locally. |
|
| 217 |
| Best Agent | Each turn MiniCPM5 selects one tool; the engine then orchestrates the search → whitespace → score → plan chain over the live project field. |
|
docs/article.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
# Hackathon Advisor: A Living Field Guide for
|
| 2 |
|
| 3 |
Watch the demo video: <https://youtu.be/Gq-FUiL-ZPw>
|
| 4 |
|
|
@@ -8,115 +8,59 @@ Space: <https://huggingface.co/spaces/build-small-hackathon/hackathon-advisor>
|
|
| 8 |
|
| 9 |
## Overview
|
| 10 |
|
| 11 |
-
Hackathon Advisor is a live atlas of the Build Small Hackathon and a small-model originality coach for builders. It
|
| 12 |
-
turns the public `build-small-hackathon` organization into an evidence surface: every public Space contributes to a map
|
| 13 |
-
of the field, a searchable project index, quest-evidence summaries, and an advisor that helps a builder test where a new
|
| 14 |
-
idea may still have room to grow.
|
| 15 |
|
| 16 |
-
The project addresses a practical problem in compressed creative work. During a hackathon, builders need to understand
|
| 17 |
-
the surrounding field quickly. They need to know which ideas are crowded, which themes are emerging, which quests a
|
| 18 |
-
project might satisfy, and how a proposal can become more specific before time runs out. Hackathon Advisor makes those
|
| 19 |
-
questions answerable from the public work already being built around them.
|
| 20 |
|
| 21 |
-
The motivation starts with the data itself. Build Small already produces a ready-made corpus: public Spaces, READMEs,
|
| 22 |
-
model declarations, app files, tags, and demos. That corpus invites exploration. Once it is made searchable and
|
| 23 |
-
comparable, participants can see what others are building, which methods they are using, and what kinds of results are
|
| 24 |
-
emerging across the community.
|
| 25 |
|
| 26 |
## Contribution
|
| 27 |
|
| 28 |
-
The central claim of the project is simple: originality improves when builders can see the field they are entering. The
|
| 29 |
-
app presents that field first. A full-screen Idea Map places projects by embedding similarity, draws nearest-neighbor
|
| 30 |
-
links, and exposes clusters that would be difficult to infer from a feed of individual Spaces. Search and filters make
|
| 31 |
-
the same evidence usable for targeted questions, such as "voice assistants", "local-first", or "quest classifier".
|
| 32 |
|
| 33 |
-
This kind of visibility gives an online hackathon some of the generative character of OpenAI's Parameter Golf challenge:
|
| 34 |
-
the event becomes more than a submission queue. It becomes a shared surface where participants can discover adjacent
|
| 35 |
-
work, recognize partial overlap, borrow useful patterns, and extend ideas into new domains. A project similar to one's
|
| 36 |
-
own can become evidence of a nearby direction; a project in another domain can suggest a feature, interface, or
|
| 37 |
-
evaluation strategy that would otherwise remain invisible.
|
| 38 |
|
| 39 |
-
The advisor, called The Unwritten Almanac, uses the same project snapshot to compare a proposed idea against nearby
|
| 40 |
-
work. It cites overlapping projects, identifies whitespace, scores the idea with a deterministic rubric, and drafts a
|
| 41 |
-
build plan. The output is meant to be useful before implementation begins: it helps a builder sharpen the audience,
|
| 42 |
-
choose a tractable scope, and reduce accidental duplication.
|
| 43 |
|
| 44 |
-
The broader value is collective intelligence. When participants can find related work quickly, similar teams can learn
|
| 45 |
-
from each other's approaches and the community can combine ideas while the event is still unfolding. The atlas helps
|
| 46 |
-
good ideas become easier to find, easier to extend, and easier to improve.
|
| 47 |
|
| 48 |
## User Experience
|
| 49 |
|
| 50 |
-
The experience begins with exploration. A builder can search the atlas, inspect a cluster, open a project card, and see
|
| 51 |
-
the evidence behind detected quest matches. The map is intentionally the first surface because it gives the advisor's
|
| 52 |
-
later recommendations visible context.
|
| 53 |
|
| 54 |
-
When the builder opens The Unwritten Almanac, the app shifts from field reading to idea development. The workspace keeps
|
| 55 |
-
an idea board, profile constraints, score seals, whitespace candidates, and export actions in one place. A session can
|
| 56 |
-
produce field notes, an Almanac chapter, a shareable PNG, a demo bundle, and LoRA training materials. These artifacts
|
| 57 |
-
become reusable records for review and submission.
|
| 58 |
|
| 59 |
-
The "Ask the atlas" drawer adds a second mode of interaction. It lets a builder ask structured questions about the
|
| 60 |
-
current dashboard. Verified repository results appear before the model-written answer, and map actions can highlight or
|
| 61 |
-
filter projects directly. The model's prose is grounded in a compact digest of the verified result.
|
| 62 |
|
| 63 |
## Technical Design
|
| 64 |
|
| 65 |
-
Hackathon Advisor is deployed as a Gradio `gradio.Server`, a FastAPI application with Gradio API endpoints. The visible
|
| 66 |
-
interface is a custom HTML, CSS, and JavaScript frontend served from `static/`; the engine in `hackathon_advisor/`
|
| 67 |
-
remains UI-agnostic.
|
| 68 |
|
| 69 |
The runtime model stack is open-weight and local to the Space:
|
| 70 |
|
| 71 |
-
- Advisor planning: `openbmb/MiniCPM5-1B` with
|
| 72 |
-
- Quest classification: official Space metadata first, then `openbmb/MiniCPM5-1B` with
|
| 73 |
-
|
| 74 |
-
-
|
| 75 |
-
- Voice input: `nvidia/nemotron-speech-streaming-en-0.6b` through NVIDIA NeMo ASR.
|
| 76 |
|
| 77 |
-
The advisor gives the 1B model a narrow, inspectable role. MiniCPM selects one advisor action per turn; Python then
|
| 78 |
-
carries out the deterministic sequence over search, whitespace discovery, scoring, planning, profile constraints, and
|
| 79 |
-
exports. This design keeps the user-facing response tied to retrieved evidence while preserving the small-model
|
| 80 |
-
discipline of the hackathon.
|
| 81 |
|
| 82 |
-
The atlas refresh method crawls public Spaces in the hackathon organization, reads each README and declared app file,
|
| 83 |
-
builds a llama.cpp embedding index, resolves official `track:*`, `sponsor:*`, and `achievement:*` tags before invoking
|
| 84 |
-
the quest LoRA for remaining evidence, validates the dashboard payload, and atomically swaps the new snapshot into the
|
| 85 |
-
mounted Space cache. The last validated atlas remains available when a refresh fails, and many inspection routes remain
|
| 86 |
-
usable while heavier models are unloaded.
|
| 87 |
|
| 88 |
## Validation Challenges
|
| 89 |
|
| 90 |
-
The main engineering challenge was trust. A map is useful only when builders and judges can understand where its signals
|
| 91 |
-
come from. The refresh process therefore preserves project metadata, README evidence, app-file evidence, embedding
|
| 92 |
-
provenance, quest-analysis outputs, and manifest data for each validated snapshot.
|
| 93 |
|
| 94 |
-
Quest classification required additional care. Early prompt-only runs could rename quests, emit explanatory prose, or
|
| 95 |
-
misread local-inference criteria. The final classifier is a supervised MiniCPM LoRA trained on real public Spaces, with
|
| 96 |
-
a strict JSON schema and invariant checks behind every refresh. The write-up in
|
| 97 |
-
[`docs/quest-classification-lora.md`](docs/quest-classification-lora.md) describes the dataset and validation path.
|
| 98 |
|
| 99 |
-
The runtime also had to separate MiniCPM's PyTorch stack from llama.cpp on systems where OpenMP runtimes conflict. Query
|
| 100 |
-
embedding on macOS runs in a worker subprocess, and dashboard refresh builds the GGUF index in a subprocess before
|
| 101 |
-
returning to MiniCPM quest analysis.
|
| 102 |
|
| 103 |
-
## Codex Development
|
| 104 |
|
| 105 |
-
Codex acted as an engineering collaborator throughout the build. It helped inspect the codebase, turn requirements into
|
| 106 |
-
implementation slices, add the dashboard storage and search paths, build the quest-evidence UI, run tests, review
|
| 107 |
-
deployed Space behavior, prepare the demo materials, and refine the submission documents.
|
| 108 |
|
| 109 |
-
The
|
| 110 |
-
and redacted Codex session traces are published at
|
| 111 |
-
<https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces>.
|
| 112 |
|
| 113 |
-
|
| 114 |
|
| 115 |
-
|
| 116 |
-
under 4B parameters, the full stack is far below the 32B cap, and inference runs from open weights inside the Space
|
| 117 |
-
process. MiniCPM is central to the advisor and quest classifier, llama.cpp powers retrieval, Nemotron supports voice
|
| 118 |
-
input, Modal supports development compute, and Codex is part of the documented build record.
|
| 119 |
-
|
| 120 |
-
The project is submitted for Thousand Token Wood because it makes the hackathon field navigable as an AI-native
|
| 121 |
-
landscape. The atlas, Almanac, quest evidence, and exports give builders a way to see the surrounding work and produce a
|
| 122 |
-
more deliberate idea from that evidence.
|
|
|
|
| 1 |
+
# Hackathon Advisor: A Living Field Guide for Hackathon Builders
|
| 2 |
|
| 3 |
Watch the demo video: <https://youtu.be/Gq-FUiL-ZPw>
|
| 4 |
|
|
|
|
| 8 |
|
| 9 |
## Overview
|
| 10 |
|
| 11 |
+
Hackathon Advisor is a live atlas of the Build Small Hackathon and a small-model originality coach for builders. It turns the public `build-small-hackathon` organization into an evidence surface: every public Space contributes to a map of the field, a searchable project index, quest-evidence summaries, and an advisor that helps a builder test where a new idea may still have room to grow.
|
|
|
|
|
|
|
|
|
|
| 12 |
|
| 13 |
+
The project addresses a practical problem in compressed creative work. During a hackathon, builders need to understand the surrounding field quickly. They need to know which ideas are crowded, which themes are emerging, which quests a project might satisfy, and how a proposal can become more specific before time runs out. Hackathon Advisor makes those questions answerable from the public work already being built around them.
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
+
The motivation starts with the data itself. Build Small already produces a ready-made corpus: public Spaces, READMEs, model declarations, app files, tags, and demos. That corpus invites exploration. Once it is made searchable and comparable, participants can see what others are building, which methods they are using, and what kinds of results are emerging across the community.
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
## Contribution
|
| 18 |
|
| 19 |
+
The central claim of the project is simple: originality improves when builders can see the field they are entering. The app presents that field first. A full-screen Idea Map places projects by embedding similarity, draws nearest-neighbor links, and exposes clusters that would be difficult to infer from a feed of individual Spaces. Search and filters make the same evidence usable for targeted questions, such as "voice assistants", "local-first", or "quest classifier".
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
+
This kind of visibility gives an online hackathon some of the generative character of OpenAI's [Parameter Golf](https://github.com/openai/parameter-golf) challenge: the event becomes more than a submission queue. It becomes a shared surface where participants can discover adjacent work, recognize partial overlap, borrow useful patterns, and extend ideas into new domains. A project similar to one's own can become evidence of a nearby direction; a project in another domain can suggest a feature, interface, or evaluation strategy that would otherwise remain invisible.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
+
The advisor, called The Unwritten Almanac, uses the same project snapshot to compare a proposed idea against nearby work. It cites overlapping projects, identifies whitespace, scores the idea with a deterministic rubric, and drafts a build plan. The output is meant to be useful before implementation begins: it helps a builder sharpen the audience, choose a tractable scope, and reduce accidental duplication.
|
|
|
|
|
|
|
|
|
|
| 24 |
|
| 25 |
+
The broader value is collective intelligence. When participants can find related work quickly, similar teams can learn from each other's approaches and the community can combine ideas while the event is still unfolding. The atlas helps good ideas become easier to find, easier to extend, and easier to improve.
|
|
|
|
|
|
|
| 26 |
|
| 27 |
## User Experience
|
| 28 |
|
| 29 |
+
The experience begins with exploration. A builder can search the atlas, inspect a cluster, open a project card, and see the evidence behind detected quest matches. The map is intentionally the first surface because it gives the advisor's later recommendations visible context.
|
|
|
|
|
|
|
| 30 |
|
| 31 |
+
When the builder opens The Unwritten Almanac, the app shifts from field reading to idea development. The workspace keeps an idea board, profile constraints, score seals, whitespace candidates, and export actions in one place. A session can produce field notes, an Almanac chapter, a shareable PNG, a demo bundle, and LoRA training materials. These artifacts become reusable records for review and submission.
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
+
The "Ask the atlas" drawer adds a second mode of interaction. It lets a builder ask structured questions about the current dashboard. Verified repository results appear before the model-written answer, and map actions can highlight or filter projects directly. The model's prose is grounded in a compact digest of the verified result.
|
|
|
|
|
|
|
| 34 |
|
| 35 |
## Technical Design
|
| 36 |
|
| 37 |
+
Hackathon Advisor is deployed as a Gradio `gradio.Server`, a FastAPI application with Gradio API endpoints. The visible interface is a custom HTML, CSS, and JavaScript frontend served from `static/`; the engine in `hackathon_advisor/` remains UI-agnostic.
|
|
|
|
|
|
|
| 38 |
|
| 39 |
The runtime model stack is open-weight and local to the Space:
|
| 40 |
|
| 41 |
+
- Advisor planning: [`openbmb/MiniCPM5-1B`](https://huggingface.co/openbmb/MiniCPM5-1B) with the public [`build-small-hackathon/hackathon-advisor-minicpm5-lora`](https://huggingface.co/build-small-hackathon/hackathon-advisor-minicpm5-lora) adapter.
|
| 42 |
+
- Quest classification: official Space metadata first, then [`openbmb/MiniCPM5-1B`](https://huggingface.co/openbmb/MiniCPM5-1B) with the public [`build-small-hackathon/hackathon-advisor-quest-minicpm5-lora`](https://huggingface.co/build-small-hackathon/hackathon-advisor-quest-minicpm5-lora) adapter for evidence not declared by tags.
|
| 43 |
+
- Retrieval: [`ggml-org/embeddinggemma-300m-qat-q8_0-GGUF`](https://huggingface.co/ggml-org/embeddinggemma-300m-qat-q8_0-GGUF) through llama.cpp.
|
| 44 |
+
- Voice input: [`nvidia/nemotron-speech-streaming-en-0.6b`](https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b) through NVIDIA NeMo ASR.
|
|
|
|
| 45 |
|
| 46 |
+
The advisor gives the 1B model a narrow, inspectable role. MiniCPM selects one advisor action per turn; Python then carries out the deterministic sequence over search, whitespace discovery, scoring, planning, profile constraints, and exports. This design keeps the user-facing response tied to retrieved evidence while preserving the small-model discipline of the hackathon.
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
+
The atlas refresh method crawls public Spaces in the hackathon organization, reads each README and declared app file, builds a llama.cpp embedding index, resolves official `track:*`, `sponsor:*`, and `achievement:*` tags before invoking the quest LoRA for remaining evidence, validates the dashboard payload, and atomically swaps the new snapshot into the mounted Space cache. The last validated atlas remains available when a refresh fails, and many inspection routes remain usable while heavier models are unloaded.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
|
| 50 |
## Validation Challenges
|
| 51 |
|
| 52 |
+
The main engineering challenge was trust. A map is useful only when builders and judges can understand where its signals come from. The refresh process therefore preserves project metadata, README evidence, app-file evidence, embedding provenance, quest-analysis outputs, and manifest data for each validated snapshot.
|
|
|
|
|
|
|
| 53 |
|
| 54 |
+
Quest classification required additional care. Early prompt-only runs could rename quests, emit explanatory prose, or misread local-inference criteria. The final classifier is a supervised MiniCPM LoRA trained on real public Spaces, with a strict JSON schema and invariant checks behind every refresh. The write-up in [`docs/quest-classification-lora.md`](docs/quest-classification-lora.md) describes the dataset and validation path.
|
|
|
|
|
|
|
|
|
|
| 55 |
|
| 56 |
+
The runtime also had to separate MiniCPM's PyTorch stack from llama.cpp on systems where OpenMP runtimes conflict. Query embedding on macOS runs in a worker subprocess, and dashboard refresh builds the GGUF index in a subprocess before returning to MiniCPM quest analysis.
|
|
|
|
|
|
|
| 57 |
|
| 58 |
+
## Codex Development
|
| 59 |
|
| 60 |
+
Codex acted as an engineering collaborator throughout the build. It helped inspect the codebase, turn requirements into implementation slices, add the dashboard storage and search paths, build the quest-evidence UI, run tests, review deployed Space behavior, prepare the demo materials, and refine the submission documents. The workflow was not only "ask for code, receive code"; it became a loop where Codex could read the repository, operate the app, inspect the result, and then revise the implementation or presentation from evidence.
|
|
|
|
|
|
|
| 61 |
|
| 62 |
+
The demo video was part of that loop. I used Codex with the [`studio-demo-video`](https://github.com/JacobLinCool/video-studio-mlx/tree/main/.agents/skills/studio-demo-video) skill to write a narrated storyboard, drive the live app, capture real screen footage, generate a voice-over, compose the final video, and check the result by reading extracted frames and ASR transcripts. That process used Codex's computer-use and vision abilities as practical production tools: it could operate UI surfaces, inspect whether focus rings and captions landed correctly, and verify that the spoken lines matched the intended scenes.
|
|
|
|
|
|
|
| 63 |
|
| 64 |
+
The local media backend behind this workflow was my in-progress Swift/MLX project, [Video Studio MLX](https://github.com/JacobLinCool/video-studio-mlx). That workflow points to a related lesson from the build: small local models are not only useful inside the submitted app; they can also support the way an agent builds, documents, and checks the app. I do not count this MLX tooling as part of Hackathon Advisor's hackathon runtime or model budget because it is not built with Gradio. It is still worth mentioning because it shows a possible agentic production path: write the script, use the product, generate narration, edit the video, and verify the artifact with simple visual and speech checks.
|
| 65 |
|
| 66 |
+
The project also preserves Codex's contribution as evidence. The public Git history includes Codex co-author trailers, and redacted Codex session traces are published at <https://huggingface.co/datasets/build-small-hackathon/hackathon-advisor-codex-traces>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|