“I asked the question: what if the LLM was the UI? What if I could get a lot of the inference to be done within my subscription, while I’m developing especially, and just focus on mocking up the functionality as a series of files with instruction sets — like a series of prompts, basically — and when anything had to do programmatically, I’d just activate a virtual environment and have it run in Python.” — Lou

Session context: 2026-02-26_Mastermind — Lou explained the architectural decision behind GEARS: building the application interface entirely in natural language (Claude as UI) rather than designing and maintaining a traditional web UI, using Claude Code’s built-in Python sandbox for anything computational.

Core Idea

Every application has two layers: the interface (how users interact with it) and the functionality (what it actually does). Most development effort goes into the interface — designing layouts, managing state, debugging visual edge cases, maintaining the UI across browser updates. For internal tools, service-delivery workflows, and personal AI systems, this effort is almost entirely wasted.

Lou’s architectural decision with GEARS: skip the UI entirely. Use the LLM as the conversational interface, and put all the functionality in Python files that Claude Code can invoke via a virtual environment. The result: zero interface maintenance overhead, an interface that handles ambiguous requests gracefully (which traditional UIs cannot do), and development speed measured in hours rather than weeks.

This pattern — LLM as UI — applies most cleanly to three types of tools:

Internal tools: Where the user base is small and technically comfortable. A coaching practice’s client intake system, a researcher’s literature review workflow, a solopreneur’s content production pipeline. These users don’t need a polished interface — they need a reliable workflow.

Service-delivery tools: Where the operator (you) runs the tool on behalf of clients, and clients interact only with outputs. GEARS is this pattern: clients submit intake forms, Lou runs the system, clients receive reports and installation instructions. The clients never see Claude — only the outputs.

Development and prototyping: Where you’re still figuring out what the tool needs to do. Building a conversational interface first lets you validate functionality before investing in a UI. If the workflow doesn’t hold up conversationally, a polished interface won’t save it.

The critical infrastructure pairing: Claude Code’s ability to spin up a Python virtual environment on demand means you’re not limited to what Claude can do natively. Anything computational — database operations, file processing, API calls — goes in a Python file that Claude invokes. The LLM handles inference, judgment, and conversation; Python handles execution. You get the best of both without building a traditional application layer.

Practical Application

Prototype your next tool as a conversation before building any interface.

  1. Write the functionality as a series of skills or prompts — no UI, no frontend, just instruction sets.
  2. Test it with Claude Code: give it realistic inputs, see if the outputs are what you actually need.
  3. For anything that requires code execution, ask Claude to write a Python script and run it via the virtual environment.
  4. If the conversational workflow holds up under realistic conditions, you have a working tool. Ask: does this actually need a traditional UI, or is the conversational interface sufficient for the intended users?
  5. Only invest in a UI if the answer to that question is genuinely yes — not because it feels more “finished.”

Evolution Across Sessions

This establishes the baseline for the LLM-as-UI architectural pattern. The GEARS project is the live demonstration of this approach at a non-trivial scale — six months of development, multiple client onboardings, three modular skills and a shared library. Future sessions should track whether this architecture holds as GEARS moves from alpha to production use, and whether the pattern generalizes to tools with external (non-technical) users.

Derived Artifacts