// LAB NOTEBOOK · 2026
live build
MELBOURNE / AU
// PRACTICE AI SYSTEMS ENGINEERING

justa.tech

experiments, not brochures.

An AI systems engineering lab. Multi-provider agent runtimes, hybrid pgvector semantic memory, 100+ tool MCP surfaces, and embodied AI running on real hardware. Built daily, mostly in the open, on a thirty-year UNIX and Linux infrastructure foundation.

Independent practice by Jason Harrison. Mission-critical infrastructure across banking, telco, government, healthcare and aviation behind the work. Available for the right role, the right collaboration, or a properly scoped engagement.

// signed: iksteh@gmail.com

Justabot V4 chat interface with multi-session sidebar, tool tags and per-turn token stats
// surface · justabot v4 · multi-session web ui
live · agent runtime + tool dispatch + cog graph
30+
years infrastructure
100+
MCP tools shipped
3
LLM providers, one runtime
30:1
prompt cache leverage

Operational, not theoretical.

Each domain on the platform gets its own surface, instrumented and inspectable. Cognitive state, LLM telemetry, mission control, memory adjudication. Screenshots from the live build.

Ember cognitive state dashboard with radar chart, axis bars, history table and timeline
cognitive state

11-axis cognitive graph, event-sourced.

Radar, bars and timeline reconstructed from a JB-AUTO-4301 event log. Axis history with proportional headroom scaling and distance-proportional decay. 922 entries, 1,852 adjustments under live load.

// reconstructed from event log · 11 axes · 10 named modes
Ember LLM analytics dashboard showing token usage, fresh vs cached, sessions and cost
llm telemetry

Token economics, per session.

Fresh vs cached token split, per-session breakdown, 158 sessions across 2,321 turns. The cache leverage ratio is the cost-engineering signal: 20.2M fresh against 609.2M cached, roughly 30:1.

// 20.2M fresh · 609.2M cached · 5.3M out
DCS GCI combat information centre dashboard with channels, threat picture and status board
domain integration

DCS GCI combat info centre.

Terminal-green mission control across radio, events, SITREP and board channels with a live threat picture and status board. 40+ tools wrapping the DCS World scripting surface for AI-driven game-master loops.

// 116 tx · 104 events · 38 sitreps · 129 board updates
Memory adjudication run output with 374 items reviewed and 12 memories committed
memory pipeline

Distillation and adjudication, live.

Background distiller extracts candidate memories from transcripts; an adjudicator reviews, rejects ephemera, and commits durable items. One run: 374 items reviewed, 304 rejected (run IDs, ephemeral cog adjustments), 12 committed.

// 5 sessions · 374 reviewed · 12 committed

What's on the bench.

A working set of production and near-production systems. Each one solves a real problem in agentic engineering and feeds back into the next. The same codebase runs on a robot in a Victorian workshop every day.

Ember (Justabot) avatar interface during a tool call running
embodied agent runtime

Justabot · Ember

Multi-provider agent runtime exposed through a custom MCP server. Routes per-turn across Anthropic, OpenAI-compatible (LM Studio, Ollama, local Gemma and Qwen) and Google Gemini. Substrate-agnostic identity over swappable backends. Lives on a physical robot.

// MCP · Anthropic · Gemini · vLLM · LM Studio · Ollama · Python
Cognitive Council graph view shipping
multi-agent deliberation

Cognitive Council

Multi-agent dispatch pattern across heterogeneous models. Agents with distinct cognitive profiles deliberate, disagree and synthesise. Used inside the runtime for hard decisions and outside it for adversarial review of plans.

// Python · ZMQ · Multi-LLM · Graph activation
SELECT k.kind, m.text FROM memories m JOIN embeddings e ON e.memory_id = m.id WHERE 1 - (e.vec <=> :q_vec) > 0.78 AND NOT EXISTS ( SELECT 1 FROM injected WHERE session_id = :sid AND category = m.category AND key = m.key ) ORDER BY (e.vec <=> :q_vec) ASC LIMIT 12;
semantic memory + arbitration

Hybrid Memory

Two-tier semantic memory on pgvector. Retrieval-first injection, no fixed sweeps. Async background distiller extracts durable memories from transcripts using cheap-tier models. Session-injection dedup prevents prompt bloat. Arbitration: canonical > in-context > retrieved.

// PostgreSQL · pgvector · async distiller · dedup table
Meld canvas editor running
generative media pipeline

Meld

Image and video pipeline wrapping ComfyUI and Qwen workflows behind a stable tool API. Content-addressed storage for dedup and cache reuse, multi-output run tracking, and arbitrary workflow-JSON ingestion. Drives Ember's creative tooling end-to-end.

// ComfyUI · Qwen · Flux · CAS · RunPod · FastAPI
TagMills dashboard parked
production inference pipeline

TagMills

Five-service image-metadata SaaS. FastAPI BFF, React frontend, RS256 JWT auth with JWKS, Stripe-backed credit ledger, PostgreSQL state, and a scheduler orchestrating on-demand RunPod GPU pods running vLLM with Qwen3-VL-8B. Drove throughput from 0.67 to 6+ img/s.

// FastAPI · React · RunPod · vLLM · Qwen3-VL · Postgres · S3
Muage music-driven media output experimental
music-driven media pipeline

Muage

Automated pipeline that turns timestamped lyrics and music structure into synchronised image and video sequences. Scene generation, prompt construction, image synthesis, refinement and video assembly in a single reproducible flow.

// Python · Flux.1 · ComfyUI · FFmpeg · lyric parsing

Things observed, mostly the hard way.

Short epistemic markers from the bench. Not laws. Just observations that have survived contact with production.

// identity
Substrate-agnostic identity beats single-model fidelity. Models change. Identity should not move with them.
// memory
Retrieval-first beats fixed memory sweeps. Most context is dead weight by the third turn. Pull what is relevant; do not pre-load.
// safety
Reversibility classification beats permission prompts. Tools should know whether they can be undone, not just whether they are allowed.
// portability
Strict-JSON tool calls survive provider switches. Plain text tool descriptions do not. Pick the format that travels.
// cost
Cheap tier for distillation, frontier tier for foreground. Most memory work happens below SOTA. Pay for thinking, not for clerical.
// substrate
Local models are first-class with the right envelope mapping. Once Gemma talks the same bus as Anthropic, the rest is integration.

Tools the practice runs on.

Production-grade and lab-grade, mixed. Listed is what is actively used, not what is on the wishlist.

ai.runtime
AnthropicOpenAIGemini MCPvLLMLM Studio OllamaComfyUIRunPod
code
PythonTypeScriptBash GoSQL
data.store
PostgreSQLpgvectorSQLite (WAL) PostGISS3 / SAN / NFS
infra
LinuxProxmoxDocker KVMAWSRunPod
os.unix
RHELUbuntuDebian SolarisHPUXAIX FreeBSD
generative
Qwen-VLQwen ImageFlux.1 ComfyUI workflows

Want to compare notes?

Best contact is direct email. Open to the right role, the right collaboration, or a properly scoped engagement. Not interested in vague "AI thought leadership" engagements. The lab is for building.

based
Melbourne · Victoria · AU