PageSourceSearch

https://build-small-hackathon-field-guide.hf.space/_app/immutable/nodes/3.MZGSadqw.js

js build-small-hackathon-field-guide.hf.space collected 2026-10-03 10:18:21 UTC 29,112 bytes, 1 lines download raw bytes

1import{$ as e,C as t,H as n,I as r,R as i,S as a,U as o,V as s,W as c,X as l,at as u,b as d,ct as f,d as p,et as m,f as h,i as g,it as _,j as v,m as y,v as b,w as x,x as S,y as C}from"../chunks/DHEV74ux.js";import{n as w}from"../chunks/BuFlayix.js";import"../chunks/xihTtKlq.js";import{f as T,n as E,r as D,t as O}from"../chunks/C_xAkINf.js";function k(e,t){throw new w(e,t)}var A={openbmb:{id:`openbmb`,name:`OpenBMB`,accent:`#3d6a55`,url:`openbmb.cn`,sizeRange:`1B – 8B`,type:`models`,tagline:`Tiny, capable models for text, vision, audio and omni — small enough to live on your own hardware.`,offer:`The MiniCPM family proves you don’t need a giant to get real work done. Each model is tuned to punch far above its parameter count and runs happily on a laptop — or a phone. OpenBMB provide free hosted API access for the jam, and every model also runs locally via llama.cpp or transformers. Pick the modality you need and go.`,models:[{name:`MiniCPM-V 4.6`,size:1.3,tags:[`vision`,`OCR`,`documents`],desc:`Image & video understanding, OCR and document understanding for multimodal apps.`,url:`https://huggingface.co/openbmb/MiniCPM-V-4.6`},{name:`MiniCPM-o 4.5`,tags:[`omni`,`speech`,`realtime`],desc:`Full-duplex omni model — voice, vision and language in, speech out. Real-time capable.`,url:`https://huggingface.co/openbmb/MiniCPM-o-4_5`},{name:`MiniCPM-V 4.5`,tags:[`vision`,`video`],desc:`Strong multimodal understanding and visual reasoning for image & video use cases.`,url:`https://huggingface.co/openbmb/MiniCPM-V-4_5`},{name:`MiniCPM5-1B`,size:1,tags:[`text`,`on-device`],desc:`Lightweight text generation for local-first and on-device assistants.`,url:`https://huggingface.co/openbmb/MiniCPM5-1B`},{name:`MiniCPM4.1-8B`,size:8,tags:[`text`,`reasoning`],desc:`Text reasoning with efficient, hybrid local inference.`,url:`https://huggingface.co/openbmb/MiniCPM4.1-8B`},{name:`VoxCPM2`,tags:[`TTS`,`voice`],desc:`Text-to-speech and creative voice design for voice-enabled apps.`,url:`https://huggingface.co/openbmb/VoxCPM2`}],guide:[{want:`Image understanding, OCR or documents`,use:`MiniCPM-V 4.6`,note:`Vision + OCR`},{want:`A video-understanding demo`,use:`MiniCPM-V 4.6 / 4.5`,note:`Multimodal video`},{want:`An omni or voice + vision assistant`,use:`MiniCPM-o 4.5`,note:`Speech in, speech out`},{want:`A lightweight, local-first text app`,use:`MiniCPM5-1B`,note:`1B, on-device`},{want:`Text reasoning / problem-solving`,use:`MiniCPM4.1-8B`,note:`Best reasoning`},{want:`TTS or a creative voice experience`,use:`VoxCPM2`,note:`Voice generation`}],resources:[{label:`OpenBMB model collection`,kind:`models`,url:`https://huggingface.co/openbmb/collections`},{label:`MiniCPM-V Cookbook (GitHub)`,kind:`cookbook`,url:`https://github.com/OpenSQZ/MiniCPM-V-CookBook`},{label:`Cookbook (web)`,kind:`guide`,url:`https://opensqz.github.io/MiniCPM-V-CookBook/site/en/index.html`},{label:`GitHub repository`,kind:`code`,url:`https://github.com/OpenBMB`}],starterSpace:{name:`MiniCPM-V-4.6 Demo`,desc:`Fork this Gradio Server Space to start from a working MiniCPM-V-4.6 app.`,url:`https://huggingface.co/spaces/openbmb/MiniCPM-V-4.6-Demo`},links:{website:`https://www.openbmb.cn/en/home`,huggingface:`https://huggingface.co/openbmb`,twitter:`https://x.com/OpenBMB`,github:`https://github.com/OpenBMB`},prize:{title:`Best MiniCPM Build`,award:`$10,000`,criteria:`Build with MiniCPM models. The pool is split $5k per track (1st $2,500 · 2nd $1,500 · 3rd $1,000).`},support:[{channel:`Discord`,handle:`@tc_mb`,glyph:`chat`},{channel:`Discord`,handle:`@yangzhizheng`,glyph:`chat`},{channel:`Discord`,handle:`@zzhonglol2_50531`,glyph:`chat`}]},blackforest:{id:`blackforest`,name:`Black Forest Labs`,accent:`#5a4b73`,url:`docs.bfl.ai`,sizeRange:`4B – 9B`,type:`models`,tagline:`FLUX.2 Klein — open text-to-image and precise image editing at 4B and 9B.`,offer:`FLUX.2 Klein brings high-quality text-to-image generation and precise image editing to models small enough to run yourself. Base and distilled versions ship at 4B and 9B, Apache 2.0 licensed, with a starter Space and a LoRA training toolkit ready to go.`,models:[{name:`FLUX.2 Klein base 4B`,size:4,tags:[`text-to-image`,`Apache 2.0`],desc:`Base text-to-image and image editing model.`,url:`https://docs.bfl.ai`},{name:`FLUX.2 Klein distilled 9B`,size:9,tags:[`text-to-image`,`distilled`],desc:`Distilled variant for higher fidelity generation and editing.`,url:`https://docs.bfl.ai`}],guide:[{want:`Generate images from text`,use:`FLUX.2 Klein base 4B`,note:`Text-to-image`},{want:`Edit or refine existing images`,use:`FLUX.2 Klein`,note:`Image editing`},{want:`Train a LoRA or custom style`,use:`Klein + ai-toolkit`,note:`Fine-tuning`}],resources:[{label:`Documentation`,kind:`docs`,url:`https://docs.bfl.ai`},{label:`Klein LoRA guide`,kind:`guide`,url:`https://hf.co/blog/black-forest-labs/flux-2-klein-lora`},{label:`ai-toolkit trainer`,kind:`code`,url:`https://github.com/ostris/ai-toolkit`}],starterSpace:{name:`Klein Build Small Starter`,desc:`Fork this Gradio Space to start from a working FLUX.2 Klein app.`,url:`https://hf.co/spaces
1/stephenbtl/klein-build-small-starter`},links:{website:`https://bfl.ai`,huggingface:`https://huggingface.co/black-forest-labs`,twitter:`https://x.com/bfl_ai`,github:`https://github.com/black-forest-labs`},prize:null,support:[{channel:`Discord`,handle:`@stephen.btl`,glyph:`chat`}]},openai:{id:`openai`,name:`OpenAI · Codex`,accent:`#1f7a6b`,sizeRange:`coding agent`,type:`infra`,tagline:`The Codex coding agent (GPT-5.5) with a built-in plugin ecosystem.`,offer:`Codex is a powerful coding agent built on GPT-5.5, with ecosystem plugins for GitHub, Figma and Hugging Face, SSH connectivity to VMs, in-app UI browser checks, and a new automatic “Goal Mode” that can carry out multi-hour developer tasks unprompted.`,capabilities:[{name:`Codex agent`,glyph:`code`,desc:`A GPT-5.5 coding agent that writes, refactors and reviews across your repo.`},{name:`Ecosystem plugins`,glyph:`grid`,desc:`GitHub, Figma and Hugging Face integrations built in.`},{name:`SSH to VMs`,glyph:`server`,desc:`Connect to remote VMs over SSH to run real work.`},{name:`UI browser checks`,glyph:`globe`,desc:`In-app browser checks to verify the UI it builds.`},{name:`Goal Mode`,glyph:`flag`,desc:`Automatic multi-hour developer tasks, carried out unprompted.`}],resources:[],starterSpace:null,links:{website:`https://openai.com/codex/`,huggingface:`https://huggingface.co/openai`,twitter:`https://x.com/OpenAI`,github:`https://github.com/openai/codex`},prize:{title:`Best Use of Codex`,award:`$10,000`,criteria:`Codex-attributed commits in your connected GitHub repo or Space. Using Codex holistically — fine-tuning, complex agents — ranks higher.`},support:[]},nvidia:{id:`nvidia`,name:`NVIDIA`,accent:`#4d7a2e`,sizeRange:`< 1B – 30B MoE`,type:`models`,tagline:`The Nemotron 3 family — efficient open models for reasoning, multimodal, speech and document AI.`,offer:`NVIDIA’s Nemotron 3 family spans tiny edge models to MoE reasoning models — all efficient, open, and built to run on hardware you can actually get. Mix and match across reasoning, multimodal, speech and document extraction.`,models:[{name:`Nemotron 3 Nano`,size:30,tags:[`MoE`,`reasoning`],desc:`30B total · 3B active MoE — efficient reasoning for long-running agents.`,url:`https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16`},{name:`Nemotron 3 Nano 4B`,size:4,tags:[`edge`,`text`],desc:`Edge-optimised 4B model for constrained hardware.`,url:`https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-4B-BF16`},{name:`Nemotron 3 Nano Omni`,tags:[`omni`,`multimodal`],desc:`Multimodal nano model across modalities.`,url:`https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16`},{name:`Nemotron 3 ASR`,tags:[`speech`,`ASR`],desc:`Speech recognition built for real-time use.`,url:`https://huggingface.co/nvidia/nemotron-speech-streaming-en-0.6b`},{name:`Nemotron Parse`,size:1,tags:[`documents`,`extraction`],desc:`Sub-1B parameter document extraction.`,url:`https://huggingface.co/nvidia/NVIDIA-Nemotron-Parse-v1.2`},{name:`Nemotron Embed VL`,tags:[`embeddings`,`vision`],desc:`Vision-language embeddings for retrieval & search.`,url:`https://huggingface.co/nvidia/llama-nemotron-embed-vl-1b-v2`}],guide:[{want:`A long-running agent / reasoning app`,use:`Nemotron 3 Nano`,note:`3B active MoE`},{want:`To run on the edge`,use:`Nemotron 3 Nano 4B`,note:`Edge-ready`},{want:`A multimodal app`,use:`Nemotron 3 Nano Omni`,note:`Omni-modal`},{want:`Speech recognition`,use:`Nemotron 3 ASR`,note:`Real-time ASR`},{want:`Document extraction`,use:`Nemotron Parse`,note:`< 1B params`}],resources:[{label:`Nemotron 3 Nano usage guide`,kind:`code`,url:`https://github.com/NVIDIA-NeMo/Nemotron/tree/main/use-case-examples/Simple%20Nemotron-3-Nano%20Usage%20Example`},{label:`Nemotron 3 Ultra blog`,kind:`guide`,url:`https://developer.nvidia.com/blog/nvidia-nemotron-3-ultra-powers-faster-more-efficient-reasoning-for-long-running-agents/`},{label:`Introducing NVIDIA Nemotron 3 Nano Omni`,kind:`guide`,url:`https://huggingface.co/blog/nvidia/nemotron-3-nano-omni-multimodal-intelligence`},{label:`NVIDIA Nemotron collections`,kind:`models`,url:`https://huggingface.co/nvidia/collections`}],starterSpace:{name:`Nemotron-3 Nano Omni demo`,desc:`Fork this Gradio Server Space to start from a working Nemotron-3 Nano Omni app.`,url:`https://huggingface.co/spaces
1/akhaliq/Nemotron-3-Nano-Omni`},links:{website:`https://developer.nvidia.com/nemotron`,huggingface:`https://huggingface.co/nvidia`,twitter:`https://x.com/NVIDIAAIDev`,github:`https://github.com/NVIDIA-NeMo/Nemotron`},prize:{title:`Nemotron Hardware Prize`,award:`2× RTX 5080`,criteria:`Build with Nemotron models. Awarded for best Space (judged) and community engagement.`},support:[]},modal:{id:`modal`,name:`Modal`,accent:`#2f6f8f`,url:`modal.com`,sizeRange:`serverless compute`,type:`infra`,tagline:`Serverless GPUs for inference, training, batch jobs and sandboxes — from a few lines of Python.`,offer:`Not a model — the workshop floor your models run on. Modal gives you on-demand GPUs without managing infrastructure: define a function, attach a GPU, and it scales from zero to many and back. Ideal for fast inference, fine-tuning scripts in ~300 lines, parallel hyperparameter sweeps, and running agents in sandboxes.`,capabilities:[{name:`Inference`,glyph:`bolt`,desc:`Deploy and scale inference for LLMs, audio and image/video generation.`},{name:`Training`,glyph:`cube`,desc:`Fine-tune open-source models on single or multi-node clusters instantly.`},{name:`Batch`,glyph:`grid`,desc:`Parallelize massive jobs with hyper-elastic compute infrastru
1cture.`},{name:`Sandboxes`,glyph:`server`,desc:`Programmatically scale ephemeral environments for running untrusted code.`}],guide:[{want:`Serve your model as an API`,use:`Inference endpoints`,note:`Autoscaling`},{want:`Fine-tune a small model`,use:`Training`,note:`Pay-per-second GPUs`},{want:`Run an agent’s code safely`,use:`Sandboxes`,note:`Isolated containers`},{want:`Massive parallel jobs`,use:`Batch`,note:`Hyper-elastic`}],resources:[{label:`Documentation`,kind:`docs`,url:`https://modal.com/docs`}],starterSpace:null,links:{website:`https://modal.com`,huggingface:`https://huggingface.co/modal-labs`,twitter:`https://x.com/modal`,github:`https://github.com/modal-labs`},prize:{title:`Best Use of Modal`,award:`20,000 credits`,criteria:`Use Modal for the development or runtime of your app and note it in your Space README. 1st 10,000 · 2nd 7,000 · 3rd 3,000 credits.`},support:[{channel:`Community Slack`,handle:`modal.com/slack`,glyph:`link`,url:`https://modal.com/slack`},{channel:`Discord`,handle:`@felicia_modal`,glyph:`chat`}]},jetbrains:{id:`jetbrains`,name:`JetBrains`,accent:`#b0453d`,sizeRange:`12B MoE`,type:`models`,tagline:`Mellum 2 — open 12B MoE coding models, in Thinking and Instruct flavours.`,offer:`Mellum 2 is JetBrains’ family of open-source language models built for coding and language tasks. Optimised for low-latency, high-throughput inference, Apache 2.0 licensed, and deployable locally or in the cloud — for coding assistants, RAG apps, code analysis and developer tools.`,models:[{name:`Mellum 2 Thinking`,size:12,tags:[`coding`,`reasoning`],desc:`Reasoning-heavy configuration for harder problems.`,url:`https://huggingface.co/JetBrains/Mellum2-12B-A2.5B-Thinking-GGUF-Q4_K_M`},{name:`Mellum 2 Instruct`,size:12,tags:[`coding`,`low-latency`],desc:`Blazingly fast instruct configuration for high-throughput use.`,url:`https://huggingface.co/collections/JetBrains/mellum2-gguf`}],guide:[{want:`An AI coding assistant`,use:`Mellum 2 Instruct`,note:`Low-latency`},{want:`Reasoning-heavy code tasks`,use:`Mellum 2 Thinking`,note:`Deeper reasoning`},{want:`RAG or code-analysis tools`,use:`Mellum 2`,note:`Apache 2.0`}],resources:[{label:`Mellum 2 GGUF collection`,kind:`models`,url:`https://huggingface.co/collections/JetBrains/mellum2-gguf`},{label:`Quickstart`,kind:`guide`,url:`https://huggingface.co/JetBrains/Mellum2-12B-A2.5B-Thinking-GGUF-Q4_K_M`}],starterSpace:null,links:{website:`https://www.jetbrains.com/ai/`,huggingface:`https://huggingface.co/JetBrains`,twitter:`https://x.com/jetbrains`,github:`https://github.com/JetBrains`},prize:null,support:[{channel:`Discord`,handle:`@nikitapavlichenko`,glyph:`chat`},{channel:`Discord`,handle:`@vano006503`,glyph:`chat`},{channel:`Discord`,handle:`@aral_dm`,glyph:`chat`}]},cohere:{id:`cohere`,name:`Cohere Labs`,accent:`#9c5a2b`,sizeRange:`2B – 3.3B`,type:`models`,tagline:`Cohere Transcribe (ASR) and the Tiny Aya multilingual family — small models for real people.`,offer:`Cohere Transcribe is a 2B fast ASR model covering 14 languages. The Tiny Aya 3.3B series targets distinct geographical language families and low-resource languages — a great fit for local multilingual assistants, voice interfaces, accessibility tools and offline translation.`,models:[{name:`Cohere Transcribe`,size:2,tags:[`ASR`,`14 languages`],desc:`Fast 2B speech recognition across 14 languages.`,url:`https://huggingface.co/CohereLabs/cohere-transcribe-03-2026`},{name:`Tiny Aya Global`,size:3.3,tags:[`multilingual`,`balanced`],desc:`Best balance across languages and regions.`,url:`https://huggingface.co/CohereLabs/tiny-aya-global-GGUF`},{name:`Tiny Aya Water`,size:3.3,tags:[`European`,`Asia-Pacific`],desc:`Tuned for European and Asia-Pacific languages.`,url:`https://huggingface.co/CohereLabs/tiny-aya-water-GGUF`},{name:`Tiny Aya Fire`,size:3.3,tags:[`South Asian`],desc:`Tuned for South Asian languages.`,url:`https://huggingface.co/CohereLabs/tiny-aya-fire-GGUF`},{name:`Tiny Aya Earth`,size:3.3,tags:[`West Asian`,`African`],desc:`Tuned for West Asian and African languages.`,url:`https://huggingface.co/CohereLabs/tiny-aya-earth-GGUF`}],guide:[{want:`Speech recognition`,use:`Cohere Transcribe`,note:`14 languages`},{want:`A balanced multilingual assistant`,use:`Tiny Aya Global`,note:`All regions`},{want:`European / Asia-Pacific languages`,use:`Tiny Aya Water`,note:`Regional`},{want:`South Asian languages`,use:`Tiny Aya Fire`,note:`Regional`},{want:`West Asian / African languages`,use:`Tiny Aya Earth`,note:`Regional`}],resources:[{label:`Cohere Transcribe release blog`,kind:`guide`,url:`https://huggingface.co/blog/CohereLabs/cohere-transcribe-03-2026-release`},{label:`Build Small with Cohere — full guide`,kind:`cookbook`,url:`https://huggingface.co/blog/CohereLabs/build-small-hackathon-with-cohere-models`},{label:`Cohere Tiny Aya collection`,kind:`models`,url:`https://huggingface.co/collections/CohereLabs/tiny-aya`}],starterSpace:{name:`Tiny Aya Sample Space`,desc:`Fork this Gradio Space to start from a working Tiny Aya app.`,url:`https://huggingface.co/spaces
1/ysharma/tiny-aya-build-small-sample`},links:{website:`https://cohere.com/research`,huggingface:`https://huggingface.co/CohereLabs`,twitter:`https://x.com/cohere_labs`,github:`https://github.com/Cohere-Labs`},prize:null,support:[{channel:`Discord`,handle:`@madeline_smith`,glyph:`chat`},{channel:`Discord`,handle:`@alejandro_81346`,glyph:`chat`},{channel:`Discord`,handle:`@julianmack_43074`,glyph:`chat`}]}},j={docs:`doc`,cookbook:`book`,guide:`compass`,models:`cube`,code:`code`,space:`play`},M=Object.keys(A),N=f({entries:()=>P,load:()=>F}),P=()=>M.map(e=>({slug:e}));function F({params:e}){let t=A[e.slug];if(!t)throw k(404,`Unknown partner: ${e.slug}`);return{partner:t}}var I=x(`<span> </span>`),L=x(`<a class="linkpill" target="_blank" rel="noreferrer"><!> <!></a>`),R=x(`<div class="linkrow"></div>`);function ee(r,s){m(s,!0);let f=g(s,`accent`,3,`var(--ink)`),_=g(s,`compact`,3,!1),y=g(s,`style`,3,``),x={website:{glyph:`globe`,label:`Website`},huggingface:{glyph:`hug`,label:`Hugging Face`},twitter:{glyph:`xsocial`,label:`X`},github:{glyph:`github`,label:`GitHub`}},C=[`website`,`huggingface`,`twitter`,`github`],w=l(()=>C.filter(e=>s.links&&s.links[e]));function T(e){return e.startsWith(`http`)?e:`https://`+e}var E=t(),O=o(E),k=e=>{var t=R();b(t,20,()=>v(w),e=>e,(e,t)=>{var r=L(),o=n(r);D(o,{get name(){return x[t].glyph},size:15,stroke:`currentColor`});var l=c(o,2),m=e=>{var r=I(),o=n(r,!0);u(r),i(()=>S(o,x[t].label)),a(e,r)};d(l,e=>{_()||e(m)}),u(r),i(e=>{p(r,`href`,e),h(r,`--lp:${f()??``}`),p(r,`title`,x[t].label)},[()=>T(s.links[t])]),a(e,r)}),u(t),i(()=>h(t,y())),a(e,t)};d(O,e=>{v(w).length&&e(k)}),a(r,E),e()}var z=x(`<a class="resitem__glyph" style="width:34px;height:34px" aria-label="Open model" target="_blank" rel="noreferrer"><!></a>`),B=x(`<li class="tag"> </li>`),V=x(`<div class="sizebar"><div class="sizebar__track"><div class="sizebar__fill"></div></div> <div class="sizebar__lbl"><span> </span><span>32B cap</span></div></div>`),H=x(`<div class="pcard"><div class="pcard__head"><div class="pcard__name"> </div> <!></div> <p style="color:var(--ink-2);font-size:14.5px;margin-top:10px;text-wrap:pretty"> </p> <ul class="tags"></ul> <!></div>`);function te(t,r){m(r,!0);let o=l(()=>r.m.size===void 0?0:Math.max(4,Math.round(r.m.size/32*100)));var s=H(),f=n(s),g=n(f),y=n(g,!0);u(g);var x=c(g,2),C=e=>{var t=z();D(n(t),{name:`arrow`,size:16,stroke:`var(--paccent)`}),u(t),i(()=>p(t,`href`,r.m.url)),a(e,t)};d(x,e=>{r.m.url&&e(C)}),u(f);var w=c(f,2),T=n(w,!0);u(w);var E=c(w,2);b(E,20,()=>r.m.tags,e=>e,(e,t)=>{var r=B(),o=n(r,!0);u(r),i(()=>S(o,t)),a(e,r)}),u(E);var O=c(E,2),k=e=>{var t=V(),s=n(t),l=n(s);u(s);var d=c(s,2),f=n(d),p=n(f);u(f),_(),u(d),u(t),i(()=>{h(l,`width:${v(o)??``}%`),S(p,`${r.m.size??``}B parameters`)}),a(e,t)};d(O,e=>{r.m.size!==void 0&&e(k)}),u(s),i(()=>{S(y,r.m.name),S(T,r.m.desc)}),a(t,s),e()}var U=x(`<div class="pcard"><div class="capglyph"><!></div> <div class="pcard__name" style="font-size:19px"> </div> <p style="color:var(--ink-2);font-size:14.5px;margin-top:10px;text-wrap:pretty"> </p></div>`);function ne(t,r){m(r,!0);var o=U(),s=n(o);D(n(s),{get name(){return r.c.glyph},size:24,stroke:`#fff`}),u(s);var l=c(s,2),d=n(l,!0);u(l);var f=c(l,2),p=n(f,!0);u(f),u(o),i(()=>{S(d,r.c.name),S(p,r.c.desc)}),a(t,o),e()}var re=x(`<div class="floaty"><!></div>`),ie=x(`<section class="section section--tight"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow"> </span></div> <h2 class="display" style="font-size:clamp(28px,4vw,44px);margin-bottom:28px"> </h2> <div class="pcards"><!></div></div></section>`),ae=x(`<div class="guide__row"><div class="guide__want"><b> </b></div> <div class="guide__arrow"><!></div> <div class="guide__use"><b> </b><span class="coord"> </span></div></div>`),oe=x(`<section class="section section--tight"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow">Build this with us</span></div> <h2 class="display" style="font-size:clamp(28px,4vw,44px);margin-bottom:28px">If you want to build…</h2> <div class="guide" style="max-width:940px"></div></div></section>`),se=x(`<a class="resitem" target="_blank" rel="noreferrer"><span class="resitem__glyph"><!></span> <span style="font-weight:600;font-family:var(--font-display);font-stretch:104%"> </span> <span class="resitem__arrow"><!></span></a>`),ce=x(`<div class="reslist"></div>`),le=x(`<div class="starter" style="margin-top:18px"><!> <div style="flex:1"><div class="coord" style="color:var(--paccent)">STARTER SPACE</div> <div class="display" style="font-size:21px;margin-top:4px;font-stretch:106%"> </div> <p style="color:var(--ink-2);font-size:14.5px;margin:6px 0 0"> </p></div> <a class="btn btn--accent" target="_blank" rel="noreferrer" style="background:var(--paccent);border-color:var(--paccent);flex:none">Fork it <!></a></div>`),ue=x(`<section class="section section--tight"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow">Getting started</span></div> <!> <!></div></section>`),de=x(`<section class="section section--tight"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow">Eligible prize</span></div> <div class="pprize"><!> <div style="position:relative"><!></div> <div style="position:relative"><div class="coord" style="color:var(--amber-deep)"> </div> <h3 class="display" style="font-size:clamp(26px,3.4vw,38px);margin-top:6px"> </h3> <p style="margin-top:12px;font-size:15.5px;color:var(--ink-2);max-width:52ch"><b style="font-family:var(--font-display)">To qualify ·</b> </p></div> <div style="position:relative;text-align:right"><div class="display" style="font-size:clamp(30px,4vw,46px);color:var(--amber);line-height:1"> </div> <a href="/#prizes" class="chip" style="margin-top:12px;border-color:var(--ink)">All prizes <!></a></div></div></div></section>`),fe=x(`<a class="supitem"><span class="supitem__glyph"><!></span> <span><div style="font-weight:600;font-family:var(--font-display);font-stretch:104%"> </div> <div class="supitem__handle"> </div></span></a>`),pe=x(`<section class="section section--tight" style="padding-bottom:84px"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow">How to get help</span></div> <h2 class="display" style="font-size:clamp(28px,4vw,44px);margin-bottom:28px">Stuck? Holler.</h2> <div class="support"></div></div></section>`),me=x(`<div class="app-root"><nav class="pbar"><div class="wrap pbar__inner"><div class="crumb"><a href="/">Build Small</a> <span class="crumb__sep">/</span> <a href="/#partners">Partners</a> <span class="crumb__sep">/</span> <b> </b></div> <a class="btn btn--accent" href="/" style="margin-left:auto;padding:8px 15px;font-size:13px;background:var(--paccent);border-color:var(--paccent)"><!> Back to hub</a></div></nav> <header class="phead"><!> <div class="wrap phead__grid" style="position:relative"><div><div style="display:flex;align-items:center;gap:14px;flex-wrap:wrap"><div class="plogo"><img loading="lazy"/></div> <span class="psize-chip"><!> </span></div> <h1 class="display" style="font-size:clamp(40px,6vw,72px);margin-top:22px"> </h1> <p class="lede" style="margin-top:18px;max-width:52ch"> </p> <!></div> <!></div></header> <section class="section section--tight"><div class="wrap"><div class="section-label"><span class="coord"> </span><span class="eyebrow">What they offer</span></div> <p class="display" style="font-weight:600;font-stretch:106%;font-size:clamp(22px,3vw,32px);line-height:1.18;text-wrap:pretty;max-width:900px"> </p></div></section> <!> <!> <!> <!> <!> <footer class="footer"><!> <div class="wrap" style="position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px"><div><div class="display" style="font-size:26px">BUILD SMALL</div> <p style="color:rgba(244,238,225,.7);margin-top:8px;font-size:14px">Build something small, local, and yours.</p></div> <div style="display:flex;gap:12px;flex-wrap:wrap"><a class="btn btn--ghost" href="/#partners" style="color:var(--paper);border-color:rgba(244,238,225,.4)">All partners</a> <a class="btn btn--accent" href="/#recommender" style="background:var(--paccent);border-color:var(--paccent)">Find your kit <!></a></div></div></footer></div>`);function W(f,g){m(g,!0);let x=l(()=>g.data.type===`models`),w=l(()=>v(x)?!!g.data.models?.length:!!g.data.capabilities?.length),k=l(()=>!!g.data.resources?.length||!!g.data.starterSpace),A=l(()=>{let e=0,t=()=>String(++e).padStart(2,`0`);return{offer:t(),catalog:v(w)?t():``,guide:g.data.guide?.length?t():``,resources:v(k)?t():``,prize:g.data.prize?t():``,support:g.data.support?.length?t():``}});var M=me();y(`1kncr20`,e=>{r(()=>{s.title=`${g.data.name??``} · Build Small`})});var N=n(M),P=n(N),F=n(P),I=c(n(F),8),L=n(I,!0);u(I),u(F);var R=c(F,2);D(n(R),{name:`arrow`,size:14,stroke:`#fff`,rotate:180}),_(),u(R),u(P),u(N);var z=c(N,2),B=n(z);O(B,{opacity:.1,stroke:`var(--paccent)`});var V=c(B,2),H=n(V),U=n(H),W=n(U),G=n(W);u(W);var K=c(W,2),q=n(K);D(q,{name:`cube`,size:14,stroke:`var(--paccent)`});var he=c(q);u(K),u(U);var J=c(U,2),ge=n(J,!0);u(J);var Y=c(J,2),_e=n(Y,!0);u(Y);var ve=c(Y,2);{let e=l(()=>g.data.links&&Object.keys(g.data.links).length?g.data.links:{website:g.data.url});ee(ve,{get links(){return v(e)},accent:`var(--paccent)`,style:`margin-top:24px`})}u(H);var ye=c(H,2),be=e=>{var t=re();E(n(t),{glyph:`star`,accent:`var(--paccent)`,size:132}),u(t),a(e,t)};d(ye,e=>{g.data.prize&&e(be)}),u(V),u(z);var X=c(z,2),Z=n(X),Q=n(Z),$=n(Q),xe=n($,!0);u($),_(),u(Q);var Se=c(Q,2),Ce=n(Se,!0);u(Se),u(Z),u(X);var we=c(X,2),Te=e=>{var r=ie(),s=n(r),l=n(s),f=n(l),p=n(f,!0);u(f);var m=c(f),h=n(m,!0);u(m),u(l);var _=c(l,2),y=n(_,!0);u(_);var C=c(_,2),w=n(C),T=e=>{var n=t();b(o(n),17,()=>g.data.models??[],e=>e.name,(e,t)=>{te(e,{get m(){return v(t)}})}),a(e,n)},E=e=>{var n=t();b(o(n),17,()=>g.data.capabilities??[],e=>e.name,(e,t)=>{ne(e,{get c(){return v(t)}})}),a(e,n)};d(w,e=>{v(x)?e(T):e(E,-1)}),u(C),u(s),u(r),i(()=>{S(p,v(A).catalog),S(h,v(x)?`Models & products`:`Capabilities`),S(y,v(x)?`The kit, sized small`:`What you can run`)}),a(e,r)};d(we,e=>{v(w)&&e(Te)});var Ee=c(we,2),De=e=>{var t=oe(),r=n(t),o=n(r),s=n(o),l=n(s,!0);u(s),_(),u(o);var d=c(o,4);b(d,21,()=>g.data.guide,C,(e,t)=>{var r=ae(),o=n(r),s=n(o),l=n(s,!0);u(s),u(o);var d=c(o,2);D(n(d),{name:`arrow`,size:22,stroke:`var(--paccent)`}),u(d);var f=c(d,2),p=n(f),m=n(p,!0);u(p);var h=c(p),g=n(h,!0);u(h),u(f),u(r),i(()=>
1{S(l,v(t).want),S(m,v(t).use),S(g,v(t).note)}),a(e,r)}),u(d),u(r),u(t),i(()=>S(l,v(A).guide)),a(e,t)};d(Ee,e=>{g.data.guide?.length&&e(De)});var Oe=c(Ee,2),ke=e=>{var t=ue(),r=n(t),o=n(r),s=n(o),f=n(s,!0);u(s),_(),u(o);var m=c(o,2),h=e=>{var t=ce();b(t,21,()=>g.data.resources,e=>e.label,(e,t)=>{var r=se(),o=n(r),s=n(o);{let e=l(()=>j[v(t).kind]||`link`);D(s,{get name(){return v(e)},size:19,stroke:`var(--paccent)`})}u(o);var d=c(o,2),f=n(d,!0);u(d);var m=c(d,2);D(n(m),{name:`arrow`,size:17,stroke:`var(--ink-faint)`}),u(m),u(r),i(()=>{p(r,`href`,v(t).url),S(f,v(t).label)}),a(e,r)}),u(t),a(e,t)};d(m,e=>{g.data.resources?.length&&e(h)});var y=c(m,2),x=e=>{var t=le(),r=n(t);E(r,{glyph:`play`,accent:`var(--paccent)`,size:72,spin:!1});var o=c(r,2),s=c(n(o),2),l=n(s,!0);u(s);var d=c(s,2),f=n(d,!0);u(d),u(o);var m=c(o,2);D(c(n(m)),{name:`arrow`,size:16,stroke:`#fff`}),u(m),u(t),i(()=>{S(l,g.data.starterSpace.name),S(f,g.data.starterSpace.desc),p(m,`href`,g.data.starterSpace.url)}),a(e,t)};d(y,e=>{g.data.starterSpace&&e(x)}),u(r),u(t),i(()=>S(f,v(A).resources)),a(e,t)};d(Oe,e=>{v(k)&&e(ke)});var Ae=c(Oe,2),je=e=>{var t=de(),r=n(t),o=n(r),s=n(o),l=n(s,!0);u(s),_(),u(o);var d=c(o,2),f=n(d);O(f,{opacity:.07,stroke:`rgba(51,49,43,.5)`});var p=c(f,2);E(n(p),{glyph:`star`,accent:`var(--amber)`,size:104}),u(p);var m=c(p,2),h=n(m),y=n(h);u(h);var b=c(h,2),x=n(b,!0);u(b);var C=c(b,2),w=c(n(C),1,!0);u(C),u(m);var T=c(m,2),k=n(T),j=n(k,!0);u(k);var M=c(k,2);D(c(n(M)),{name:`arrow`,size:14}),u(M),u(T),u(d),u(r),u(t),i(e=>{S(l,v(A).prize),S(y,`${e??``} · SPONSOR PRIZE`),S(x,g.data.prize.title),S(w,g.data.prize.criteria),S(j,g.data.prize.award)},[()=>g.data.name.toUpperCase()]),a(e,t)};d(Ae,e=>{g.data.prize&&e(je)});var Me=c(Ae,2),Ne=e=>{var t=pe(),r=n(t),o=n(r),s=n(o),l=n(s,!0);u(s),_(),u(o);var d=c(o,4);b(d,21,()=>g.data.support,e=>e.channel+e.handle,(e,t)=>{var r=fe(),o=n(r);D(n(o),{get name(){return v(t).glyph},size:22,stroke:`#fff`}),u(o);var s=c(o,2),l=n(s),d=n(l,!0);u(l);var f=c(l,2),m=n(f,!0);u(f),u(s),u(r),i(()=>{p(r,`href`,v(t).url??`#`),p(r,`target`,v(t).url?`_blank`:void 0),p(r,`rel`,v(t).url?`noreferrer`:void 0),S(d,v(t).channel),S(m,v(t).handle)}),a(e,r)}),u(d),u(r),u(t),i(()=>S(l,v(A).support)),a(e,t)};d(Me,e=>{g.data.support?.length&&e(Ne)});var Pe=c(Me,2),Fe=n(Pe);O(Fe,{opacity:.08,stroke:`rgba(244,238,225,.4)`});var Ie=c(Fe,2),Le=c(n(Ie),2),Re=c(n(Le),2);D(c(n(Re)),{name:`arrow`,size:16,stroke:`#fff`}),u(Re),u(Le),u(Ie),u(Pe),u(M),i(()=>{h(M,`--paccent:${g.data.accent??``}`),S(L,g.data.name),p(G,`src`,T[g.data.id]),p(G,`alt`,g.data.name),S(he,` ${g.data.sizeRange??``}`),S(ge,g.data.name),S(_e,g.data.tagline),S(xe,v(A).offer),S(Ce,g.data.offer)}),a(f,M),e()}function G(t,n){m(n,!0),W(t,{get data(){return n.data.partner}}),e()}export{G as component,N as universal};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.