How it works

Your work app is three pieces on your own laptop: a folder of files, a browser tab at http://localhost:9950 that shows them, and Claude in the Code tab of the Claude desktop app, which changes them. This page shows how the three fit together. The pages below go into each part.

The three pieces

PieceWhat it isWhat you do with it
The folderYour app: its data files, its wiki pages, its codeNothing directly. You open it in the Code tab, and Claude reads and edits it
The browser tabThe app's screen, served from your laptop at localhost:9950Read your modules, tick tasks, add and edit rows
The Code tabClaude, opened on the folderAsk for changes, new modules, imports, fixes and explanations

localhost means "this computer". The address works only on your laptop, and only while the app's server is running. Claude starts that server for you and keeps it running on port 9950. If the tab ever says it cannot connect, ask Claude: "Is my app running? Start it if not."

What runs where

Everything runs on your laptop. There is no hosting, no sign-in and no database.

PartWhere it livesWho changes it
Data filesapp/data/, one per moduleYou on screen (datatable rows only) and Claude
Wiki pages and Aboutapp/wiki/ and app/data/about.mdClaude
Module filesapp/src/modules/, one per moduleClaude
Blocks and other codeapp/src/Claude, when content alone cannot do it
The dev serverA program on your laptopClaude starts and restarts it

Claude asks for your approval before it runs a command or changes files, depending on your settings. You stay in charge of every change.

Nothing leaves your laptop

The app itself sends nothing anywhere. Its data is plain files in your folder, and the screen reads them through a small server on your own machine.

Two things do go beyond the laptop, and you control both:

  • Your conversation with Claude. What you type, and the files Claude reads to answer you, go to Claude like any chat does.
  • Connectors, when you add them. A connector lets Claude read from a tool such as SharePoint or Jira, with your own permissions. See Agents and connectors.

The app runs on your laptop, for you. Nothing is published.

One change, two ways

Sam, a customer success manager at Brightlane, has their app open. Here is the same kind of change made from each side.

From the screen. In Tasks they tick "Send Tallow & Co the renewal proposal". The browser sends the change to the server on their laptop. The server writes the row's status, done, into app/data/tasks.json.

From Claude. In the Code tab they type: "Add Daniel Reyes's colleague Eva Strand to People: Head of operations at Harbourline Logistics, met at the rollout call on 6 October." Claude adds a row to app/data/people.json. Within about five seconds, the People page in their browser reloads by itself and shows the new row.

Both changes end up in the same files. That is the whole design: one set of data files, two writers, one screen.

The pages in this section

PageRead it to understand
Data filesWhere your data lives, and what happens when you and Claude both write
Modules and blocksHow the sidebar is made, and how a new module needs no new code
Fields and viewsColumns, field kinds, tabs, and the table and task views
The wiki and AboutHow pages are written and why they use Markdoc
Agents and connectorsHow Claude reaches the tools where your work lives