Project lanes
Open Day experiences
Visitor-ready experiments that make tokens, computer vision, speech, cybersecurity, and human oversight visible enough to discuss.
Local-first AI systems and public demos
Crunchy Codes is my public workshop for Open Day experiences, local model infrastructure, and practical tools that make AI systems easier to explain, operate, and trust.
Who am I
I'm Dr Jason Holdsworth, a Digital Technology academic and educator at James Cook University, and the maker behind Crunchy Codes. My work sits around local-first software, practical AI tools, public teaching demos, and human-AI interaction experiments.
Now building
Projects
The latest repositories form a connected local-first lab: public experiences for teaching AI, shared infrastructure for running and evaluating models, and practical tools for the machines hosting them.
Project lanes
Visitor-ready experiments that make tokens, computer vision, speech, cybersecurity, and human oversight visible enough to discuss.
Project lanes
Shared runtimes, routing and conversion workbenches, evaluation harnesses, local model clients, and explicit offline fallbacks for dependable, inspectable experiments.
Project lanes
Focused GNOME, Android, macOS, VS Code, and desktop projects for inspecting local state and exploring useful software ideas.
Playable web game / interaction experiment
A fast, painterly browser game about guiding a rainbow lorikeet through an Australian sunrise landscape. It includes keyboard, pointer, and touch controls, escalating pace, and near-miss scoring.
Active build / local runtime infrastructure
A runtime manager and stable capability gateway for local AI on the Framework Desktop. It turns pinned model snapshots into explicitly managed workers, publishes versioned Routing Profiles, and supports manifest-approved Qwen3.5 GGUF/Vulkan candidates and reviewed Qwen3.8 runtime paths. Qwen3.5 and Gemma 4 routes support tool calling, while the Live view controls published workers and a checked-in profile connects OpenCode over loopback. Guarded export and import move approved state between installations, and a read-only preflight checks demo routes, readiness, and thermal observations without changing configuration.
Research POC / Codex allocation adviser
A local VS Code companion that discovers available Codex models and reasoning efforts, recommends a pairing through a transparent deterministic policy or opt-in ModelDeck classifier, and requires approval or override before streaming the task through Codex App Server. Its local planner can propose an approved sequence of up to three turns, with optional output-adaptive replanning limited to stopping or revising future phases. Outcome records remain local and omit task and source content.
Research POC / SLM-native agent orchestration
A local-first VS Code extension exploring explainable routing and bounded agent loops for small local models. Its owned runtime now supports bounded read-only workspace evidence, deterministic validation and escalation, live readback evaluation, an ephemeral privacy-safe debug trace, and bounded recovery from eligible tool errors. Persisted diagnostics omit prompts and source content.
Active build / model conversion workbench
A Linux desktop workbench that inspects cached Hugging Face models, ranks hardware-appropriate GGUF recipes, and runs pinned llama.cpp and Vulkan conversion and validation pipelines. Source caches stay read-only, while derived artefacts retain hashes, toolchain receipts, hardware fingerprints, and capability evidence.
Active build / vision-language evaluation
A local-first vision-language model laboratory for the Framework Desktop, combining a Fedora-native GTK explorer with repeatable benchmarks for compatibility, structured outputs, performance, memory, and thermal observations.
Research harness / offline world-model evaluation
An offline-first harness for evaluating Qwen-AgentWorld as a synthetic environment world model. Model output is recorded as untrusted observation data and is never executed, with explicit thermal, memory, lifecycle, and revision controls around real runs.
Open Day demo / local computer vision
A local-first camera experience that keeps fast object detection separate from periodic multimodal scene descriptions. It includes explicit privacy controls, reset behaviour, stable ModelDeck route and capability checks, request-correlated timing diagnostics, and replay operation when the live model is unavailable.
Local desktop tool / private speech-to-text
Private local dictation for Fedora GNOME Wayland using whisper.cpp and an IBus input method. Configurable Shift or Control gestures drive record, review, and commit with revisable in-place previews; audio and transcripts stay in memory. When no default source is configured, it can select a sole physical microphone safely. While dictation is active, ordinary editor keys are held so they cannot submit a chat or move focus before review is complete.
Fedora desktop tool / screenshots and GIFs
A GNOME top-bar capture tool for whole-desktop screenshots and silent GIF recordings on Wayland. It supports clipboard capture, crop and pen editing, optional PNG saving, and private temporary editing copies retained for no more than 24 hours.
Replay-first MVP / local speech
An honest speech-transformation demo with prepared local voice and language shifts, plus an opt-in, memory-only microphone path. Its local DSP baseline transforms captured audio without pretending to recognise or translate the visitor's words.
Published model / GPTQ Q4 g32 + BF16 hybrid
A self-contained quantised variant of DiffusionGemma 26B built for local text diffusion on AMD ROCm. Expert projections use GPTQ Q4 g32 while non-expert tensors remain BF16, with offline loading, release checksums, and comparative quality evidence.
Open Day demo / staged text refinement
A public explanation of generation by iterative refinement rather than next-token prediction. The visitor experience has a reliable scripted path, while staff can run the published DiffusionGemma Q4 variant through ModelDeck's native job API with explicit readiness, progress, and cancellation handling.
Active build / cybersecurity awareness
A local-first game where visitors investigate fictional messages, flag warning signs, choose safe responses, and solve approachable cipher cases with concise educational feedback.
MVP 0.2 / human oversight demo
A QR phone-to-screen experience where a crowd sets goals and rules, reviews a deterministic AI-style proposal, and decides when to accept, repair, seek evidence, or involve a person.
Open Day demo / token-level generation
A replayable teaching demo that exposes prompt tokens, candidate probabilities, and generated text one step at a time using local Hugging Face traces or prepared scripted fallbacks. Live operation discovers ModelDeck's native capabilities and exposes cancellation and runtime refresh controls without silently changing providers.
Research MVP / local voice conversation
An interruptible voice-conversation experiment where a weak local speech layer owns timing and bounded replies, then escalates more substantive requests to ModelDeck through the same output path.
Android maker project / adaptive live wallpaper
An Android live wallpaper that turns glowing-ball physics into a configurable device experiment, with two-stage preview and wallpaper calibration, live frame-timing telemetry, adaptive performance controls, optional collisions, and visual controls.
VS Code extension / local usage visibility
A local-first status-bar extension that reads Codex session files, shows reported rate limits and a rolling 15-minute token pace, and keeps session content on the device. Optional live account reads use the locally installed Codex App Server without starting a model turn or sending session content.
GNOME extension + host safety service / Framework Desktop
A Fedora 44 top-bar monitor for RAM, storage, temperature, fan readings, and configurable local JSONL history, with an optional Auto-Powersaver service that exposes explicit operating modes, hot protection, and competing-controller diagnostics.
Desktop app and CLI / model library
A local FastAPI, Electron, and command-line tool for finding, grouping, queueing, and downloading Hugging Face model snapshots. It honours standard cache overrides, supports low-concurrency or opt-in Xet transfers, and separates library-record removal from deletion of cached model data.
Local-first principles
Recent Crunchy Codes projects favour explicit user control: local files over hidden services, recoverable downloads over silent failure, and privacy-safe metadata over unnecessary telemetry.
Read local state directly, keep sensitive content on-device, and avoid network calls unless the tool genuinely needs them.
Large downloads, long chats, and local experiments should preserve work instead of forcing people to start over.
Prefer plain commands, clear status, and inspectable behaviour over magic that leaves the user guessing.
Contact
For project support, feature ideas, bug reports, or security concerns, use the support page or the issue tracker linked from the relevant project.