Skip to content

Advertisement

socially.See which deals were in the room.Connect the events you host to your HubSpot or Salesforce pipeline.See how it works
Monday, September 28, 2026Research

AI at Work·High Signal

I turned years of ChatGPT conversations into a product operating system

The most valuable information in your company may already be trapped in your chat history.

High Signal with Jeremy Vargas
High Signal with Jeremy Vargas

For years, I used ChatGPT to think through Socially, a personal project of mine. Product decisions. Technical architecture. Pricing. Positioning. Competitors. Security. Customer discovery. Branding.

The problem was that all of that reasoning lived inside separate conversations. I could remember that I had made an important decision. But I often couldn't remember which conversation contained it, why I made it, what alternatives I rejected, whether it was still current, or which later decisions depended on it.

I had accumulated a company's worth of thinking, and it was trapped inside a chat archive.

So I turned my exported ChatGPT conversations into a structured knowledge base for Socially. Not a giant folder of transcripts. A usable operating history for the company I am building.

Here's how I did it, and what I learned.

The goal was not "search my old chats"

Search would have been useful, but insufficient. I wanted to answer questions like:

  • Why did I choose this architecture?
  • How did Socially's positioning evolve?
  • Which competitors have we actually analyzed?
  • What did I decide about CRM attribution?
  • Which ideas were superseded?
  • Did a "customer" conversation involve a real customer or demo data?

That required more than retrieval. It required classification, judgment, source tracking, and durable structure.

The real goal was to transform this:

Thousands of chat messages

into:

A trustworthy company knowledge base

The first lesson: context is expensive

The naive approach would be to give an AI every conversation and ask:

"Tell me everything important about Socially."

However, long conversations contain:

  • Repeated instructions
  • Repeated context
  • Tool output
  • Drafts that were never used
  • Dead ends
  • Contradictory ideas
  • Personal material
  • Technical details that only mattered temporarily

If you process everything with the strongest model every time, you waste tokens and make the system harder to trust. The solution was to separate the work into stages.

The architecture I used

1. Export. I started with the raw ChatGPT export and preserved the original data untouched. The export was not organized around the way I think about Socially. It was just a large pile of conversation files.

2. Manifest. I created a manifest containing the conversations I wanted to process. Each entry included:

  • Conversation UUID
  • Title
  • Chunk assignment
  • Flags for people, prospects, competitors, customers, and special handling

The manifest became the source of truth. This was important because conversation order, export file names, and internal IDs were not always interchangeable.

A UUID is much safer than saying:

"Conversation number 37."

3. Chunking. I processed the export in chunks rather than sending everything into one enormous context window. The workflow was:

  • 10 conversations per chunk
  • Extract full text
  • Analyze the chunk
  • Propose files
  • Review the proposals
  • Write approved files
  • Commit the result
  • Update resumable status

The final chunk contained the remaining 11 conversations. Chunking helped with:

  • Token control
  • Reviewability
  • Error recovery
  • Git history
  • Clear stopping points
  • Continuing across sessions

It also made the work auditable. Each chunk had a beginning, an end, a set of UUIDs, and a verified result.

4. Canonical extraction. One embarrassing lesson: it is easy to assume the wrong field names. The export used:

uuid
name
chat_messages
created_at
sender
text
content
created_at

Not:

id
messages
role

The fix was to write one canonical helper function that handles message extraction, and to use it everywhere. The function itself was simple. The decision that extraction happens in exactly one place is what eliminated repeated mistakes and made every future chunk reproducible.

def get_message_text(message):
    if isinstance(message.get("text"), str) and message["text"].strip():
        return message["text"]

    content = message.get("content", [])

    if isinstance(content, list):
        texts = []

        for block in content:
            if isinstance(block, dict) and "text" in block:
                texts.append(block["text"])
            elif isinstance(block, str):
                texts.append(block)

        return "\n".join(texts)

    return ""

Mechanical extraction versus judgment

This distinction was one of the most important in the entire process.

Some work is mechanical:

  • Match UUIDs
  • Read timestamps
  • Extract message text
  • Count messages
  • Save intermediate files
  • Confirm that all conversations were found

Other work requires judgment:

  • Is this a durable product decision?
  • Is this just a temporary implementation detail?
  • Does this belong in company/, product/, decisions/, or people/?
  • Is this competitor intelligence or marketing copy?
  • Is this a real customer or fixture data?
  • Has a newer decision superseded an older one?

AI can help with both. But they are not the same task, and treating them the same is how a system silently turns every interesting sentence into company truth. Judgment work should always produce proposals for review before anything gets filed.

The demo-customer problem

The most important correction came from conversations that looked like customer onboarding and customer discovery. The easy mistake would have been to create customer pages.

But Socially does not have customers yet. Those conversations involved fixture organizations and sample event data. So the rule became explicit:

Socially is pre-customer. Fixture organizations never get customer pages.

Those conversations were filed as product and development work, labeled clearly as:

Demo fixture data, not a real customer.

That distinction matters enormously. A knowledge base can accidentally create false traction if it turns:

  • Demo onboarding
  • Internal testing
  • Sample event data
  • Simulated discovery

into "customer evidence."

The vault now states the company's real status plainly: Socially is pre-customer, and current testing is fixture-based. That is less flattering than pretending to have traction. It is also much more useful.

Decisions need sources

A company knowledge base without citations quickly becomes another form of memory loss.

Every durable page includes:

  • Conversation title
  • Date
  • Source UUID
  • The decision or fact extracted from it

For example:

## Sourcing

- Claude history, 2026-07-15
  (Resuming an interrupted conversation,
  UUID: ca5cb77c-ecce-4d74-9256-c21f08a10f8a)

If I disagree with a file later, I can inspect the source. If a decision changes, I can see what changed. If a summary sounds too confident, I can verify whether the original conversation actually supported it.

The citation is not decoration. It is what makes the knowledge base auditable.

Token spend changed how I worked

I spent $80 in a weekend so you don't have to. At first, I thought the main cost would be the model call itself. The larger cost was repeatedly reintroducing context. Then the system spends tokens reconstructing its own memory before it can do useful work.

If every session requires explaining:

  • What Socially is
  • What has already been decided
  • Which files exist
  • Which conversations were processed
  • What the current chunk is
  • What mistakes happened previously

The solution was to create durable context:

  • Status files
  • Manifests
  • Canonical helpers
  • Source citations
  • Git history
  • Structured company pages
  • Chunk-level summaries

Instead of sending the entire history every time, the system could resume from a compact, durable state. I also adjusted my account and tool setup, eventually connecting my ChatGPT Pro account in a way that made the ongoing workflow more economical for me.

The broader lesson here: token management is not about picking a cheaper model. It is about designing the workflow so the model never reprocesses information that has already been organized.

What I would do differently

If I were starting again, I would establish these rules on day one:

  1. Define the schema first. Inspect the export and document the exact fields before writing any extraction code.
  2. Make the manifest the source of truth. Never hand-copy UUIDs from memory.
  3. Separate proposals from writes. Analyze, review, then file.
  4. Classify ambiguous information conservatively. If something might be a customer, do not assume it is.
  5. Preserve rejected and superseded ideas. Old ideas are valuable history even when they are no longer the direction.
  6. Verify every write. A successful command is not proof the correct file exists.
  7. Keep the workflow resumable. Long ingestion should survive interruptions and new sessions.
  8. Treat AI memory as governed infrastructure. Memory needs sources, scope, ownership, review, correction records, and clear rules for what does not belong.

The knowledge base revealed the evolution of Socially

Once the conversations were organized, Socially's history became a coherent story for the first time.

It started as an event-management platform: organizations, events, registrations, tickets, attendees, invitations, branding, communications. Then it expanded into an AI-assisted event platform. Then the focus shifted to a deeper question:

What happened to the relationship after the event?

That led to:

  • CRM integration
  • HubSpot deal-state visibility
  • Attendance verification
  • Smart Invite ranking
  • Event ROI measurement
  • Cross-event pipeline attribution

The positioning evolved from "a platform for managing events" to "an event intelligence platform for companies that use events to advance important relationships," whether those relationships are with prospects, clients, partners, candidates, or communities.

The product's core differentiation became the inside-out approach:

  • Start with first-party event data
  • Connect it to engagement and CRM context
  • Measure impact across the event portfolio
  • Understand which relationships and deals events actually influenced

I would not have been able to describe that evolution as clearly from memory alone. The archive showed me how the idea changed over time.

The deeper lesson

Your AI conversations are not just chats. Over time, they become the undocumented history of how you think.

They contain:

  • The original idea
  • The doubts
  • The rejected approaches
  • The technical tradeoffs
  • The positioning experiments
  • The reasons behind product decisions
  • The moments when the product changed direction

But raw history is not yet useful knowledge. It becomes useful when you add:

  • Structure
  • Source citations
  • Classification
  • Retrieval
  • Human review
  • Durable files
  • A process for correcting mistakes

That is what I built around Socially. Not a transcript archive. But a memory system for the company.

And the most valuable result was not recovering individual messages. It was seeing the product's evolution as one continuous story, and understanding not just what I said, but why I built what I built.

This column first appeared on X on August 16, 2026. Follow Jeremy Vargas on X.

Newsletter

The High Signal

A weekly read on AI, events and go-to-market, from Jeremy Vargas and The Guest List. Free, every week.

Unsubscribe from any issue. Privacy policy.

Free download

The State of Field Marketing 2026

Tell us where to send it. Your download starts right away, and we email you a copy.

We use your details to send you the PDF. Socially, which publishes The Guest List, may also follow up by email about the research and about Socially; you can opt out of that at any time by replying or using the link in any email. You only get The High Signal if you tick the box above. Privacy policy.