Loop — Process Compliance & Recognition

WFR internal tool. Two message types, three tables, Slack delivery, one AI call.

Manager send / dashboard Employee inbox / acknowledge TanStack Start · Vite · cookie auth Loop web app 7 screens · role-aware nav · email picker login Dashboard · Send · Reminder · Inbox Employee profile · Processes · Process detail localhost:3000 → public URL TBD Web Speech API mic on note + AI prompt Note editor type · voice · Help me write this Convex backend queries / mutations / actions · server-only secrets employees.ts processes.ts reminders.ts slack.ts action ai.ts action seed.ts stubs until bunx convex dev Convex tables employees · name, email, role, is_manager, slack id processes · name, source, url, category reminders · type, note, priority, status, feedback derived: repeat count, recognition ratio, process counts pending = corrections only Slack DM chat.postMessage · link to /reminder/[id] Anthropic claude-sonnet-4 SOP URL Trainual / Notion / Docs HTTPS ack persist DM Slack DM with /reminder/[id] Two workflows Correction · purple Process → Correction → Acknowledgement → Compliance priority · pending until “I've read and understand this” optional employee feedback · repeat-count banner Recognition · green Process → Recognition → Reinforcement → Culture logged as acknowledged · no action required tones: Warm / Enthusiastic / Professional Legend Frontend Backend Database External Slack delivery

What it is

  • • Internal WFR tool, not an LMS or HR suite
  • • Manager sends a correction or a recognition
  • • Both are tied to a process / SOP URL
  • • Slack DM carries the /reminder/[id] link

What exists

  • • App scaffolded: TanStack Start + Convex
  • • Docs site: this Fumadocs project
  • • Slack and Anthropic stub without tokens
  • • Convex never provisioned; no public app URL yet

Not v1

  • • Registration, SSO, email, native app
  • • Escalation, weekly digests, reporting
  • • Trainual API — SOP links are just URLs
  • • Multi-tenancy beyond cheap org seams