Works inside ChatGPT Web

Capture what matters. Keep the source.

Annota layers capture into the AI conversation you already work in — keeping the parts that matter together with the message they came from.

Your conversation1/5

Start where the thinking already happens

Annota is not another place to work. It lives inside ChatGPT Web — the conversation, the history and the composer are exactly where you left them.

Highlight2/5

Keep the exact passage that matters

Mark the sentence that actually answered the question. It stays attached to the message it came from, so it can still tell you why later.

Bookmark3/5

Some answers matter whole

When the value is the entire exchange rather than one line, keep the message itself instead of a fragment of it.

Note and tag4/5

Say why you kept it

Add the reasoning that will not be obvious in four months, and file it where you will actually look for it.

Kept with its source5/5

The familiar interface is now your workspace

Everything you kept stays tied to the message it came from, and your saved work becomes a place you can search. Same ChatGPT — more of it survives.

ChatGPT 4oAnnota active

Today at 5:15 PM

why was this customer charged twice?

Bookmark the whole message
  1. Stage 1 of 5: Your conversationStart where the thinking already happens. Annota is not another place to work. It lives inside ChatGPT Web — the conversation, the history and the composer are exactly where you left them. (showing now)
  2. Stage 2 of 5: HighlightKeep the exact passage that matters. Mark the sentence that actually answered the question. It stays attached to the message it came from, so it can still tell you why later.
  3. Stage 3 of 5: BookmarkSome answers matter whole. When the value is the entire exchange rather than one line, keep the message itself instead of a fragment of it.
  4. Stage 4 of 5: Note and tagSay why you kept it. Add the reasoning that will not be obvious in four months, and file it where you will actually look for it.
  5. Stage 5 of 5: Kept with its sourceThe familiar interface is now your workspace. Everything you kept stays tied to the message it came from, and your saved work becomes a place you can search. Same ChatGPT — more of it survives.

A working demonstration — scroll to watch Annota arrive, then try it yourself. Conversation content is illustrative, not real user data.

Everything you keep lands here

The highlight, note, bookmark or tag you just made becomes a record in your Knowledge Hub — grouped into books, and searchable over your own preserved work by text, notes, tags, type, source and date. No embedding model deciding what you meant, and no claim to index conversations you never kept.

Knowledge books

  • Private

    Product research

    Insights, notes and highlights from discovery conversations.

    128highlights46notes13tasks5tags
  • Shared

    Payments

    Reasoning behind billing decisions, kept with its source.

    34highlights4notes56tasks5tags
  • Private

    Backend

    Architecture answers worth returning to months later.

    12highlights45notes40tasks7tags
6 itemsSorted by most recent
  • Idempotency key from the provider's event ID

    Store it behind a unique constraint before you do any work, so a concurrent retry fails at the database instead of racing your application logic.

    PaymentsDuplicate charge investigationpaymentsidempotency

    Exact12 Apr
  • Why we rejected queue-level dedupe

    A dedupe window narrows the race rather than closing it. Worth restating in the retro — this was the whole argument.

    PaymentsDuplicate charge investigationdecisionpayments

    Exact12 Apr
  • بارگذاری وابستگی سنگین با next/dynamic

    اگر یک وابستگی سنگین فقط در سمت کلاینت لازم است، آن را با next/dynamic و گزینه‌ی ssr: false بارگذاری کنید.

    Frontendبهینه‌سازی زمان بیلدbuildperformance

    Exact8 Apr
  • Add the constraint migration before the March release

    Blocking. The application-level guard is not sufficient on its own.

    PaymentsDuplicate charge investigationmigration

    Approximate2 Apr
  • Rate-limit backoff comparison

    The exchange comparing exponential, decorrelated jitter, and token bucket under burst load.

    PlatformRetry strategy reviewreliability

    Approximate27 Mar
  • Client's stated constraint on data residency

    They cannot accept processing outside the EU, which rules out the managed option we costed first.

    ConsultingVendor shortlistclientconstraints

    Degraded19 Mar

A working demonstration over illustrative saved items. Type in the field — the filtering is real.

The answer was useful.
Four months later it is message 247.

AI conversations are excellent while they are happening and weak as durable records. The explanation, the caveat, the reasoning behind a decision — all of it is still in there, somewhere, in a thread you no longer remember opening.

Copying it out solves nothing: a fragment separated from the exchange that produced it stops being able to answer why.

  • 01I know we discussed this somewhere.
  • 02Which conversation was that?
  • 03What was the question that produced this answer?
  • 04I copied this text, but where did it come from?
Duplicate charge investigation312 messages
The passage you needed1 of 312

Four intentions, not four colours of the same thing

What you meant when you kept something changes what it should become later. Annota keeps the difference instead of flattening it into one generic saved object.

A passage worth preserving, kept as it was written.

HighlightANN·2026·0412
Derive the idempotency key from the provider's event ID, never from your own request. Store it behind a unique constraint before you do any work, so a concurrent retry fails at the database instead of racing your application logic.
Kept as
Verbatim passage
Tags
payments · idempotency
Source
Payments · Duplicate charge investigation · m247
Exact

Whichever you choose, the source relationship is the part that does not change.

It will tell you when it cannot take you all the way back

Conversations change. Messages move, threads get long, and some are deleted outright. Most tools quietly land you somewhere near enough and let you assume it was exact.

Annota states which of three things actually happened. A link that has decayed says so, in the record, permanently.

ANN·2026·0412Not checked
Derive the idempotency key from the provider's event ID, never from your own request. Store it behind a unique constraint before you do any work, so a concurrent retry fails at the database instead of racing your application logic.

Source conversation

Choose a scenario, or press the button, to see what Annota reports.

Illustrative demonstration. Source recovery in the extension depends on what ChatGPT still exposes at the time you return.

Persian, English and code in one paragraph, without corruption

Mixed-direction work is not a localisation setting bolted on at the end. It has to hold through the whole path — live conversation, capture, saved record, retrieval, return to source, and export.

Turn the handling off and watch a real browser mangle the same paragraph. That is the default behaviour every tool inherits unless it does this work deliberately.

  • Automatic detection, with a manual override per message.
  • Code, URLs and identifiers stay left-to-right inside a right-to-left paragraph.
  • Direction is stored with the saved record, not re-guessed on the way out.
  • Markdown export carries the same direction the conversation had.
بهینه‌سازی زمان بیلدANN·2026·0388

چطور می‌توانم در Next.js زمان ساخت را کاهش دهم؟

ابتدا بررسی کنید کدام ماژول‌ها در هر بیلد دوباره کامپایل می‌شوند. با اجرای next build --debug می‌توانید ببینید کدام مسیرها بیشترین زمان را می‌گیرند.

اگر یک وابستگی سنگین فقط در سمت کلاینت لازم است، آن را با next/dynamic و گزینه‌ی ssr: false بارگذاری کنید.

Markdown exportExact

اگر یک وابستگی سنگین فقط در سمت کلاینت لازم است، آن را با next/dynamic و گزینه‌ی ssr: false بارگذاری کنید.

— source: بهینه‌سازی زمان بیلد

— ref: ANN·2026·0388  dir: rtl  lang: fa

And the hours in between

Everything below makes a long day inside ChatGPT less irritating. None of it is why Annota exists, and none of it is hard for anyone else to copy. It is here because you would notice its absence, not because it is the argument.

  • Typography and density

    Font, spacing, content width and contrast, adjusted for hours of reading rather than a screenshot.

  • Direction handling

    Automatic RTL and LTR, per-message override, and code that stays left-to-right inside a right-to-left message.

  • Response-ready awareness

    Know which of your open tabs is idle, generating, or waiting for you, without checking each one.

  • Conversation organisation

    Nested folders and pinning over your existing ChatGPT history, with unassigned conversations still visible.

  • Reusable prompts

    Templates with variables for the workflows you rebuild by hand every week. Yours, not a marketplace.

  • Code presentation

    Line numbers, clearer highlighting, and formatting that survives being captured and exported.

  • Markdown export and backup

    Structured export and restore, with source metadata carried through. Your work leaves whenever you want it to.

  • Multi-tab awareness

    A view of every active ChatGPT tab, and a way back to the one that needs you.

Mechanisms you can reason about

Security you cannot explain to yourself is not security you can rely on. So this is the whole model, in plain terms, including the part we are not claiming yet.

  • Local-first

    Annota does as much as it reasonably can on your machine. Reading, searching and filtering your saved work do not require a round trip to anyone.

  • Client-side encryption

    Anything destined for sync is encrypted on your device before it leaves. Your Google account establishes who you are; it is not your encryption key, and decrypting locally never waits on a server.

  • Sync is off until you turn it on

    Cloud sync and backup are optional and start disabled. Export your work as Markdown or a structured backup at any time, and keep the file.

Not claimed yet

There is a stronger architectural claim products in this category like to make about encrypted storage. It is the direction we are building toward, and we are not going to print it on a marketing page before an independent security review says we have earned it.

When it is verified, this section will say so and name who verified it.

Pay once for the tool. Subscribe only for the servers.

Charging monthly for software that runs locally is a business model, not a cost. The subscription exists only where there is recurring infrastructure behind it.

Free

Entry
Price not announced

Enough to find out whether keeping your AI work with its source changes how you work.

  • Source-linked capture
  • Highlights, bookmarks, notes and tasks
  • Local search and filtering
  • Markdown export

Professional

One-time
Price not announced

Buy it once for the durable, local, everyday product. No recurring charge for something that runs on your own machine.

  • Everything in Free
  • Full Knowledge Hub and organisation
  • Prompt templates and variables
  • Structured backup and restore

Sync

Subscription
Price not announced

Only for what genuinely costs money every month: encrypted sync and cloud backup across your devices.

  • Everything in Professional
  • Client-side encrypted device sync
  • Encrypted cloud backup
  • Restore to a new machine

Plan structure is committed. Final numbers are still being decided and will appear here rather than being estimated in advance.

Annota is not

  • a ChatGPT replacement
  • a generic web highlighter
  • a second notes app
  • a prompt marketplace
  • an AI fact checker
  • a way to recover conversations you never kept

Source-linked means the conversation it came from, not that the answer is true. Annota preserves provenance. Judging the content is still your job.

Stop losing the reasoning.

Keep the paragraph that will matter in four months, and keep the exchange that produced it.

Add to Chrome

The Chrome Web Store listing is not published yet.