BRAND & POSITIONING
WEBSITE & CONVERSION
MARKETING & CONTENT
MOTION & STORYTELLING

AVAILABLE FOR FREELANCE
FULL-TIME / PART-TIME

Email: CONTACT@AVAARTJOURNEY.COM

Ava Liu · Case Study

Social Publisher - AI publishing, opportunity intelligence, and creative production

An AI social publishing product that discovers trending topics across the web, combines them with the publisher’s experience and expertise stored in memory, and generates platform-specific posts and images for review or fully automated publishing. It also turns user goals into search strategies, relevant opportunities, and contextual replies.

Goal-Driven AIWorkflow AutomationAI Vendor Evaluation
5Historical Publishing Destinations
HITLReview Before Consequences
MeasuredStage-Level Cost Estimates
01 / Problem & Context

What had to become true

Turn relevant conversations into original, personal content.

I built a workflow that searches the web for trending topics and discussions, then connects them to the publisher’s own experience, projects, expertise, and point of view. The result is content that contributes the publisher’s perspective rather than simply repeating a topic summary.

The product brings together two connected workflows: discovering opportunities and generating replies, and discovering topics and creating original social posts. Both use the publisher’s goals and stored professional context.

Start with the outcome the user wants.

I designed the workflow around goals such as finding client projects, job opportunities, or relevant professional conversations. From the goal and an optional portfolio or product URL, the system generates a strategy covering target audiences, intent signals, problems to look for, and reply approach.

Users can inspect, edit, accept, or deselect strategy suggestions and save them as campaign context. The system works out which discussions could support the goal, so users can begin with their objective rather than manually specifying every search topic.

Publishing was the starting point. Credible participation became the product.

I began with one place to write, adapt, review, and publish across channels. Real usage revealed a larger problem: useful participation depends on community rules, current opportunities, accurate professional supporting information, and content worth sharing.

I reframed the product around goal-first campaigns and source-grounded professional intelligence. The decision was to preserve meaningful context and human judgment rather than optimize only the number of generated posts.

02 / Decisions & Tradeoffs

Architecture follows the constraint

Design the controls around human–AI collaboration.

I translated the AI workflow into product interactions: editable campaign strategy, inspectable candidate context, intent-adaptive reply drafts, content and media review, and separate publishing outcomes for each platform. Users can guide the strategy and review consequential outputs at the appropriate step.

I built request-level tracking for each generation stage, showing model usage, token consumption, completion status, and estimated cost.

I connected these records to budget reservations and platform diagnostics to identify which calls were expensive, incomplete, or failing.

Analyze the publisher once and reuse memory across content workflows.

I pre-analyzed user-provided profiles, portfolio material, project information, experience, and preferences, then stored the resulting context in persistent memory. Topic selection, post writing, creative direction, and replies reuse that context to represent the publisher consistently.

User corrections are saved as reusable preferences and rules. This keeps the publisher’s background and communication style available across jobs while reducing repeated analysis and unnecessary model input.

Connect strategy to discovery, qualification, and response.

GOAL → STRATEGY → REDDIT / WEB DISCOVERY → QUALIFICATION → REPLY DRAFT → REVIEW

The saved campaign guides automated discovery on Reddit or across the web. Candidates are assessed against audience fit, intent, problem fit, the campaign objective, freshness, and reply appropriateness. Results include Why engage, Watch, and an editable draft.

I made reply behavior adapt to intent: an explicit hiring or paid-project request can receive a relevant introduction; a solution-seeking discussion gets a helpful answer with an appropriate connection to the user’s work; general discussions stay expertise-led or value-first. Replies remain available for human review.

Separate source truth, AI judgment, and human authority.

I designed discovery → availability and freshness checks → qualification → intent-adaptive drafts → human review. Uploaded case studies are analyzed, reviewed, and saved as reusable project information. User corrections become independent, persistent rules.

A compact card is for scanning; reasoning uses the full canonical conversation, including external URLs and publication time. This distinction fixed drafts that asked for links already present or omitted a stated budget. Creative direction and factual supporting information are separate inputs.

User or system needInteraction / contract
Inspect groundingShow source filename, section, cached overview, and original supporting information text.
Control consequencesReview copy and selected media before publication; keep platform results separate.
Recover intelligentlyFit copy to platform limits; preserve completed assets and successful posts.
Understand spendShow estimated job cost, outstanding reservations, model/stage events, and failures.

Choose providers and architecture by task fit and failure behavior.

Provider judgment was a practical workflow decision: which stages need semantic discovery or creative generation, and which are better served by deterministic software? I compared actual outputs, intent detection, completion behavior, integration constraints, and recorded cost rather than relying on a polished demo.

StageDecision and tradeoff
Reddit opportunity discoveryRestore AI web-search discovery when cheaper local retrieval loses meaningful buyer intent. Lower spend is insufficient if the user must sift through worse candidates.
Qualification and draftingI combined structured model output with deterministic platform limits and preflight checks.
Creative productionI compared character identity, narrative relevance, typography, factual associations, and cost. The resulting two-slide job met the visual direction.
Cost controlsI tracked stage, model, status, usage, and estimated cost, then settled budget reservations by event ID.

I chose search and generation approaches by task fit, output quality, completion behavior, integration requirements, and measured usage.

AI vendor evaluation: OpenAI and Meta APIs.

I compared OpenAI API and Meta API performance and cost in Social Publisher’s workflows. I assessed the usefulness of the outputs alongside API spending, using task fit and practical operating cost to guide provider choices.

I treated AI-provider selection and search architecture as separate decisions: comparing OpenAI and Meta addressed generation quality and cost; comparing AI web search with Reddit-native/local retrieval addressed discovery quality and token usage.

03 / System Design & Build

What I built

Generate and publish complete social posts from discovered topics.

WEB TOPICS → PUBLISHER MEMORY → ORIGINAL POSTS + IMAGES → PLATFORM ADAPTATION → REVIEW OR AUTO-PUBLISH

I connected web-wide topic discovery, publisher memory, original post generation, image direction and generation, platform-specific copy adaptation, and publishing in one product workflow.

The system creates posts and accompanying images for selected social channels, adapting copy and media to each platform. It supports human review before publishing or fully automated publishing, according to the selected workflow.

I integrated publishing workflows for LinkedIn, X, Facebook, Instagram, and Threads. Platform-specific handling covers copy limits, media selection, single-image and carousel routing, and per-platform publishing results.

Persist the campaign so discovery and replies share the same goal.

I connected editable AI strategy, saved campaign context, automated search, candidate qualification, and intent-adaptive replies into one workflow. The strategy remains available throughout discovery and drafting, keeping search decisions and generated replies aligned with the user’s objective.

Full-stack orchestration with deterministic constraints.

I connected FastAPI, SQLite-backed state, AI APIs, project-information ingestion, and platform publishing adapters. I isolated OAuth identity and scopes, stale credential precedence, copy limits, media routing, and destination outcomes instead of treating every API rejection as one authentication problem.

I corrected job-cost reservations by matching reserved and completed events with stable IDs. The cost monitor reconciled completed requests while retaining the two generated images and completed captions.

For creative production, Capy Studio separates a persistent character/style contract from scene direction, editorial hooks, and numerical truth. Source-linked claims still require human visual review when numbers are embedded in generated images.

04 / Testing & Results

Testing & results

Trace the failing stage before changing the model or the code.

I separated creative quality, model completion, integration failures, and local accounting. A bad image, an incomplete caption, and an unpublished post require different investigations. The useful unit of diagnosis is the workflow step and its returned status, usage, and output—not a generic “AI failed” message.

Observed problemInvestigation and intervention
Images looked consistent but communicated the wrong thingI reviewed scene relevance, character identity, typography, and metric associations separately. I separated the persistent character/style contract from slide-specific actions and props, then checked generated images visually.
A short caption used a surprisingly large output budgetInspect provider-reported input/output usage and completion status rather than estimating cost from visible caption length. Incomplete Instagram output consumed 2,800 output tokens in one recorded job; output usage could include reasoning.
Generation appeared to exceed the reserved budgetTrace reservation and terminal events by stable event ID. The V38 reconciliation corrected stale outstanding reservations after calls settled; generated images and completed captions were retained instead of regenerated.
X returned HTTP 403Verify OAuth identity, scopes, and a minimal text request first. Identity and minimal publishing succeeded; later tests isolated the longer copy’s single-post limit. Add preflight validation, Fit to X, and media handling.
Facebook health disagreed with the active connectionCheck the credential path used by both health and publishing. An old local token overrode healthy OAuth database state. Prefer the current database connection, then the local fallback.
Threads rejected over-limit copyI isolated copy-length rejection and added a final 500-character guard after AI rewriting. A recorded rewrite reduced 1,110 characters to 385.

I checked published copy and media on the destination platforms, connecting API diagnostics to the actual user-visible result.

Measure where tokens go; preserve quality and completed work.

One failed run reported 137,685 tokens already used plus 68,692 requested: a potential 206,377 against a 200,000 token-per-minute limit. This was a rate-budget failure, distinct from a model context-window limit or an unexpectedly high dollar charge.

I measured usage before changing the workflow. An initial 24,914-token run attributed 22,530 tokens to discovery and 2,384 to qualification and drafting. Recording calls by stage showed that discovery—not the short final replies—was the main token cost. Cached tokens were included within the total usage.

OptimizationWhat the supporting information supports
Analyze stable website context onceA recurring run performed zero website fetches, but still used 25,316 tokens. Website caching helped avoid repeat work without solving the discovery bottleneck.
Retrieve and filter before model analysisThe cheaper discovery experiment used 15,807 tokens—approximately 37.6% below the 25,316 run. It was an iteration-specific observation, not the final production saving.
Avoid regenerating successful outputsI retained the generated images and completed captions while correcting the cost monitor, avoiding unnecessary regeneration.
Track token usage and estimated cost by stepIn one tracked task, I made four platform-specific caption-generation calls: Instagram, Facebook, LinkedIn, and X. Together they cost an estimated $0.046655. Two image-generation calls cost $0.020000, and creative planning cost $0.015750, bringing the task total to $0.082405. The stage breakdown showed that caption generation cost more than the images.

For example, the creative-planning call recorded 2,594 input tokens and 2,943 output tokens. Each image call had its own status and estimated cost. Usage was attributed to actual API calls rather than splitting one combined request into invented sub-step totals.

A freshness/resilience run returned four reviewable opportunities but consumed 146,944 tokens, including 136,850 for discovery. Breaking usage down by stage exposed repeated discovery as the source of the cost regression.

Choose search quality over lower token usage.

After campaign strategy, I explored a retrieval-first alternative: use Reddit-native/local search to obtain candidates, filter and deduplicate them, then pass a smaller result set and necessary source context to AI for qualification and drafting. The intent was to move structured discovery work out of expensive model-driven search.

I compared local/Devvit retrieval with AI web search by reviewing whether the candidates contained useful hiring and buyer intent.

Quality questionHow I assessed the result
Did it find buyer intent?Inspect explicit hiring, paid projects, redesign needs, and requests for MVP help—not only topical keyword overlap.
Was the opportunity actionable?Check availability and publication age before qualification. Banned, deleted, removed, 404, and 410 sources were rejected; temporary network errors were handled separately from removed sources.
Did the draft preserve the source?Keep the full post, existing URLs, budget, and request details. A compact display excerpt must not become the reasoning source.
Was the reply appropriate?Review Why engage, Watch, and editable drafts; distinguish direct hiring pitches from expertise or value-only replies.
Was the cheaper path worth keeping?Local retrieval missed buyer intent and increased false positives. I restored OpenAI web-search discovery as the quality-first baseline.

The restored search baseline used 25,030 tokens. A subsequent intent-adaptive run used 24,609 tokens and produced 11 reviewable results. I reviewed candidate relevance and reply behavior throughout the iteration.

I retained the lower-cost experiment and its negative result. The lesson was to optimize the cost of useful, reviewable opportunities—not raw token count alone.

Keep the regressions and the source context visible.

Observed supporting informationResult
Five publishing destinationsI published and checked posts on X, LinkedIn, Facebook, Instagram, and Threads.
Two accepted illustrationsI produced two accepted illustrations with consistent character identity and distinct poses, props, and compositions.
One tracked generation taskThe job monitor reconciled $0.082405 estimated spend and $0.00 outstanding reservation against a $0.20 budget.
Quality-first rollbackA cheaper local-search direction missed buyer intent. I restored the stronger discovery baseline.
A costly resilience improvementA later run returned four reviewable opportunities but consumed 146,944 tokens. Reliability improved while efficiency regressed.
05 / System Capabilities

Core capabilities

Product definition · Source-grounded UX · Full-stack AI workflows · API diagnosis · Token and cost observability · Search-quality evaluation · Human review · Quality-first rollback · Goal-driven strategy generation · Automated Reddit / web discovery · AI Vendor Evaluation · OpenAI / Meta API Comparison · Trending Topic Discovery · Publisher Memory · Post & Image Generation · Review / Auto-Publishing