WORK IN PROGRESS Local preview · Public preview
m. MOJOW / MY PROJECTS
MOJOW CONNECTOR

ENGINEERING CASE STUDY

How Mojow is
put together

A Windows application built around local tools, saved work, and AI. This is the longer account of what was built and how the pieces fit.

I directed the product and reviewed the work. AI carried out the implementation described here. See the decisions I guided.

C# / .NET 8 · WinForms · WebView2 · MCP · Local APIs

THE WHOLE APPLICATION

What's in Mojow

These parts were built across several releases.
The testing notes below explain their recorded status.

WORKSPACE

Projects and conversations

Projects have their own saved chats and working context. Conversations can be named, pinned, moved, archived, searched, and branched without replacing the original.

  • Streaming replies and saved conversation continuity
  • History import from JSON or ZIP, with search and a way to continue in a new native chat
  • Project instructions, saved prompts, bookmarks, and a keyboard switcher
  • In-chat Find and editing an earlier message into a new draft branch
WORKING MATERIAL

Files, context and memory

Images and documents can be attached to a request and previewed locally. A project file library lets you choose which reference material belongs in a conversation.

  • Images, text and code, text-based PDFs, and Word document text
  • Project context search and saved decisions
  • Editable project memory that is included only when enabled
  • Selected reply text can be proposed for memory and reviewed before saving
EXECUTION

Tasks that keep a record

The local agent handles file operations and permitted processes. Work is tracked as tasks and steps, with attempts, checkpoints, results, and failure state saved along the way.

  • File hash checks before replacing existing content
  • A planner and execution loop that claims a step before running it
  • Build and test processes with ownership and cancellation
  • Ripwire integration for bounded, read-only code context before larger plans
  • Change review, output files, and continue-work summaries
BROWSER

An embedded browser AI can use

Mojow includes one shared WebView2 browser. The user can see the same page the tools operate on, along with the current AI action and recent activity.

  • MCP tools for navigation, page inspection, clicks, text input, selections, and screenshots
  • A persistent browser profile
  • Pause AI blocks browser changes while leaving manual controls and inspection available
  • A local bridge between the agent and the browser owned by the Windows app
CONTROL CENTER

Connections and applications

The Windows interface brings the agent, tunnel, connections, and activity into one place. Separate conversations have their own identities and ownership instead of each needing another service or browser.

  • Health, status, logs, startup settings, and tray controls
  • Connection names, active and historical views, and reconnect controls
  • A registration and lifecycle contract for separate desktop applications
  • A review activity dashboard showing recorded verdicts and stale results
EVERYDAY USE

Drafts, queues and recovery

You can keep writing while a reply runs, queue follow-ups, and come back to saved work. Recovery is designed to preserve the newer conversation instead of replacing it with an older backup.

  • Editable drafts and attachment selections
  • Queued messages with edit, cancel, pause, and resume controls
  • Automatic local backups and recovery into separate chat copies
  • Quiet completion notices and recorded next-step notes
  • Queues stay paused after restart until explicitly resumed

A feature existing in the app and that feature being available through the new AI command system are separate things. The app already has these broader areas; the shared AI controls are being added in stages.

HOW IT DEVELOPED

Several rounds of work

A few milestones from the project records.
This isn't a complete changelog.

  1. September 15 to 17, 2026

    The connector and control center

    Local tools, the Windows control center, logical chat identities, a shared embedded browser, task tracking, the execution loop, and the application contract. These established the underlying system that the workspace uses.

  2. September 25 to 27

    A project workspace with native chat

    Project-specific conversations, imported history, context search, saved-chat organization, and the move to the personal Codex backend. The combined release installed the context work; some full interface acceptance remained open.

  3. September 28

    Making it useful day to day

    Attachments and previews, saved prompts, branching, bookmarks, backups, message queues, reference files, change review, project memory, search, and continue-work notes were added through several installed updates.

  4. October 22 to 23

    One conversation and more API control

    Normal questions and guarded code work joined the same chat flow. A local chat API added send, results, and Stop. The first shared app-command group then brought state queries and saved-chat controls to both native AI and the local client.

A CLOSER LOOK AT RECENT WORK

From a request to a result

Four examples from the conversation and API work.
These explain the app; they don't run it.

EXAMPLE, NOT A LIVE RUN01 / 04

Make the change, then check it.

For this example, the request names one file in a test project. Mojow reads it before editing and saves the build and test results afterward.

  1. Use the project and conversation named in the request.
  2. Read the file and check its hash before writing.
  3. Build and test the requested project.
  4. Save the result with the conversation.
WHY THIS MATTERS

The app needs the actual build and test results before it can say the job passed.

A live workflow recording is still to come

The screenshot tour shows the actual interface with sample data. A separate recording of a real code change, test results, Stop, and saved-chat continuity has not been made yet.

TECHNICAL DETAILS

How the pieces fit together

The Windows interface and the local agent have different jobs.
MCP and local APIs connect AI to those existing parts.

More detail on the recent chat and app-command paths

SOME OF THE HARDER PARTS

Keeping identities, state and ownership straight

The early connection work had to separate a conversation's identity from its MCP transport session. A client could reconnect without that being permission to become a different owner. The application contract also had to use the existing process rules instead of creating another way around them.

The workspace added a different set of problems. A branch needs a new identity while keeping the useful history. Recovering a backup should not overwrite a newer conversation. An imported chat should not silently reuse someone else's tool ownership. Those decisions sit underneath the ordinary-looking chat controls.

Release work mattered too. Installed updates checked candidate file hashes and preserved saved chats, connection records, settings, and running services where the release allowed. A passing source build and a verified installed application were recorded separately.

REPEATED REQUESTS

Don't do the same job twice

Each request has an ID tied to its contents. Send the same request again and you get the saved result. Use that ID for different work and the app rejects it.

CANCELLATION

Stop has to finish cleaning up

Stop targets the process belonging to that job and waits for cleanup. If a file was already changed, it stays changed. Stopping doesn't undo the edit.

RESTARTS

Keep a record of unfinished work

Restarting doesn't automatically run an interrupted command again. The saved result lets you tell the difference between a finished job and one that stopped partway through.

TESTING

What's been checked

Based on the September and October 2026 project reports.
The product tests weren't rerun to build this page.

The reports cover individual releases, not one final test of everything. Earlier work includes installed updates, live checks, and tests against isolated builds. Those are kept separate here.

Earlier milestones
AreaRecorded work and verificationLimits
Connections and browser
September 16
Logical chat connections reached live cutover. The embedded browser's AI activity and Pause controls have a live-acceptance record.That milestone does not certify every website or later browser interaction.
Execution and application contract
September 17
The execution loop records step claims, attempts, failures and uncertain work. The application contract records final verification of registration and process ownership.Source and isolated acceptance are not a claim that every separate application is installed or in use.
Context and combined release
September 26
11 packaged regression suites passed; installed files matched the release manifest. Live context search responded, and an invalid Origin was rejected.Full Context Pack interface acceptance and some browser and connection interactions remained open.
Saved-chat workspace
September 27
30 organization checks and 10 lifecycle checks passed, alongside the recorded regression suites. Installed payload hashes and retained state were checked.That release check did not issue a live model request.
Daily-use features
September 28
Installed reports cover attachments, previews, prompts, branching, backups, queues, memory and change review. The final comfort update records 95 workflow checks plus transport and UI smoke checks.Counts overlap across updates and are not added together. Much of the UI evidence comes from isolated fixtures, not live screenshots.
Project reports behind those earlier milestones
  • MOJOW-CONNECTOR-07-CHAT-CONNECTIONS.md
  • MOJOW-CONNECTOR-09-AI-BROWSER-CONTROL.md
  • MOJOW-AGENT-RUNTIME-02-PLANNER-EXECUTION-LOOP.md
  • MOJOW-WORKSPACE-APPLICATION-CONTRACT-01.md
  • MOJOW-COMBINED-RELEASE-2026-09-26.md
  • MOJOW-NATIVE-SAVED-CHAT-RELEASE-2026-09-27.md
  • MOJOW-ATTACHMENTS-2026-09-28.md and MOJOW-ATTACHMENT-PREVIEWS-2026-09-28.md
  • MOJOW-FIVE-FEATURE-SPRINT-2026-09-28.md
  • MOJOW-CHAT-WORKFLOW-SPRINT-2026-09-28.md
  • MOJOW-REVIEW-CONTINUITY-SPRINT-2026-09-28.md
  • MOJOW-COMFORTS-SPRINT-2026-09-28.md

The latest conversation and API work

INSTALLED & ACCEPTANCE RECORDED

Unified chat & local API

  • Question answering and saved-thread recall.
  • Scoped read/hash/edit/build/test with recorded outcomes.
  • Reasoning cancellation and owned-process cancellation.
  • Receipt and conversation continuity after restart.
Evidence scope

The local chat API report records 11 selected suites, a clean Release rebuild, and real installed acceptance. Cancelled requests did not add successful conversation exchanges. Cancellation after a write retained the partial change.

Source: MOJOW-LOCAL-CHAT-API-2026-10-23.md

FIRST SLICE INSTALLED

Shared application commands

  • 12 state, project discovery, and saved-chat commands.
  • One registry for native AI and local API entry points.
  • Recorded duplicate-request and stale-revision rejection.
  • Native navigation waits for the originating reply.
Evidence scope

The core report records 31 app-control checks across a 12-suite selected regression run. Installed acceptance covered API create/rename/select and native rename/deferred navigation. That does not establish live acceptance of every command.

Source: MOJOW-AI-APP-CONTROL-CORE-2026-10-23.md

IN PROGRESS

Extending the new AI command system

Many of the app's controls already exist in the interface or older MCP tools. The current work is making them available through the same shared command system used by native AI and the local client. Connections, drafts, queues, applications, memory, browser and lifecycle adapters are among the remaining areas. Full app control is not finished.

Tradeoffs and current limitations

This is a Windows desktop project. The portfolio screenshots use real controls with sample data. A verified API workflow shows a guarded edit, build/test results and conversation recall; desktop footage of live AI work is still pending. The acceptance reports distinguish automated, installed, and live behavior; static quality analysis still reports structural duplication and complexity findings. The call graph and history/churn evidence are incomplete. No customer adoption, performance improvement, or business outcome is claimed here.

What's still being worked on

The broader app-control project is unfinished. More existing controls need adapters for the shared command system. A live workflow recording and a final review of the portfolio remain before publication.

I set the product direction and design, guided AI with detailed prompts, and reviewed its progress throughout the work. AI did the implementation work described in this case study. Read about my part in the project.

Back to the project overview