Boundaries — what it is NOT
Parent: product
StandMeet is not a job-seeking tool. Hiring is an obvious application (a recruiter pre-reads, then asks better follow-ups), but the owner's own use comes first — external brain, drafting, articulation, synthesis, curation. (founder-product-fit)
And it must not drift into:
- a personal AI assistant (that's generic)
- a public broadcast / blog (that's performance)
- a content-automation tool (that's marketing)
- a live chat with Sijie (defeats the purpose)
- an anyone-can-book-a-meeting service (mismatched with selective engagement)
Core boundary: StandMeet is a "thought-leadership filter for selective engagement," not a generic AI SaaS feature.
Two of these have been crossed by shipped code — flagging, not resolving
Recorded because a boundary that quietly stops matching the code is worse than a boundary that was deliberately moved. Both need an owner decision; neither is a bug.
- "Not a job-seeking tool." An outbound job loop exists in the backend (
internal/owner/jobs: fetch from 18 source kinds — Greenhouse / Lever / Ashby / RemoteOK / WWR / HN and twelve more, down to a generic schema.org JSON-LD ingester and a generic RSS adapter (fetch/jobfetch.go:36-63; 7dd19527b 2026-09-02, d235f9817 2026-09-04) — into a 1-day Redis pool,resume.draft→ an owner-reviewed staging preview, since 2026-09-07 a visual Puck composer (756c0eb1d) →applications.commit, which writes the application row, auto-issues an access code, and renders an ATS-friendly PDF — drawn by the same Puck config the composer shows, printed by gotenberg's Chromium from/print/application/<id>(1b1ebed2b,backend/cmd/server/boot_pdf.go) — with a QR pointing at<public_url>/?code=…(jobsuc/applications.go:317)). That is not "hiring as an application of the corpus" — it is a second product direction with its own tables, its own MCP verbs and a PDF renderer, and it reverses the direction of the whole thing: the corpus stops waiting to be read and goes out to find its reader. - "Not an anyone-can-book-a-meeting service." The booker capability ships (
mcp-servers/booker, Google Calendar (openapi) + CalDAV (protocol) connectors behind the calendar contract, idempotent booking). The boundary still holds in the sense that matters — booking is capability-gated, so it appears only for a visitor whose code grants it, which is precisely "selective engagement" rather than "anyone". Worth restating that way rather than leaving the flat denial standing.
The first is the live one: an outbound loop is not obviously the same product as an inbound filter, and the note should say which it is.