2026-09-23·by Sijie Wang#standmeet#product

boundaries

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.

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →