Building Mixology
Mixology is a Go reference application that makes modular boundaries and cross-cutting concerns executable. This series follows the application from its architectural premise through transactional domain collaboration, presentation boundaries, native desktop testing, authorization, shared action meaning, and the migration from bstore to SQLite.
The completed .NET semantic port preserves that observable behavior while rebuilding the application with .NET 10, EF Core, Terminal.Gui, and Avalonia. It provides a parallel implementation for separating the architecture’s durable ideas from the Go-specific mechanisms described throughout this series.
Explore the project View the repository Explore the .NET port
Article
Building High-Quality Software
A preview of eleven lessons about turning architectural intent into executable constraints, using Mixology as the worked example.
Article
Turning Cross-Domain Calls into Enforced Boundaries
A worked path from direct cross-domain orchestration to transactional retirement, owned reactions, and package rules that preserve both current operations and history.
Article
Preserving Truth Through Operational Degradation
How explicit replacement, review states, readiness reports, and historical snapshots let a modular application degrade honestly without erasing business context.
Article
Growing a Reciprocal Domain Workflow
A planned vertical-slice workshop that adds Procurement to Mixology, connects it reciprocally with Inventory, and finds the boundary between transactional handlers and explicit workflows.
Article
Building an Application TUI Toolkit
How Mixology combines proven MVVM ideas with Bubble Tea's message loop to create a consistent, testable terminal application without inventing another framework.
Article
Growing Mixology with a GUI Surface
A development journal for adding a retained-mode Fyne desktop client to Mixology while preserving bespoke surfaces, executable boundaries, and testable application behavior.
Article
Using a Third Surface as an Architecture Test
What Mixology's Fyne client revealed when a third, substantially different presentation runtime had to use the same application boundaries as its CLI and TUI.
Article
Bespoke Views over a Shared Application Boundary
What Mixology shares across CLI, Bubble Tea, and Fyne, and why each surface keeps a presentation model shaped for its own runtime instead of adopting a universal view model.
Article
Testing Native Go Desktop Applications Headlessly
A layered testing strategy for Fyne applications, from deterministic presentation models and virtual widgets through composed lifecycles, fresh processes, race tests, and visual evidence.
Article
Authorization Is Part of Navigation
How Mixology carries Cedar authorization through workspace discovery, dashboard summaries, row filtering, and action availability without turning the interface into a second policy engine.
Article
Typed Filtering over SQLite
How Mixology gives people and programs one typed filter language, then translates its safe subset into SQLite while retaining exact application semantics.
Note
Projecting Actions Across User Interfaces
How Mixology projects authorization and lifecycle prerequisites once, then lets GUI and TUI render native action state without sharing their views.
Article
Migrating Mixology from bstore to SQLite
How Mixology replaced its embedded bstore backend with SQLite while preserving transactions, typed queries, domain ownership, filtering semantics, and application errors.