A living development story

Building Neural Junkie

Neural Junkie began as a room where specialized AI agents could talk. It grew into a local-first desktop platform where people can coordinate agents, inspect their work, approve changes, and extend the system with domain packs. This is the story of that climb—and the engineering it took to make nondeterministic agents behave like dependable software.

Oct 2025 first prototype
348 reachable core commits
13 pack projects
3 platforms macOS, Windows, Linux

Snapshot: July 16, 2026 · This page will grow with the project.

The arc so far

The visible feature list only tells part of the story. Each expansion—collaboration, installers, local models, an IDE, packs—created a new reliability problem underneath it. Neural Junkie advanced by repeatedly widening what the product could do, then building the tests, boundaries, and observability needed to trust it.

  1. The origin

    An AI chat room becomes an experiment

    The project started as AI Chat Room: a Go WebSocket hub connecting channels, specialized agents, repository context, and several client experiments. The first desktop UI used Fyne, but GUI threading constraints quickly forced an architectural reset.

    Tauri, React, TypeScript, and Rust replaced the first shell. That decision established the shape that remains today: a native desktop application around a Go orchestration hub.

    This period is preserved in project documentation; reachable Git history begins in February 2026.

  2. Neural Junkie takes shape

    From prototype to multi-agent workspace

    The imported project was renamed Neural Junkie and deliberately separated from its company-specific roots. In two days it gained Slack-like channels and direct messages, multi-channel agents, token streaming, interactive tool approval, persistent agent storage, Ollama and OpenAI-compatible providers, and formal CLI-agent integration.

    Desktop packaging arrived almost immediately: the Go hub became a managed Tauri sidecar with first-run setup, provider configuration, auto-update plumbing, and cross-platform CI.

    • Go hub
    • Tauri desktop
    • Local models
    • Agent channels
  3. The defining problem

    Collaboration becomes governed work

    Agents sharing a channel was interesting; agents completing work together was much harder. Collaboration gained explicit planning, review, consensus, task assignment, execution limits, versioned plans, and Assistant-led coordination.

    The product chose bounded collaboration over open-ended agent loops. Human approval and finite stages became core design principles—not safety features added later.

  4. A public product

    From source checkout to downloadable beta

    After a security and UX hardening pass, Neural Junkie launched its public site and shipped downloadable installers for macOS, Windows, and Linux. Collaboration execution gained sandboxed workspaces, explicit target-directory acknowledgement, correct command working directories, smarter model routing, and full-stack test coverage.

    Shipping desktop software exposed a second product hiding underneath the app: release engineering. Signing, updater channels, MSI and WiX versioning, Linux bundle size, artifact naming, and platform-specific behavior would drive dozens of follow-up iterations.

    Explore the release notes
  5. The application becomes a platform

    Models, runbooks, packs, Slack, and the first IDE

    A dense beta sequence expanded Neural Junkie beyond developer-agent chat. The product added a model library, Hugging Face imports, MCP tools and resources, real Git worktrees, a graphical runbook builder, domain packs, durable context memory, Slack connectivity, and pack-owned workspace layouts.

    Runbooks made useful agent work repeatable. Packs made the application extensible. Worktrees made agent execution isolatable. Together they changed the architectural question from “what features belong in the app?” to “what primitives belong in core?”

    • Runbook DAGs
    • Domain packs
    • MCP
    • Git worktrees
    • Slack
  6. An AI-native workspace

    Context, learning, tuning, and implementation sessions

    Assistant became grounded in the active workspace. Context Model v2 made each turn an explicit pipeline for mode, intent, memory, grounding, persona, and budget. Personal learning added embedding retrieval across agent, global, and collaboration scopes.

    LoRA evolved into a managed lifecycle with training, evaluation, routing, versioning, and rollback. Implementation sessions added workspace tools and verification, while Pack Dev Studio made custom extension development part of the product itself.

    The recurring pattern Every new capability had to become inspectable, governable, and testable before it could become dependable.
  7. Local implementation parity

    The workspace grows into an IDE and agent runtime

    Neural Junkie reached repeatable multi-file implementation with codebase grounding, auto-apply, verification, and stable scenario sweeps. IDE v4 added Monaco LSP, persistent language servers, local and remote workspace backends, SSH files and terminals, dev-container attachment, and symbol indexing.

    The goal was no longer chat parity. It was a native local agent runtime that could discover a workspace, edit safely, build, test, repair failures, compress context, and operate under clear governance modes.

    See IDE v4
  8. The pack ecosystem

    From one private extension to domain applications

    A private laboratory workflow proved that organization-specific integrations could live outside the official product while depending on reusable domain capabilities. Official packs followed for software development, life sciences, AWS, incident management, web browsing, CAD, specialist tuning, and music creation.

    The coordinated July pack-v2 wave turned compact manifests into executable domain systems: sidecars, typed tools, workbenches, runbooks, scenarios, evals, dependencies, approval gates, and audit controls. Later packs added LAN rooms, model competition, an independent IDE surface, and structured interview preparation.

    This established the long-term direction: thin core, fat packs. Core owns the platform primitives; packs own domain behavior.

    Explore domain packs
  9. Reliability becomes a system

    Fix loops, layered gates, and observable turns

    Feature breadth gave way to runtime discipline. Neural Junkie added turn telemetry, routing traces, cancellation hardening, ReAct tool wrappers, restart stability tests, independent deliverable judges, model benchmarks, layered release gates, and automated fix loops.

    Testing became an operational feedback system. A failed scenario could be classified, handed to an implementation agent in an isolated worktree, fixed, and rerun. New tests could be grown from observed failures. Overnight gates made long reliability climbs repeatable.

    Read about the Fix Loop
  10. The platform today

    New surfaces, durable foundations

    Pack-v2 plumbing moved more domain behavior out of core. Room Chat added ephemeral LAN collaboration. Model Arena made model comparison verifiable. Homebrew improved distribution. MQTT and Kafka subscriptions connected external events to channels, runbooks, and webhooks.

    Underneath those features, a durable turn pipeline, span tracing, persistent collaboration state, inference telemetry, model-version management, and increasingly strict release gates are preparing the next beta.

    Current focus: finish the thin-core transition and make collaboration reliability match the breadth of the platform.

What it took

The work behind the feature list

Architecture

Go orchestration, Tauri sidecars, collaboration state machines, context pipelines, pack contracts, and remote workspace backends.

Runtime reliability

Subscriptions, deduplication, cancellation, worktree isolation, model concurrency, restart stability, routing, and failure repair.

Product and UX

Chat, editor, terminal, collaboration controls, model library, runbook graph, telemetry, workbenches, onboarding, and accessibility.

Distribution

Cross-platform installers, bundled local inference, updater manifests, signing paths, Homebrew, GitHub Pages, and public releases.

Domain depth

Software, cloud, incidents, biology, CAD, browser QA, music, model evaluation, tuning, and structured learning workflows.

Evidence

Unit and race tests, live-model scenarios, parity suites, layered release gates, benchmarks, deliverable judges, and fix loops.