10 5 days ago

A Rust / Dioxus 0.7 specialist fine-tuned via RAFT on Qwen3 (3 sizes), optimized for Tailwind v4 + WCAG 2.2 AAA accessibility and dioxus-primitives discipline. Built with CRAFT on a homelab RTX 3090 Ti. No cloud GPUs.

4b 8b 15b
ollama run rockypod/neotoi-coder:4b

Models

View all →

Readme

Neotoi Coder

A Rust / Dioxus 0.7 specialist fine-tuned via RAFT on Qwen3 (3 sizes), optimized for Tailwind v4 + WCAG 2.2 AAA accessi bility and dioxus-primitives discipline.

Variants

Tag Base Params Q4_K_M size Spec-exam score Pick when…
rockypod/neotoi-coder:8b Qwen3-8B 8.2B 4.68 GB 103103 (100.00%) You want the ceiling fundamentals sc
ore
rockypod/neotoi-coder:4b Qwen3-4B 4.0B 2.33 GB 102103 (99.31%) Disk / RAM constrained or you want ~40% f
aster generation
rockypod/neotoi-coder:15b Qwen3-Coder-14B 14.8B 8.4 GB 137.0/144.5 (94.81%) Legacy 14B, broadest coverage

Both :8b and :4b clear the 90% publication bar and the 95% release bar with all per-tier floors (82% / 88%) PASS.

Quick start

ollama pull rockypod/neotoi-coder:8b
ollama run rockypod/neotoi-coder:8b

Or use the smaller 4B:

ollama pull rockypod/neotoi-coder:4b

Recommended runtime parameters (already baked into the Modelfile):

Parameter Value
num_ctx 8192
temperature 0.2
num_predict 2000
repeat_penalty 1.1
stop <|im_end|>

The Qwen3 ChatML template prefills <think> on the assistant turn so the model emits its native chain-of-thought block before answering.

What it knows

  • Dioxus 0.7 RSX brace syntax (never function-call style)
  • use_signal, use_resource with the canonical three-arm match
  • r#for on labels only, never inputs
  • WCAG 2.2 AAA: aria_labelledby, aria_describedby, live regions, role="alert", role="dialog"
  • dioxus-primitives — no manual ARIA on managed components
  • styles!() macro and native CSS modules
  • Tailwind v4 utility classes and semantic tokens
  • GlobalSignal patterns (LANG / THEME), EN/VI i18n, dark-mode toggling via document::eval
  • Dioxus 0.7.4 APIs: WritableResultExt, WebSocket Stream+Sink, server-fn extractors

What it does not know

  • Playwright / E2E testing (out of scope)
  • Non-Dioxus web frameworks (use rockypod/svcoder for SvelteKit)
  • Backends or databases beyond what server functions cover

Spec-exam scorecards

Re-graded 2026-04-26 with the patched run_grade_v31.py (Q87 accepts LANG() / THEME() GlobalSignal accessor calls) .

Tier Name (max wt / Q) 8B raw 8B wtd 4B raw 4B wtd 14B v3.1 wtd
T1 Fundamentals (12 / 12) 12 12.0 11 11.0 12.0
T2 RSX Syntax (12 / 12) 12 12.0 12 12.0 10.0
T3 Signal Hygiene (12 / 12) 12 12.0 12 12.0 11.0
T4 WCAG / ARIA (21 / 14) 14 21.0 14 21.0 16.5
T5 use_resource (12 / 8) 8 12.0 8 12.0 12.0
T6 Hard Reasoning (20 / 10) 10 20.0 10 20.0 20.0
T7 Primitives + CSS (18 / 12) 12 18.0 12 18.0 18.0
T8 GlobalSignal / i18n (12 / 8) 8 12.0 8 12.0 12.0
T9 Static Navigator (9 / 6) 6 9.0 6 9.0 9.0
T10 Dioxus 0.7.4 (12 / 6) 6 12.0 6 12.0 12.0
T11 Server Functions (4.5 / 3) 3 4.5 3 4.5 4.5
Total (144.5 / 103) 103 144.5 102 143.5 137.0
Percent 100.00% 99.31% 94.81%

Tier floors (82% on weight 1.0/1.5, 88% on weight 2.0): all PASS for all three variants.

The only miss across the new releases is the 4B’s Q8 (T1 RSX conversion) — generation truncated mid-<think> block.

Transparency

License

NeoToi Coder Community License v1.0. Commercial use of model outputs permitted. Weight redistribution prohibited. Menta l health deployment requires written permission.