Back office ops · Production

Building AI Products—Part II: Task-Oriented vs. Component-Oriented Pipelines

The problem

The team's naive single-LLM-call inference pipeline for a daily engineering briefing suffered from context window constraints, poor personalization, relevance mismatches, duplicate summaries across Slack channels, and cascading errors when LLM calls were chained. A copy-paste monolith that followed made any iteration extremely expensive.

First attempt

Bundling retrieval and summarization into a single LLM call broke under real-world conditions; guardrails added later offered no recovery path beyond a full rerun or human intervention. Subsequent copy-pasted pipelines entangled logic through context-aware if-else branching, making even small API changes a multi-week ordeal.

Workflow diagram · grounded in source
1
User activity triggers briefing
trigger
“launched as a daily summary that appeared when you first became active on Slack”
2
Identify user's Slack channels
integration
“Identify the Slack channels each user belongs to.”
3
Per-channel summarization and topic tagging
ai_action
“For each channel, summarize all discussions from the last 24 hours. Identify which topics each discussion belongs to.”
4
Cross-channel topic consolidation
ai_action
“Send the list of all discussed topics to ChatGPT. Ask it to consolidate and deduplicate similar topics.”
5
User interest profile retrieval
integration
“This prioritized list was stored in Postgres and updated using an exponential decay algorithm to keep interests fresh.”
6
Rank topics by user preference
ai_action
“Fetch the list of topics the user currently cares about. Send this list with consolidated summaries to ChatGPT. Ask it to choose the three most relevant summaries based on user preferences.”
7
Generate personalized briefing
ai_action
“Take the three selected summaries and user-specific information. Ask ChatGPT to generate a briefing tailored to the user's perspective.”
8
Guardrails validation
validation
“we quickly added a guardrails stage to catch nonsense before it reached the user”
Reported outcome

Adopting a task-oriented, agent-orchestrated architecture backed by Temporal allowed rapid iteration on individual pipeline stages without disrupting the whole system; the product scaled to 10,000 users by the September 2023 beta launch, and task pipelines became the foundational abstraction of the Outropy platform.

Reported metrics
Product users at beta launch10,000 users
Weekly new user growthadding hundreds of new users every week
Briefings rejected by guardrails before architectural fixmost briefings were rejected
Iteration speed after task-oriented redesigniterate rapidly on individual tasks
Reported stack
ChatGPTTemporalPostgresOpenAIPythonJiraSlackGitHubGoogle Workspace
Source
https://philcalcado.com/2025/03/14/building-ai-products-part-ii.html
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

Adopting a task-oriented, agent-orchestrated architecture backed by Temporal allowed rapid iteration on individual pipeline stages without disrupting the whole system; the product scaled to 10,000 users by the Septemb…

What tools did this team use?

ChatGPT, Temporal, Postgres, OpenAI, Python, Jira, Slack, GitHub, Google Workspace.

What results were reported?

Product users at beta launch: 10,000 users; Weekly new user growth: adding hundreds of new users every week; Briefings rejected by guardrails before architectural fix: most briefings were rejected; Iteration speed after task-oriented redesign: iterate rapidly on individual tasks (source-reported, not independently verified).

What failed first in this deployment?

Bundling retrieval and summarization into a single LLM call broke under real-world conditions; guardrails added later offered no recovery path beyond a full rerun or human intervention.

How is this back office ops AI workflow structured?

User activity triggers briefing → Identify user's Slack channels → Per-channel summarization and topic tagging → Cross-channel topic consolidation → User interest profile retrieval → Rank topics by user preference → Generate personalized briefing → Guardrails validation.