Crestline Studios · research-to-publishing system
Content Automation Studio
A Crestline Studios content-operations system that turns current research into cited newsletter drafts and complete LinkedIn carousel packages, with visible pipeline state and human approval before distribution.
The automation workspace is an operator system within Crestline Studios, not an unrestricted public publishing endpoint. Provider credentials and live distribution controls remain private.
2
isolated content pipelines
5
complete carousel assets per run
2-step
LinkedIn publication confirmation
1 fixed
allowed newsletter test recipient
The system
From operational problem to reliable workflow.
Problem
Content production loses time across research, writing, image generation, source review, formatting, and delivery. Fully autonomous publishing is fast but unsafe; purely manual work preserves control but does not scale.
Approach
The system keeps carousel and newsletter pipelines independent, streams real provider progress, retains sources and citations, generates channel-specific assets, and makes LinkedIn or email delivery a separate action with explicit confirmation and constrained recipients.
Outcome
Crestline Studios can move from a topic to reviewable newsletter or carousel output, inspect the exact sources and generated assets, and deliberately choose whether to publish—compressing research, production, and packaging without removing editorial control.
Architecture
System architecture
The Studio automates the expensive middle of content operations—research, synthesis, drafting, visual production, and packaging—without collapsing review and distribution into the same action. Carousel and newsletter workflows share provider infrastructure but retain separate prompts, types, state, routes, tests, and delivery rules.
Operator workspace
Presents node-based carousel and newsletter workflows, real pipeline state, source links, generated outputs, review controls, and delivery readiness in one responsive dashboard.
Next.js 16 · React 19 · TypeScript · shadcn · Tailwind
Research adapter
Searches bounded current sources across AI, automation, cloud, security, infrastructure, developer tools, and operator-entered newsletter topics.
Firecrawl server SDK
Generation layer
Produces schema-validated carousel copy, structured newsletter sections, citations, four content-slide designs, a deterministic CTA slide, and an optional newsletter lead visual.
OpenAI Responses · OpenAI Image · Zod
Progress and review state
Streams real research, writing, and per-slide events to the browser and preserves the generated copy, sources, citations, and final assets for inspection.
NDJSON streaming · isolated React state
Guarded LinkedIn publisher
Validates five PNG assets, verifies the configured identity, performs a dry run, requires Publish plus browser confirmation, and reserves a duplicate-prevention ledger entry before a live post.
Local-only Next.js route · Python 3.12 · LinkedIn API · GitHub issue ledger
Constrained email delivery
Sends only a reviewed newsletter test to a server-configured recipient; the browser cannot choose or override the destination.
Resend server API
Execution model
End-to-end execution
- 01
Choose a workflow
The operator selects carousel or newsletter; each path initializes its own prompt, validation schema, state, progress events, and output model.
- 02
Research current sources
Firecrawl gathers a bounded set of recent pages, and the pipeline retains source URLs so the operator can inspect what informed the draft.
- 03
Generate channel-specific copy
The carousel path selects a timely story and writes concise slide copy; the newsletter path produces a structured long-form draft with citations tied to collected sources.
- 04
Render visual assets
OpenAI Image creates complete carousel artwork and can create one text-free 16:9 newsletter lead visual. The fifth carousel slide uses a deterministic subscription CTA.
- 05
Stream and inspect
The dashboard shows actual provider milestones and per-slide completion, then exposes copy, citations, source links, and images for review.
- 06
Confirm a bounded delivery action
LinkedIn requires a ready five-image package, identity verification, validation, dry run, explicit Publish, and a second confirmation. Newsletter delivery is limited to one server-configured test recipient.
- 07
Record publication identity
The LinkedIn flow reserves a GitHub issue ledger entry to prevent duplicates and support recovery when an upstream response is ambiguous.
Implementation
What Harshitha implemented
- Structured carousel and newsletter generation as isolated sibling workflows instead of sharing prompts, routes, UI state, and tests that could leak behavior across channels.
- Used current-source Firecrawl research and retained citations/source links so generated claims remain reviewable before distribution.
- Designed carousel output as five complete images: four generated content slides plus a deterministic fifth CTA, avoiding a fragile second browser text-overlay layer.
- Exposed real NDJSON research, writing, and per-slide progress rather than simulated client-side timers.
- Kept Firecrawl, OpenAI, Resend, and LinkedIn credentials in server-only configuration and out of browser bundles.
- Separated generation from LinkedIn publication through readiness checks, exact identity verification, validation, dry run, manual Publish, and second confirmation.
- Constrained newsletter testing to a fixed-recipient server setting so a client request cannot turn the endpoint into an arbitrary broadcast path.
- Added a scheduled path that processes only explicitly approved manifest entries and uses a ledger for duplicate prevention and ambiguous-outcome recovery.
Contribution summary
- Designed the research-to-output workflow around operator review rather than unsafe one-click autonomous publication.
- Built separate carousel and newsletter paths for current-source research, structured copy, image assets, citations, and truthful pipeline progress.
- Defined delivery controls around server-only credentials, fixed-recipient email tests, LinkedIn identity checks, dry runs, duplicate prevention, and second confirmation.
- Tested the complete operator journey from topic selection through source inspection, asset review, delivery readiness, and guarded publication.
Failure design
Reliability engineering
R01
Risk
Generation silently publishes incomplete or unreviewed content.
Control
Research/generation and delivery are separate routes and actions; no completed generation run automatically invokes LinkedIn or Resend.
R02
Risk
A carousel is published with missing or inconsistent media.
Control
The publisher requires a complete five-PNG package, validates the assets, verifies identity, and performs a dry run before live publication.
R03
Risk
A retry creates a duplicate LinkedIn post.
Control
An issue-ledger reservation records publication identity before the external action and supports ambiguous-result recovery.
R04
Risk
The email endpoint becomes an open relay.
Control
The server owns the only permitted test recipient and rejects destinations supplied by the browser.
R05
Risk
Secrets leak through the dashboard.
Control
Provider keys remain server-side and are excluded from committed source; public exposure is explicitly blocked pending authentication and rate limiting.
Tradeoffs
Technical decisions
Keep workflows isolated
Carousel and newsletter outputs have different schemas, review needs, visual generation, and delivery risks; independent paths prevent accidental coupling.
Stream real provider milestones
Operators need truthful progress and actionable failures, not animation that continues after an upstream provider has already failed.
Constrain delivery before adding autonomy
A fixed recipient, local LinkedIn route, identity checks, confirmations, and ledger are safer foundations than exposing general publishing first.
Credibility
Evidence and scope
Live Crestline Studios surface
The live Crestline Studios site is the canonical public surface for the content automation and AI implementation work.
Reviewed automation implementation
The reviewed system documents separate carousel and newsletter routes, provider boundaries, real NDJSON progress, fixed-recipient delivery, LinkedIn validation, duplicate prevention, and explicit production limits.
Attribution boundary
Harshitha's work covers the content-automation product flow, workflow design, review boundaries, provider integration behavior, delivery safeguards, and end-to-end operator testing described here. Crestline Studios is the canonical public product surface; private credentials and distribution infrastructure are intentionally excluded.
Technology