Skip to main content

Instagram Archive Viewer

Instagram Archive Viewer is a private-first way to explore an exported Instagram DM archive with a UI that feels closer to the live app than a raw folder of JSON files ever will.

The current project already supports:

  • an Instagram-inspired inbox and chat layout
  • SQLite-backed message loading and search
  • selective export of chosen conversations
  • media browsing, favourites, themes, and perspective switching
  • local profile-picture overrides for missing direct-message avatars

This docs site covers two things at once:

  1. how to use and ship the project as it exists today
  2. how to design the future hosted platform responsibly

The project in one sentence​

You start with an Instagram export, normalize it into a searchable local dataset, and then browse it through a faster, more focused interface.

Current architecture at a glance​

Instagram export
-> inbox folders + messages.json
-> build scripts create inbox_index.json
-> build scripts create archive.sqlite
-> Vite app loads inbox + SQLite
-> user browses, searches, exports, and customizes locally

What the docs are organised around​

Installation​

Use this section when you need to get from a raw Instagram download to a working local app.

Viewer Guide​

Use this section when you want to understand how the inbox, message loading, search, overlays, export, themes, and settings behave.

Deployment​

Use this section when you want to host a static copy yourself, prepare a trimmed export, or plan the future .tar.gz style bundle flow.

Hosted Platform​

Use this section for the product roadmap around archive.aveson.co.uk, account systems, Supabase metadata, encrypted storage links, and privacy boundaries.

Option 1: Fully local​

Best for personal use, privacy, and fast iteration while building the product.

Option 2: Export a smaller hosted copy​

Best when someone only wants a few conversations in a shareable or personal hosted build.

Option 3: Future hosted platform​

Best when you want sign-in, a polished product flow, and a user-owned storage model without storing archive contents on your own infrastructure.

Design principles behind the project​

  • Local first: the archive should work without needing a remote database.
  • Selective export: the user should only ship the conversations they choose.
  • Readable at scale: message search and loading should stay responsive on large archives.
  • Privacy over convenience: the safest design stores less, not more.
  • Host-agnostic data: the app can point at a bundle hosted somewhere else later.

Read this next​