An AI copilot that triages the signals, and leaves the decisions to the PMUn copiloto de IA que tría las señales, y deja las decisiones al PM
As Product Lead on a six-person cohort team, I framed the problem and authored the founding artifacts for Juno: an AI associate PM that triages multi-channel signals through a rules-plus-LLM pipeline, where the human stays the only actor who can change the world.Como Product Lead de un equipo de seis en la cohorte, encuadré el problema y escribí los artefactos fundacionales de Juno: un PM asociado de IA que tría señales multicanal con un pipeline de reglas más LLM, donde el humano es el único que puede cambiar el mundo.
The problemEl problema
RocketShip, the fictional B2B SaaS in the course scenario, grew fast enough that its own PM org became the bottleneck. The team took in more than 50 inbound signals a week across support tickets, user interviews, sales calls, Slack threads, exec emails, and CRM notes, each one costing roughly 45 minutes to triage. That is close to 37 hours of cognitive labor before a single product decision gets made. The result was prioritization by loudest voice: a $340K churn threat sitting unread over a weekend while a cosmetic dark-mode request got Monday's attention. The team had budget for tooling experiments, not for headcount. The brief names this state "signal collapse," the point where more data produces less clarity.RocketShip, el SaaS B2B ficticio del escenario del curso, creció lo suficiente como para que su propia área de producto se volviera el cuello de botella. El equipo recibía más de 50 señales entrantes por semana entre tickets de soporte, entrevistas de usuario, llamadas de ventas, hilos de Slack, correos de dirección y notas de CRM, cada una con un costo cercano a 45 minutos de triage. Eso son casi 37 horas de trabajo cognitivo antes de tomar una sola decisión de producto. El resultado era priorizar por la voz más fuerte: una amenaza de churn de $340K sin leer todo un fin de semana mientras un pedido cosmético de modo oscuro se llevaba la atención del lunes. El equipo tenía presupuesto para experimentos de herramientas, no para contrataciones. El brief llama a este estado "colapso de señal", el punto donde más datos producen menos claridad.
My role on the teamMi rol en el equipo
This was a team project. I was Product Lead on Group 5, a six-person cohort, and worked with the cohort team through the full build. I owned the product definition and authored the founding artifacts: the project brief, the product, objectives, and KPI sections of the PRD, and the agent spec. The work spans the arc the course teaches, problem framing, RAG architecture, AI-native UX, the agent workflow spec, and the evaluation and guardrails plan. Where I say "I designed" below, it means I led that decision with the cohort team; the engineering, prototype, and deck were built together.Este fue un proyecto de equipo. Fui Product Lead en Group 5, una cohorte de seis, y trabajé con el equipo de la cohorte durante todo el build. Fui dueña de la definición de producto y escribí los artefactos fundacionales: el brief del proyecto, las secciones de producto, objetivos y KPI del PRD, y el agent spec. El trabajo abarca el arco que enseña el curso: encuadre del problema, arquitectura RAG, UX AI-native, el agent workflow spec y el plan de evaluación y guardrails. Cuando abajo digo "diseñé", quiere decir que lideré esa decisión con el equipo de la cohorte; la ingeniería, el prototipo y el deck se construyeron en conjunto.
What I ledQué lideré
- Framed the problem with a quantified modelEncuadré el problema con un modelo cuantificado: used Little's Law and the Kingman equation to show the pre-Juno PM was running at roughly 300% of load capacity even at about 32 signals a day, making the bottleneck a measurable scale problem rather than a vibe.usé la ley de Little y la ecuación de Kingman para mostrar que el PM anterior a Juno operaba a cerca del 300% de su capacidad de carga incluso con unas 32 señales al día, dejando el cuello de botella como un problema de escala medible y no una sensación.
- Wrote the 16-page AI PRDEscribí el PRD de IA de 16 páginas: all 14 template sections, approvals, abstract, business objectives and KPIs, user journeys, functional requirements across four product surfaces, model, data and prompt requirements, the eval spec, eval gates, costs and latency, assumptions, compliance, and rollout.las 14 secciones de la plantilla: aprobaciones, resumen, objetivos de negocio y KPIs, journeys de usuario, requisitos funcionales en cuatro superficies de producto, requisitos de modelo, datos y prompts, el eval spec, los eval gates, costos y latencia, supuestos, cumplimiento y rollout.
- Designed the agent as a Level-2 copilot, not an autonomous agentDiseñé el agente como copiloto de nivel 2, no como agente autónomo: specified a Planner-Executor architecture, an eight-way orchestrator that routes each signal in one to two milliseconds, with a ReAct sub-loop only when the LLM verifier is in play, plus a mandatory PM review gate. No P0 or P1 is "done" without a logged human action.especifiqué una arquitectura Planner-Executor, un orquestador de ocho vías que enruta cada señal en uno o dos milisegundos, con un sub-loop ReAct solo cuando entra el verificador LLM, más un gate obligatorio de revisión del PM. Ningún P0 ni P1 queda "listo" sin una acción humana registrada.
- Specified the five-layer engineEspecifiqué el motor de cinco capas: a 20-category rules engine with about 100 hand-tuned regexes, a signal orchestrator, an async verification queue with a math-derived sampling policy (100% of P0/P1, 35% of P2/P3, plus noise and resolution audits), the PM review gate, and an adaptive-weights learning loop that demotes regex patterns below 0.6 agreement.un motor de reglas de 20 categorías con cerca de 100 regexes ajustados a mano, un orquestador de señales, una cola de verificación asíncrona con una política de muestreo derivada de matemáticas (100% de P0/P1, 35% de P2/P3, más auditorías de ruido y resolución), el gate de revisión del PM, y un loop de aprendizaje de pesos adaptativos que degrada patrones regex por debajo de 0.6 de concordancia.
- Defined strict read/write tool boundaries as the guardrailDefiní límites estrictos de herramientas lectura/escritura como guardrail: Juno can draft, comment, and flag, but never changes Jira priority or status, never messages customers, and never touches the roadmap. The documented worst case is a wrong badge on a card, never a wrong ticket or message out in the world.Juno puede redactar, comentar y marcar, pero nunca cambia prioridad o estatus en Jira, nunca escribe a clientes y nunca toca el roadmap. El peor caso documentado es una etiqueta equivocada en una tarjeta, nunca un ticket o mensaje equivocado suelto en el mundo.
- Authored the prompt requirementsEscribí los requisitos de prompts: versioned, golden-set-tested instructions (copilot system prompt, wide classification prompt, narrow verification prompt) with explicit do-not rules against fabricated metrics, names, and figures.instrucciones versionadas y probadas contra un golden set (system prompt del copiloto, prompt de clasificación amplia, prompt de verificación estrecha) con reglas explícitas contra métricas, nombres y cifras inventadas.
The design targetsLos objetivos de diseño
The scenario set the goals the design was built to hit. These are course-defined target metrics, not measured production results. The design aimed to cut triage time from 45 to 15 minutes per signal (the modeled goal), hold P0/P1 severity accuracy at or above 90% against human-labeled ground truth, raise signal coverage from 70% to at least 95% within 24 hours, and move the PM's strategic-time ratio from 15% to over 40%. I designed the engine and the eval spec around those numbers as the bar to clear, not as an outcome we observed.El escenario fijó las metas que el diseño debía alcanzar. Son métricas objetivo definidas por el curso, no resultados medidos en producción. El diseño buscó recortar el tiempo de triage de 45 a 15 minutos por señal (la meta modelada), mantener la exactitud de severidad P0/P1 en 90% o más contra ground truth etiquetado por humanos, subir la cobertura de señales de 70% a al menos 95% en 24 horas, y mover la razón de tiempo estratégico del PM de 15% a más de 40%. Diseñé el motor y el eval spec alrededor de esos números como la barra a librar, no como un resultado observado.
What we shippedQué entregamos
The cohort team shipped a working prototype, a live Little's-Law simulator with 11 deterministic test scenarios, plus a full PRD, agent spec, tech spec, orchestration one-pager, and a 10-slide final deck. The instructor's verbatim note on the panel review was "amazing, amazing work done by this group," with a single pointed push: connect the leading indicators (triage-time cut, PM-in-loop, load capacity) to lagging business outcomes, shipping the right product faster and the revenue and churn impact behind it. I took that as the honest gap in the case: we modeled the operational levers well, and the line from those levers to dollars was still a design assumption, not a measurement.El equipo de la cohorte entregó un prototipo funcional, un simulador en vivo basado en la ley de Little con 11 escenarios de prueba deterministas, más un PRD completo, agent spec, tech spec, un one-pager de orquestación y un deck final de 10 diapositivas. La nota textual del instructor en la revisión del panel fue "amazing, amazing work done by this group", con un solo empujón puntual: conectar los indicadores adelantados (recorte de tiempo de triage, PM en el loop, capacidad de carga) con resultados de negocio rezagados, enviar el producto correcto más rápido y el impacto en ingresos y churn detrás. Lo tomé como el hueco honesto del caso: modelamos bien las palancas operativas, y la línea de esas palancas al dinero seguía siendo un supuesto de diseño, no una medición.
Methods and stackMétodos y stack
AI PRD, agent spec, agent workflow spec, RAG architecture, Planner-Executor plus ReAct, an eight-way orchestrator, the five-layer engine, adaptive rule weights, eval gates over a golden set, prompt versioning, and a Little's-Law plus Kingman capacity model. Built on FastAPI, pgvector, Ollama (Gemma 3 4B), Gemini 2.5 Flash, sentence-transformers MiniLM, and a Vite, React, TypeScript, Tailwind, and shadcn/ui front end, deployed on Vercel with Docker Compose.PRD de IA, agent spec, agent workflow spec, arquitectura RAG, Planner-Executor más ReAct, un orquestador de ocho vías, el motor de cinco capas, pesos de reglas adaptativos, eval gates sobre un golden set, versionado de prompts, y un modelo de capacidad basado en la ley de Little y Kingman. Construido sobre FastAPI, pgvector, Ollama (Gemma 3 4B), Gemini 2.5 Flash, sentence-transformers MiniLM, y un front end de Vite, React, TypeScript, Tailwind y shadcn/ui, desplegado en Vercel con Docker Compose.
Team project for the Product School AI Product Management course. The metrics here are design targets from the course scenario and the PRD, not measured production results. RocketShip is a fictional company used in the course brief.Proyecto de equipo para el curso de AI Product Management de Product School. Las métricas aquí son objetivos de diseño del escenario del curso y del PRD, no resultados medidos en producción. RocketShip es una empresa ficticia usada en el brief del curso.