Independent product / Open source

AI Chat Exporter

Keeping the conversation useful after the chat ends.

My role

Creator & maintainer

Period

2026–present

Focus

TypeScript · Plasmo · Browser extensions

I built a browser extension that exports AI conversations into files people can keep, search, share and use in their own knowledge systems.

The work, in brief

An open-source extension with Markdown and PDF export, bulk export workflows and listings for Chrome, Firefox and Edge.

Export structure example01 / .md

Fictional conversation. This is a format example; use the store links to try the full extension.

An expected-value calculation

User

A game has a 40% chance of paying £10 and costs £3 to enter. What is the expected net return?

Assistant

Multiply the probability of winning by the payout, then subtract the entry fee paid every time. The expected net return is £1; this does not guarantee a profit on any single play.

E[X] = 0.4 × 10 − 3 = £1

probability = 0.4
payout = 10
entry_fee = 3
expected_net = probability * payout - entry_fee
print(expected_net)  # 1.0
View Markdown source
# An expected-value calculation

> Fictional conversation for this website demo

## User

A game has a 40% chance of paying £10 and costs £3 to enter. What is the expected net return?

## Assistant

Multiply the probability of winning by the payout, then subtract the entry fee paid every time. The expected net return is £1; this does not guarantee a profit on any single play.

$$E[X] = 0.4 \times 10 - 3 = 1$$

```python
probability = 0.4
payout = 10
entry_fee = 3
expected_net = probability * payout - entry_fee
print(expected_net)  # 1.0
```
On this page+

01

What I built

I developed and maintain the extension, including provider-specific parsers and the workflows that turn conversation data into Markdown or PDF. The project supports ChatGPT, Claude, Gemini, DeepSeek and Grok.

  • Single-conversation and bulk export, using provider APIs where available and a DOM fallback.
  • Filename templates and folder organization to make a collection of exports easier to navigate.
  • Preservation of code blocks, mathematical notation and conversation metadata.
  • Local processing, with no extension account or external export server.

02

The problem

A useful AI conversation often contains more than an answer. It may include working code, mathematical notation, references and the steps that led to a decision. Copying the visible text can lose that structure.

The source is also inconsistent. Each provider represents messages, branches and attachments differently, and the visible page may contain only part of a longer conversation. A reliable export starts with understanding what is actually available.

03

The engineering behind an export

The important boundary is between acquiring a conversation and rendering a file. Parsers first need to preserve who said what, in which order, and on which branch. Formatting then has a consistent input to work with.

This makes completeness a separate question from appearance. A PDF can look clean and still omit a message. My work includes conversation-integrity handling and fixtures for provider-specific edge cases, alongside the visible export experience.

  1. 01Conversation source
  2. 02Parse & preserve structure
  3. 03Markdown / PDF

04

What the project demonstrates

This is an end-to-end product: a practical use case, a browser interface, provider integrations, file generation and ongoing maintenance as upstream services change. The public repository includes source code, usage instructions, privacy information and tests.

It also reflects how I use AI myself. Conversations become more valuable when I can return to them in a durable personal library.

05

Recent work: snapshots and local restoration

The 1.4.0 GitHub release adds manual Gemini page snapshots, pinned previews, isolated conversation archives and a six-language interface. Local restoration is opt-in and disabled by default.

The October 2026 check confirms public version 1.4.1 in the Chrome, Firefox and Edge stores. Use the installation links on this page; store versions are checked independently of GitHub releases.

Version 1.4.0 release

Links & further reading

Have a project, research question or collaboration in mind?

peterhpywk@gmail.com