KN-86 Prototype References
Sibling of: ../inspiration/
Purpose: Concrete build references — the candidate tech stacks for the application runtime and the concrete physical-build references for the hardware deck.
This folder is the build-it companion to ../inspiration/ — where inspiration tells you what the device should feel like, prototype tells you what to actually build it from. Same placement rules: lives at the repo root, outside ../../, not rendered by the Starlight sync, but versioned in git.
The split is deliberate. Many of these entries (Bubble Tea, Lip Gloss, QRPπ) are referenced from per-project decisions in the KN-86 codebase and from concrete spec/ADR work; they earn their own folder. Many of the inspiration entries are mood-board / pattern-library / “what should the user feel” references that live in spec-adjacent design conversations rather than in build-it work; they stay in inspiration/. The boundary isn’t strict — every prototype entry also carries aesthetic implications, every inspiration entry also has implementation hints — but for navigation purposes the split is useful.
Software stack — candidate frameworks & libraries
Section titled “Software stack — candidate frameworks & libraries”| Reference | Stack | One-line | File |
|---|---|---|---|
| Bubble Tea | Go / Charm stack | The Elm-architecture TUI framework. Default candidate for the KN-86 application runtime. | bubble-tea.md |
| Lip Gloss | Go / Charm stack | CSS-like declarative styling/layout for terminals. Default pair with Bubble Tea. | lip-gloss.md |
| termbox2 | C99, single-header | Minimal C terminal I/O library; the lightweight C-core alternative if Go integration costs prove too high. | termbox2.md |
| asciinator | Python / technique | Halfblock (▀) + 24-bit color image-rendering technique. The canonical reference algorithm for “image in the terminal.” | asciinator.md |
Hardware deck — the keyboard decision
Section titled “Hardware deck — the keyboard decision”keyboard-decision.md — ⭐ the decided keyboard for KN-86 is the Ferris Sweep, ordered from holykeebs per the Buyer’s Guide BOM checklist. The decision supersedes the custom-31-key preferred path in ADR-0024; custom-keyboard knowledge is archived to ../research/.
| Reference | Role | File |
|---|---|---|
| Keyboard decision | The decision document — Ferris Sweep over custom; 31 → 34 keys; QMK + Vial firmware; archived custom-build knowledge | keyboard-decision.md |
| Ferris Sweep — holykeebs | The product entry for the chosen keyboard | ferris-sweep.md |
| holykeebs Buyer’s Guide | The order configuration matrix → BOM checklist | holykeebs-buyers-guide.md |
Hardware deck — physical build references
Section titled “Hardware deck — physical build references”| Reference | Type | One-line | File |
|---|---|---|---|
| QRPπ | Single canonical build | All-in-one weatherproof digital-mode radio deck in a Pelican 1170 case. Closest single existing build to KN-86’s hardware structure. | qrp-pi.md |
| Pelican 1170 print models | Print-model library | Collected community-printable inserts, foam organizers, panel-mount templates for the Pelican 1170. Parametric starting points. | pelican-1170-prints.md |
| Printables cyberdeck search | Broad gallery | 130+ printable cyberdeck builds across handheld / clamshell / Pelican / Steam-Deck-shell / retrofit categories. Form-factor mood board. | printables-cyberdeck-search.md |
How to use this folder
Section titled “How to use this folder”- When implementing a feature that needs to choose between Charm-stack and termbox2 — read bubble-tea.md and termbox2.md, pick, document the decision in an ADR.
- When designing the application architecture — bubble-tea.md for the structural model; the inspiration-folder references AetherTune and l123 for examples of how that structure feels at scale.
- When designing UI primitives in NoshAPI — lip-gloss.md for the styling-vocabulary reference; asciinator.md for the image-render primitive.
- When the bezel work starts — qrp-pi.md is the structural template; pelican-1170-prints.md is the parts library; printables-cyberdeck-search.md is the broader silhouette reference.
Synthesis pointer
Section titled “Synthesis pointer”The full consolidated KN-86 Deckline brief (software north star + hardware prototype path + v0.1 ship list) lives in the inspiration folder’s index.md. This folder doesn’t carry its own synthesis — the brief reads across both folders.
Folder structure
Section titled “Folder structure”prototype/├── index.md ← this file├── keyboard-decision.md ← ⭐ the decision: Ferris Sweep, not custom├── ferris-sweep.md├── holykeebs-buyers-guide.md├── bubble-tea.md├── lip-gloss.md├── termbox2.md├── asciinator.md├── qrp-pi.md├── pelican-1170-prints.md├── printables-cyberdeck-search.md└── screenshots/ ├── README.md ├── ferris-sweep-product.jpg ├── ferris-sweep-trackpoint-1.webp ├── ferris-sweep-trackpoint-2.webp ├── ferris-sweep-trackball.webp ├── bubbletea.gif ├── lipgloss.png ├── termbox2.gif ├── qrp-pi.png ├── pelican-1170-search.png └── printables-cyberdeck-search.png