Skip to content
Lubo Bali
All notes

Note 02Week 46AI agents2 min read

AI for site work that runs offline. Every report line has its proof

TL;DR

An iPhone app for teams that check work on site, plus a dashboard for their manager. The AI runs on the phone, so it works with no signal. Code writes every fact, the AI only picks. Every sentence points to its proof, and people sign with Face ID.

39prompt-injection attacks tested on the iPhoneSee the proof (opens in a new tab)
  • 0bars of signal needed
  • 15 of 16printed pages read, offline
  • 39attacks tested
  • ~2,800automated tests

The problem on site

Site work happens far from internet: roads, buildings, homes, solar farms. The person on site takes photos, reads invoices, talks to people. Then the manager back in the office must trust a report they did not see being made.

Mission Copilot is an iPhone app for that person, plus a dashboard for their manager. The AI runs on the phone, so it works in airplane mode. No cloud, no data leaves the phone.

Mission Copilot on the iPhone: the home screen, and the mission screen saying Ready for the field

Before the trip, the app checks everything is on the phone: the mission pack, the AI, speech in English and French, free space. Then it says "Ready for the field".

The AI only picks, code writes the facts

Small AI on a phone makes things up. Wrong numbers, made-up details. So in this app, code writes every answer and the AI only picks. It never decides a fact.

Every sentence in the report points to its proof: a photo, a line on a scanned invoice, or the officer's own voice.

Hard to fool

I wrote 39 prompt-injection attacks against it, and 6 of them knew exactly how the defenses work. Without the checks, 8 got through. With them, only 2.

Both were a "perfect forgery": a fake invoice that looks 100% real. No reading of paper can catch that. So the last check is a person. The officer approves with Face ID, the manager endorses with Touch ID, and after that the report can't change.

The manager dashboard in dark mode: reports to review, red flags found by fixed rules, and a risk radar (all data fictional)

Tested on a real phone

  1. Airplane mode

    The whole chain offline

    Scan, debrief and report on an iPhone 13 Pro Max with no signal.

  2. Phone reset

    One real bug found

    After a reset the phone kept an old Face ID key, so the report would not send.

  3. Fixed

    Test first, then recorded

    I wrote the failing test, fixed it, then recorded the full demo on production.

~2,800 tests did not catch that bug. A real phone did. You need both.

Does your team work on site?

Home inspections, construction sites, insurance claims, property management, solar and utility work. If your people walk a site and someone else has to trust their report, this fits. Watch the 8-minute demo on the project page.

Want something like this for your team? Message me.

Built with

  • Swift 6
  • MLX
  • FastAPI
  • Postgres
  • Face ID
See the code on GitHub (opens in a new tab)

Get the next note by email

One short email when a new note is live. What I built, what broke, real numbers. About every 2 weeks.

No spam. Unsubscribe in one click. I keep only your email.

Have a problem like this? Get your free AI blueprint in about a minute.

Tell me your problem. I'll find a way to build the solution.

Available now

Book a free 30-min call (opens Calendly in a new tab)

No obligation. Pick a time that suits you.

Prefer email?data@lubobali.com