-
-
Site Memory: an installer's private property memory on Nebius Token Factory + NVIDIA Nemotron 3
-
Arrival brief: 30-second cited summary before you knock (Nemotron 3 Nano), conflicts flagged
-
Quick capture: a note becomes facts; the key-safe code goes to the on-device vault, never the LLM
-
Nightly route briefing for tomorrow's stops, written by Nemotron 3 Super
-
Apprentice Skills: versioned checklists learned from your notes and edits, with diffs
-
Export any skill version as a printable checklist for an apprentice
-
Review gate: nothing is saved to memory until you approve, edit or leave it
-
Status: every AI call is live on Nebius Token Factory, with model, latency and tokens
-
Mobile-first: built for a phone on the doorstep
Inspiration
MN Labs builds software for small UK trades, and the people we build for are often one-person installers fitting CCTV, alarms, smart-home kit and heating across hundreds of homes. The hard part of their job isn't the wiring. It's remembering which NVR is in which loft, where the cable was run, which gate the dog is behind, when the boiler warranty ends and what the key-safe code is. That knowledge lives in their heads and in scattered texts to themselves. And when they bring in an apprentice or a sub, none of how they actually do the job is written down.
We wanted a personal AI that remembers every property for you, keeps your customers' codes private, and quietly writes your know-how down as you go.
What it does
Site Memory is a private, always-on memory for an installer, running on your own Mac (or your phone on your Wi-Fi):
- Quick capture. Type a note like a text to yourself. Alarm codes, key-safe codes, gate PINs and Wi-Fi passwords are detected on the device before any AI call, encrypted into a separate Fernet vault and replaced with
[vault: key safe code]. NVIDIA Nemotron 3 Nano 30B on Nebius Token Factory turns the rest into structured facts (kit, access, cable routes, customer, warranty, service dates). Each fact keeps a pointer to its source note. - Arrival brief with citations. Pull up and ask "I'm at 14 Oak St, what do I need to know?". In about two seconds you get a 30-second brief where every line cites the note it came from; lines that cite nothing, or aren't supported by the cited notes, are dropped. Conflicts (two notes disagree on where the NVR is), stale records and services falling due are flagged by rules, so they always show even if the model forgets them. Any fact can be forgotten or redacted into the vault.
- Nightly route briefing. At 20:30 the nightly pass runs itself on NVIDIA Nemotron 3 Super 120B: tomorrow's jobs, each property's kit and access, and the attached skills become a prep list per stop, plus warranties and services due in the next 30 days.
- Apprentice Skills. From your notes and your edits, Nemotron 3 Super writes reusable markdown skill files ("Annual alarm service checklist", "Commissioning a Hikvision NVR"). They're versioned (v1 → v2 → v3 with diffs), attached to properties or job types, and exported as a plain checklist for an apprentice or sub (codes never printed). What you change when you edit a proposal is kept as an edit signal and fed into the next version.
- Review gate. Nothing is written to memory or skills until you Approve / Edit / Later / Leave. Every decision is journalled.
It covers the Personal AI brief end to end: always-on and private (local server, codes never leave the device), persistent memory (cited facts per property that survive restarts, with forget and redact), reusable skills (Apprentice Skills) and tasks across the day (nightly route briefing, doorstep brief, on-the-job capture).
How we built it
- Python + FastAPI backend, vanilla JS mobile-first web UI (no build step), JSON persistence with atomic writes, Fernet (cryptography) vault.
- Nebius Token Factory via its OpenAI-compatible
/v1/chat/completionswithhttpx, JSON mode andchat_template_kwargs: {enable_thinking: false}for doorstep speed. - Per-task Nemotron models: Nemotron 3 Nano 30B (A3B) for capture and arrival briefs (~1.5–2 s); Nemotron 3 Super 120B (A12B) for the nightly pass and for learning / improving skills (~2–3 s in our runs).
- Trust layer around the model: an outbound privacy guard scrubs every request and checks it against every vault plaintext; citations must reference real note ids and pass a lexical grounding check; rule-based flags are merged in; skill "improvements" that don't change anything are discarded and each claimed change must show up in the diff.
- Public demo mode for the hosted instance: per-visitor and global rate limits on Nemotron calls, and the shared MN Labs sample data resets every 30 minutes.
- 37 pytest tests (36 run offline, 1 live Nemotron call), including a test that intercepts every AI task with a mock transport and asserts no secret appears in any request body.
- The demo video is recorded from the real app with a small Chrome DevTools screencast script (
scripts/video/); every AI call in it is live.
Challenges we ran into
- Keeping secrets out of the prompt without losing meaning. Codes are replaced with labelled placeholders so Nemotron still knows "there's a key safe by the garage", and a second guard checks the final serialised request against every vault value.
- Grounding. Early briefs contained plausible but uncited lines. We now require a real note id and lexical support in the cited note, or the line is dropped.
- UK dates. Nemotron occasionally swapped day and month in dd/mm dates, so dates are re-anchored after parsing.
- Speed at the door. Turning thinking off, JSON mode, small context builders and a brief cache keyed on the facts keep the doorstep brief to about two seconds.
Accomplishments that we're proud of
- A complete, polished product a real installer can use today, on a phone at the door.
- Every brief line is traceable to a source note, and codes never reach the model (tested).
- Skills that genuinely improve from the installer's own edits, with versions and diffs a human approves.
What we learned
- Nemotron 3 Nano is fast and reliable enough in JSON mode for real-time doorstep use; Nemotron 3 Super is noticeably better at multi-property planning and at writing clean checklists, and on Token Factory it was still quick.
- The trust features (citations, vault, review gate) matter more to a tradesperson than raw model cleverness.
What's next
- Voice capture and photos (fuse board, NVR label) at the door.
- Share a skill or a single property brief with a sub for one day, then revoke it.
- Calendar sync for the nightly route and reminders for services falling due.
- An iOS home-screen app with offline read of tomorrow's briefs.
Built during the hackathon vs reused
Built during the submission window (from 30 September 2026): all of Site Memory: the property/fact/note data model, on-device secret detection and the Fernet vault, the outbound privacy guard, cited arrival briefs with grounding checks, conflict/stale/due rules, forget and redact, the nightly route briefing on Nemotron 3 Super, Apprentice Skills (learn, improve, versions, diffs, edit signals, checklist export), the generalised review gate with Edit, the mobile-first UI, the public-demo guard rails, demo data and the test suite.
Reused (adapted) from MN Labs' earlier work, also written after 26 August 2026: storage plumbing (thread lock, atomic JSON flush, seed/reset), token-matching recall, the Token Factory httpx client and dry-run fallback, the approve/leave/later decision pattern and the vanilla-JS UI helpers from our Trade Memory engine; the .command launcher pattern from Desk Gate. Details: NEW-WORK.md.
Different from our other entry, Desk Gate: Desk Gate is a back-office invoice-chasing inbox. Site Memory has no invoices, chasing, money or inbox; it's a personal memory of properties plus skills, with a different UI, API, data and problem.
All data in the demo, video and screenshots is invented MN Labs demo data.
Log in or sign up for Devpost to join the conversation.