the manual

Using Pip

How Pip is set up on a planner's PC and phone, what to ask it, and what to do when something isn't right. Beta testers get the Pip server package and the apps from us directly.

Pip is beta software. Test it on a copy of a schedule. Pip needs your own licensed mine design and scheduling software, and is not made or endorsed by its maker.

Requirements

On the PC (Windows)On the phone
Your licensed mine design and scheduling software, with your scheduleThe Pip app: Android, or iPhone ("Pip AI")
The Pip connector for your design softwareTailscale, signed in to the same account as the PC
Node.js 20 or newer
Claude Code (native Windows installer), signed in with a Claude Pro or Max plan
Tailscale

Setting up (once)

  1. Design software. Install the Pip connector, start it, open a copy of your schedule, and connect the schedule in the connector panel.
  2. Claude Code. In a terminal, run claude once and sign in (or claude auth login).
  3. Pip server. Unzip the Pip server folder anywhere, for example Documents\Pip.
  4. Check. Double-click check-pip.cmd. Every line should say OK. Lines marked FIX tell you what to change; most are schedule names, set in pip.config.json.
  5. Start. Double-click start-pip.cmd and leave the window open while you use Pip.
  6. Tailscale. Share the Pip server privately with your phone by running, once:
    tailscale serve --bg --https=443 http://127.0.0.1:5173
    tailscale serve status then shows your address, like https://my-pc.my-tailnet.ts.net. Accept if Tailscale asks you to turn on HTTPS certificates or MagicDNS.
  7. Phone. Sign in to Tailscale, open Pip, enter the address from step 6, tap Test, then Save. The gear button changes it later.

Asking Pip

Hold the big button, ask, release. Or type. For example:

  • "How is this week looking?"
  • "What drives next week's ore tonnes?"
  • "Which stopes are mucking in week 12 and at what rates?"
  • "Double the boggers on stope 5-1 next week."
  • "Show me stope 10 in CAD."
  • "Design the drilling for stope 10."

Pip answers out loud with the figures on cards. Once you start talking, Pip shrinks to a small strip at the top so the answers get the screen; tap the strip to bring big Pip back.

Changes and confirmation

When you ask for a change, Pip shows a proposal listing every edit. Nothing happens until you tap Apply… and then Yes, apply. Pip then writes the edits and reads every value back.

  • Applied changes live in the open schedule only. Save the schedule to keep them, or close without saving to undo.
  • Task dates can't be moved directly. Pip changes rates instead, and the scheduler recalculates the finish dates.

Stopes in CAD

Ask where a stope is and Pip selects its solids in CAD, zooms to them and shows a screenshot on the phone (tap it to enlarge). The stope is filled yellow with a white outline and the rest of the view is dimmed. Pip draws the picture with the CAD software's own renderer, so it works with the PC locked, CAD minimised or other windows open, and never captures anything but CAD. Pip changes only the CAD selection and view, never the schedule.

Drill designs

Pip drafts a production ring layout for one stope with the saved stope-design rules. It takes about ten seconds and reads CAD only. The default rules:

  • Fans from the ore drive under the stope, pivot 2 m above the floor.
  • A 760 mm boxhole and a 3 × 3 m rise at the start end.
  • 89 mm holes at 2 m burden and 2.2 m toe spacing.
  • 6.1 m brow cables between firings.

You can change a rule for one design ("stope 10 with 2.5 m burden") or save it as your default. The phone shows the hole count, metres, the checks, a preview and View in 3D: drag to rotate, pinch to zoom, two fingers to pan, tap a hole for its ID and length, and Plan, Long and Across buttons for standard views.

Nothing goes into CAD until you tap Draw in CAD… and Yes, draw. The holes are drawn on a new layer under RINGDESIGN\PIP and every hole is read back and checked.

A design is a geometry draft, not an approved drilling or firing plan: the boxhole axis is picked automatically, ring planes are vertical, and rig reach is not checked.

Teaching Pip

When you ask for something Pip can't do yet, for example a cable row after the last firing, Pip says so and saves your request to the skill's backlog; the chat shows a 📝 note with its ID. Ask "what's in the design backlog?" to hear the open items. The backlog is worked through and the skill updated, so Pip can do it next time.

Chats

Pip names each chat after its topic. When you ask about something unrelated, Pip starts a new chat by itself and keeps the old one. Tap ☰ to see and reopen earlier chats (Pip remembers what was said in them) or delete them; tap + for a new chat. Chats and their screenshots are saved on the PC.

Pip in CAD

The Pip add-in puts Pip on top of your design software on the PC. Install it once with the software's plugin manager; it talks to the Pip server on the same PC. Drag Pip anywhere over the CAD window and click it to open the chat beside it; click again to close. Pip thinks, talks and shows the mood of its answer while it works.

  • Selections, zooms, layer changes and screenshots show up in CAD as Pip makes them. Answers in the CAD chat are short, with the figures on cards.
  • Pip can use every command the connector offers. Reading and looking run at once; anything that changes CAD, the schedule or files is described first and runs only after you say yes. Each change is written to a log with your words.
  • The chat has your earlier chats (History) and the skills settings, the same as the phone app.

Skills from GitHub

Skills can come from a GitHub repository your team keeps. Turn on Skills from GitHub in the app or the CAD chat settings, and give the repository, branch and folder. Pip keeps its own copy of that folder on the PC and syncs it every 30 minutes, or when you ask it to sync the skills.

  • Pip's own changes (approved skill updates, saved defaults, the request backlog) are kept as local commits that never leave the PC.
  • If GitHub changed the same lines, Pip keeps its version and reports the files to merge by hand.
  • Pip signs in with the PC's own GitHub login, or with a read-only key the repository owner adds for that PC, so planners need no GitHub access of their own.

Site settings

Pip needs to know a few names from your schedule. Set them in pip.config.json next to the Pip server; delete a setting to go back to its default, and run check-pip.cmd again after editing.

SettingMeaning
siteNameShown in the app title and told to Pip
weekStartsOnFirst day of your report week, e.g. "sunday" or "monday"
metricsThe targets Pip can plan against: the schedule report row and task production field for stope tonnes, total ore tonnes and lateral development
reportRowsSchedule report rows Pip reads for each week
productionFieldsTask production fields Pip sums, and may edit
fieldsCustom task fields for activity, stope ID, stope number, lode and level
activitiesValues of the activity field for stoping and ore drive development
fleetPart of the resource names of your stoping and development fleets
claudeAuth"login" (default) uses Claude Code's own sign-in; "inherit" if Claude Code runs on an API key or company gateway

Your data

Each question sends the relevant schedule figures (week totals, task names, rates and field values) to Claude through your own Claude Code sign-in, as part of the conversation. Nothing is sent to the Pip developer. Check your company's policy before using real production schedules.

Troubleshooting

SymptomWhat to do
Phone: "Server unreachable"Is the start-pip.cmd window open? Is Tailscale connected on the phone? Does tailscale serve status on the PC show port 5173?
Pip is asleep, "connector offline"Start the Pip connector and open your design software.
"Scheduler not connected"Open the schedule and connect it in the connector panel.
"Claude Code: Failed to authenticate"Run claude auth login. With an API key or gateway, set "claudeAuth": "inherit".
Blank figures or wrong namesRun check-pip.cmd and fix the FIX lines in pip.config.json.
Port 5173 already in useStart the server with node server.mjs --port 5180 and use that port in the tailscale serve command.

Still stuck? Ask in the Pip Discord, or get in touch with what you asked and the last lines from the server window.