2026-10-11 16:37 UTC

Apogee releases a local-first, privacy-preserving browser extension for AI summarization running on WebGPU, WebAssembly, Ollama, or llama.cpp — rebuilding Mozilla's discontinued Orbit without cloud dependencies.

state: seedheat: lowuncertainty: mediumconvergesscott: highlocal-ai browser-agent privacy local-inferencedarshi1337

What is this?

Apogee is a browser extension (Firefox and Chrome) for AI summarization that runs entirely locally — no cloud, no API keys, no accounts, no telemetry. It was built by GitHub user darshi1337 as a privacy-preserving rebuild of Mozilla's discontinued Orbit project, which had routed summarization through centralized servers. Apogee supports multiple local inference backends: WebGPU-accelerated llama.cpp in the browser, WebAssembly builds, and connections to local Ollama or llama-server instances on 127.0.0.1. It summarizes web pages, PDFs, YouTube transcripts, and emails. The extension is open source on GitHub.

Why it matters to Scott

Apogee is a shipping browser extension that concretely implements Scott's advocated architecture: local-first inference in the browser (WebGPU/WASM/llama.cpp), multiple sovereign backends (Ollama, llama.cpp), zero cloud dependency, and privacy-preserving design — directly realizing patterns from Runtime Containment, SiloOS, Sovereign Software Assurance, and Hardware-aware local inference. It also serves as a live case study for the Mozilla Orbit discontinuation analysis in Cheap Thinking Makes Strategy Harder and AI-Mediated Disruption: a third party rebuilt the cloud-dependent product locally, proving the local-first alternative is viable now.
ip:concept.runtime-containmentip:framework.siloosip:framework.sovereign-software-assuranceip:framework.agent-addressabilitydev:concept.hardware-aware-local-inferencedev:technology.ollamadev:project.gamepcdev:project.openclawdev:concept.privacy-tokenized-agent-boundarydev:concept.single-tenant-ai-appliancedev:project.mcpdev:concept.agent-operable-website-stackip:framework.cheap-thinking-makes-strategy-harderip:concept.ai-mediated-disruptionip:concept.platform-economicsradar:adaptive-kv-cache-streamingradar:abyss-acp-agent-isolationradar:agent-review-studio-local-evaluationradar:0pirate-ast-anonymizer-mcp-proxyradar:agent-screenshot-data-leaksradar:aegis-inline-ebpf-agent-containment
queries asked of Scott's wikis
  • local inference in browser: WebGPU + WASM + llama.cpp architectures
  • browser extensions as local AI agents: patterns, permissions, distribution
  • model sovereignty and local-first AI: avoiding vendor lock-in (Ollama, llama.cpp formats)
  • privacy-preserving AI tooling: zero-telemetry, no-account, local-only data flows
  • Mozilla Orbit discontinuation: what it signals about cloud AI economics vs local
  • open-weight model distribution for browser runtimes: GGUF, WebGPU ports, tokenizer WASM

Measured heat

now 0 pts/hpeak 6 pts/hcomments 0/hpeers p16momentum: steady2 platformsage 56h
points/hour across evidence · reading as of 2026-10-12 02:59:37.977291+11:00 · deterministic, not a model opinion

How the heat travelled

10-09 10:51 (minted)⭐ origin echo-reconstructedLocal-first browser extension for AI summarization running on WebGPU/WASM/Ollama/llama.cpp, no cloud, no API keys, privacy-focused rebuild o
darshi1337 on github (echo) · attributed from hn.story.50017301 · published time unknown
—
10-09 07:36first on hacker news · published · lag ?Apogee: Mozilla Killed Orbit. I Rebuilt It Locally and Privately
zxdc7896
—
10-09 07:36amplified on hacker news 👑hn.story.50017301
zxdc7896
peak 37 · 1 comments · 100% of case engagement
10-09 09:28our radar first saw it · lag ?discovery anchor: hn.story.50017301—
pace: p64 vs 1204 stories at the 48h mark (now 56h old) — ahead of local-kv-cache-pressure-probe (1.0x), behind anthropic-accenture-embedded-evaluation (1.0x)

Evidence (2) — ⭐ canonical anchor

sourceobjectauthorscorecomments
🟧 hnApogee: Mozilla Killed Orbit. I Rebuilt It Locally and Privately
Retrieved article excerpt

Open article · Retrieved 2026-10-09T09:41:36.859719+00:00

[Apogee Logo](https://github.com/darshi1337/apogee/blob/main/.github/assets/apogee-logo.png)

# Apogee

A private AI summarizer in your browser for articles, videos, PDFs, DOCX files, and pasted text. It runs on WebGPU, WebAssembly, or your own local Ollama or llama.cpp server.

[Available in Chrome Web Store](https://chromewebstore.google.com/detail/apogee/pgemlpomhkdcjjjcpnjlebalnfglomog)   [Get Add-on for Firefox](https://addons.mozilla.org/en-US/firefox/addon/apogeeext/)

[Website](https://darshi1337.github.io/apogee/) | [Architecture](https://github.com/darshi1337/apogee/blob/main/ARCHITECTURE.md) | [Models](https://github.com/darshi1337/apogee/blob/main/MODELS.md) | [Browsers](https://github.com/darshi1337/apogee/blob/main/BROWSERS.md) | [Privacy](https://github.com/darshi1337/apogee/blob/main/PRIVACY.md) | [Roadmap](https://github.com/darshi1337/apogee/blob/main/ROADMAP.md) | [Store listing](https://github.com/darshi1337/apogee/blob/main/STORE-LISTING.md) | [License](https://github.com/darshi1337/apogee/blob/main/LICENSE)

[Release](https://github.com/darshi1337/apogee/releases) [License: MIT](https://github.com/darshi1337/apogee/blob/main/LICENSE) [CI](https://github.com/darshi1337/apogee/actions/workflows/ci.yml) [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/darshi1337/apogee)

[PRs Welcome](https://github.com/darshi1337/apogee/blob/main/CONTRIBUTING.md) [Good first issues](https://github.com/darshi1337/apogee/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) [First-timers-only](https://github.com/darshi1337/apogee/issues?q=is%3Aissue+is%3Aopen+label%3Afirst-timers-only) [Help wanted](https://github.com/darshi1337/apogee/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) [Contributors](https://github.com/darshi1337/apogee/graphs/contributors)

An offline-first browser extension that respects privacy, built with care by [darshi1337](https://github.com/darshi1337) and [contributors](https://github.com/darshi1337/apogee/graphs/contributors)

> **For AI Assistants and LLMs**: Read [llms.txt](https://github.com/darshi1337/apogee/blob/main/llms.txt) for codebase structure, build scripts, test commands, and developer instructions.

Apogee is an AI browser assistant for articles, videos, emails, and more. It runs fully in your browser. It uses your GPU with WebGPU (Chrome, Edge, and other Chromium browsers). It uses your CPU with WebAssembly, which now works everywhere.

WebAssembly is the default on Firefox and an opt-in fallback on Chromium browsers. It helps on machines without WebGPU. No backend, no API keys, no cloud. Install the extension and start.

For power users, Apogee also talks straight to a local Ollama instance over `127.0.0.1`. It also talks to a `llama-server` you run yourself.

> **In short:** Apogee summarizes pages, videos, PDFs, DOCX files, and pasted text locally. It needs no account, API key, backend, or cloud upload.

⭐ If Apogee helps you, [star the repository](https://github.com/darshi1337/apogee). It helps the project reach more contributors.

## Get Started

1. Install Apogee from the [Chrome Web Store](https://chromewebstore.google.com/detail/apogee/pgemlpomhkdcjjjcpnjlebalnfglomog). Or use [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/apogeeext/).
2. Open a page, video, PDF, or DOCX file, or paste text into the Apogee popup.
3. Pick a summary format and select **Summarize**.

The first in-browser run downloads the picked model. Cached models run offline after that. For larger models, set up [Ollama](https://github.com/darshi1337/apogee/blob/main/OLLAMA.md) or [llama.cpp](https://github.com/darshi1337/apogee/blob/main/LLAMACPP.md) in Settings.

## Why Apogee

The discontinued Orbit project from Mozilla inspired Apogee. Orbit tried browser-based page summarization, but it used central API servers and stored summaries on servers.

Apogee fixes the design and privacy problems of Orbit by staying local-first:

- **Local by default**: Tokenization, inference, retrieval, and caching happen on your device.
- **Private by design**: Page content, transcripts, files, and summaries never go to cloud APIs.
- **No account needed**: No subscription, API key, telemetry service, or Apogee backend exists.

## At A Glance

The table below compares Apogee with common cloud-based AI extensions and the discontinued Orbit project from Mozilla.

| Feature or Architecture | Apogee | Cloud AI Extensions | Mozilla Orbit Project |
| --- | --- | --- | --- |
| Local On-Device Inference | Yes (WebGPU, WASM, Ollama, llama.cpp) | No (Needs cloud APIs) | No (Used remote Mistral 7B servers) |
| Zero API Key Requirement | Yes (No keys, subscriptions, or accounts) | No (Needs API keys or paid tiers) | Yes |
| Offline Functionality | Yes (Works offline after initial weight cache) | No (Needs active internet connection) | No (Failed without server connection) |
| Zero Data Transmission | Yes (Stays on your device) | No (Uploads full webpage text) | No (Caches page summaries remotely) |
| Open Source License | Yes (MIT License) | Varies | Yes |
| Local Ollama Integration | Yes (Direct loopback HTTP connection) | Rare | No |
| Local llama.cpp Integration | Yes (Direct loopback HTTP connection to `llama-server`) | Rare | No |
| Grounded Passage Highlighting | Yes (Interactive source sentence scroll) | Rare | No |

## What It Can Do

- **Articles and Web Pages**: Clean text extraction uses Readability and site-specific extractors. They cover Wikipedia, GitHub, Reddit, Hacker News, Bluesky, Mastodon, Lemmy, Discourse, Stack Overflow, Lobsters, and arXiv.
- **Selected Text**: Select at least 20 characters on a supported page. Use **Selection** in the popup or the browser context menu to summarize only that text. Follow-up Ask questions keep the picked text as their source.
- **YouTube and Bilibili Videos**: Interactive timestamped timelines. Click key moments to jump straight to them in the video.
- **Social Threads**: Apogee parses Bluesky, Reddit, Hacker News, Mastodon, Lemmy, Discourse, and other discussion sites into structured Markdown. It keeps author, score, and reply order.
- **Local documents and text**: Pick or drag PDF, DOCX, TXT, Markdown, JSON, or HTML files into the popup, or paste text directly.
- **Ask Q&A with Smart Retrieval**: Apogee matches passages locally. You can ask about long documents without losing context.
- **Grounding and Sentence Highlighting**: Click any summary bullet to scroll the page straight to the source passage on Chromium browsers.
- **Persistent Chrome Side Panel**: Keep the summary or Ask view open next to the page while you browse.
- **Light and dark themes**: Change themes from the home and summary headers.
- **Custom Standing Instructions**: Set your own prompt guidance such as simple explanations or technical summaries.
- **Per-Page Focus Keywords**: Enter an optional topic or keyword (up to 200 characters) in the **Focus on... (optional)** field (located below the response format selector in the home view) before summarizing articles, PDFs, DOCX files, or pasted text to steer emphasis toward specific themes without inventing facts. The input is hidden on video, discussion (Hacker News, Reddit, Stack Overflow), and multi-tab pages.
- **Multi-Language Translation**: Summarize pages into 32 target languages with the default Helsinki-NLP Opus-MT engine or direct LLM translation.

## Screenshots

| Extension Popup | Persistent Side Panel |
| --- | --- |
| [Apogee extension popup home view](https://github.com/darshi1337/apogee/blob/main/.github/assets/popup-light.png) | [Apogee persistent side panel home view](https://github.com/darshi1337/apogee/blob/main/.github/assets/side-panel-light.png) |

## Privacy

- **Zero Data Leaks**: Apogee handles page contents, transcripts, PDFs, and summaries locally. Nothing uploads to cloud APIs.
- **Local Loopback**: Ollama and llama.cpp connections run strictly over local loopback (`http://127.0.0.1`). Apogee refuses any other host.
- **Anonymized SponsorBlock**: YouTube sponsor lookups send only a k-anonymity hash prefix. Turn them off under Settings, then Privacy to stay fully local. Then no lookup request goes out.
- **Sensitive Site Exclusions**: Apogee excludes sensitive sites from disk caching. Covered hosts: Gmail, Outlook, Proton Mail, Yahoo Mail, Google Messages, WhatsApp Web, Telegram Web, Slack, Discord, Microsoft Teams. Custom domain lists join them.

Read the full security model in [Privacy and Security Architecture](https://github.com/darshi1337/apogee/blob/main/PRIVACY.md).

## Documentation Directory

### For Users

- **[Browser Support](https://github.com/darshi1337/apogee/blob/main/BROWSERS.md)**: Browser compatibility table, WebGPU versus WebAssembly execution, and Ollama support.
- **[Model Reference](https://github.com/darshi1337/apogee/blob/main/MODELS.md)**: Full model table, download sizes, context windows, and benchmarks.
- **[Local llama.cpp Guide](https://github.com/darshi1337/apogee/blob/main/LLAMACPP.md)**: Setup steps for linking Apogee to your own `llama-server` instance.
- **[Local Ollama Guide](https://github.com/darshi1337/apogee/blob/main/OLLAMA.md)**: Setup steps for local models on macOS, Windows, and Linux.
- **[Translation Reference](https://github.com/darshi1337/apogee/blob/main/TRANSLATION.md)**: Overview of 29 supported target languages and Opus-MT model tiers.
- **[Privacy Architecture](https://github.com/darshi1337/apogee/blob/main/PRIVACY.md)**: Full details on network limits, storage, and permissions.
- **[Error Messages Guide](https://github.com/darshi1337/apogee/blob/main/ERROR.md)**: Full list of user-facing messages, causes, fixes, and diagnostics.
- **[Troubleshooting](https://github.com/darshi1337/apogee/blob/main/TROUBLESHOOTING.md)**: Fix the common failures by symptom: no WebGPU, stalled model download, Ollama unreachable, slow Firefox, unreadable page.

### For Developers & Contributors

Extractor contributions need no browser, GPU, or model download. The fixture harness runs site extractors against saved HTML in Node.js 22 or newer:

```
cd apogee-extension
npm install
npm test
```

See the [extractor test harness and worked examples](https://github.com/darshi1337/apogee/blob/main/apogee-extension/tests/extractors/README.md) to add a fixture. It shows how to test a site-specific extractor. The [contributing guide](https://github.com/darshi1337/apogee/blob/main/CONTRIBUTING.md) lists available issues and the checks to run before a PR.

- **[Architecture Reference](https://github.com/darshi1337/apogee/blob/main/ARCHITECTURE.md)**: Details on the 4 contexts, how it works, execution flows, and trust limits.
- **[Developer Setup](https://github.com/darshi1337/apogee/blob/main/DEVELOPMENT.md)**: Steps to build, run watch mode, run test suites, and format code.
- **[Contributing Guide](https://github.com/darshi1337/apogee/blob/main/CONTRIBUTING.md)**: Rules for opening pull requests, sending code changes, and claiming issues.
- **[Project Roadmap](https://github.com/darshi1337/apogee/blob/main/ROADMAP.md)**: Feature roadmap, planned milestones, and completed releases.
- **[Changelog](https://github.com/darshi1337/apogee/blob/main/CHANGELOG.md)**: Full release history and version changes.
- **[Security Policy](https://github.com/darshi1337/apogee/blob/main/SECURITY.md)**: Security policy, how to disclose flaws, and reporting steps.
- **[Code of Conduct](https://github.com/darshi1337/apogee/blob/main/CODE_OF_CONDUCT.md)**: Community standards and guidelines.

## Contributors

Thanks to all contributors:

[darshi1337](https://github.com/darshi1337) [prashantpiyush1111](https://github.com/prashantpiyush1111) [mohdUwaish59](https://github.com/mohdUwaish59) [vaishaldsouza](https://github.com/vaishaldsouza) [chenzeyan54-commits](https://github.com/chenzeyan54-commits) [Daniele-Cangi](https://github.com/Daniele-Cangi) [naba-runn](https://github.com/naba-runn) [rodriveiga01](https://github.com/rodriveiga01) [bcu
zxdc7896371
🟧 echo.github ⭐Local-first browser extension for AI summarization running on WebGPU/WASM/Ollama/llama.cpp, no cloud, no API keys, privacy-focused rebuild odarshi1337——

Interpretation history

Decision trace