Aleksandr Minchenkov

Case study

Social Surface

A review-first web product for discovering relevant public X conversations and preparing contextual replies.

Social Surface gives a founder or operator with an offer to promote a clear starting point for discovery: an offer card that captures the perspective behind the search.

The offer card focuses on the audience, their pain points, and the allowed and disallowed claims that shape a contextual recommendation. That context guides the product toward public X conversations where the offer can add useful value.

The outcome is an explainable set of relevant conversations with enough context for thoughtful human engagement. Social Surface helps the operator find an appropriate opening and prepare a useful introduction for each conversation.

From offer to a useful conversation

Generic searching is noisy because the same words can describe a complaint, a competitor, a joke, or a request with little fit for the offer. It also makes the result hard to repeat: another search can surface an entirely different mix without explaining why a conversation mattered.

A useful introduction starts with a public conversation where someone has already expressed a relevant question, pain point, or intent. That context gives the operator a grounded way to decide whether the offer can help.

Social Surface frames discovery as a recommendation problem. It helps the operator find public X conversations where the offer may be a useful, contextual response, then gives them enough evidence to decide whether engaging is appropriate.

Turning an offer into a search model

The offer context is turned into AI search intents and X query packs. These working hypotheses express how relevant people might describe their situation, and the operator can inspect and edit the query packs before collection begins.

A scheduled X recent search brings public posts into the pipeline through the X search API. The system normalizes the result, deduplicates repeated material, and persists the record before making a relevance decision. This creates a stable reviewable input with clear provenance for each suggestion.

Deterministic prefiltering and deduplication focus the shortlist on distinct, relevant material. AI-assisted candidate scoring then explains why a post may relate to the offer and supports judgement through a person-led engagement decision.

A bounded decision pipeline

Each stage contributes evidence for the next one and gives the operator a clear basis for a final engagement decision.

  1. Step 1

    Offer context

    Create an offer card that captures the audience, pain points, and allowed and disallowed claims.

  2. Step 2

    Search intents and query packs

    Generate AI search intents and editable X query packs that express how relevant people may describe their need.

  3. Step 3

    Scheduled X recent search

    Use the scheduled worker to collect matching public X conversations through recent search.

  4. Step 4

    Normalize, deduplicate, persist

    Normalize the collected posts, deduplicate repeated material, and persist the reviewable record.

  5. Step 5

    Deterministic prefilter

    Apply predictable checks that focus the review queue before AI-assisted judgement is applied.

  6. Step 6

    Candidate scoring and shortlist

    Use AI-assisted candidate scoring to produce a shortlist with an explanation of possible relevance.

  7. Step 7

    Dashboard review

    Let the user inspect each candidate, the offer context, and the relevance explanation in the dashboard.

  8. Step 8

    Contextual draft and engagement

    The user requests and reviews a contextual draft, then personally decides whether and how to engage.

The architecture behind the review surface

The dashboard is a Next.js App Router application built with React, TypeScript, and Tailwind. It is where an operator defines the offer, edits search inputs, performs candidate review, reads candidate explanations, and reviews a manual reply draft alongside scheduled processing work.

A worker runtime performs scheduled X recent search, normalization, deduplication, persistence, and the ordered candidate-processing pipeline. Shared packages keep the offer, query-generator, candidate-engine, and draft-engine boundaries explicit so the dashboard and worker use the same domain rules.

Supabase provides Postgres and Auth, while the X API supplies the public conversation search and OpenAI is used for search-intent generation, scoring support, and contextual draft assistance. The technology boundary places deterministic collection, filtering, and persistence before AI work, with service secrets kept server-side.

What the user controls

The operator controls the offer context, including the claims that are allowed or disallowed, and can edit the search intents and X query packs. The dashboard presents a candidate shortlist with the evidence needed for review.

For a candidate they choose to investigate, the operator can request a contextual draft and review its reasoning and wording. They retain the final decision about whether, when, and how to engage in the public conversation.

Social Surface works with public X conversations and supports a human-in-the-loop review process. Engagement is a person-led action after review, guided by the offer context and candidate evidence.