Dev Chiniwala.
Selected workPagePilot
Engineering case studyAI browser workspace

PagePilot.

A conversation with the page you’re on.

A Chrome extension for webpage summarization and grounded conversation, backed by a RAG service.

Engineering in brief

Constraint
Questions need to stay connected to the webpage being read.
Decision
Keep retrieval and model credentials in the FastAPI backend, behind the browser extension.
Boundary
Page extraction, dynamic content, and backend availability affect the result.
Role & ownership

Creator · Browser extension and retrieval backend

Project status

Public project

Technology
  • React
  • TypeScript
  • FastAPI
  • Gemini
  • ChromaDB

/ overview

Bring retrieval into the browsing workflow.

PagePilot connects the current webpage to an AI workspace inside a Chrome extension. It supports summarization and questions about page content through a backend retrieval pipeline.

The repository includes the React extension, a FastAPI backend, database configuration, and a Docker Compose setup.

PagePilot extension demo with a sample RAG article, page summary, key takeaways, and extracted sections. Illustrative mock data.
Public project Illustrative demo data · Edited interface preview
Inspect the interface preview

PagePilot · Illustrative demo data · Edited interface preview

Open image in a new tab

/ problem

The webpage should stay in context.

Copying content into a separate chat loses the relationship between a question and the page it came from. Long pages also need selection and retrieval rather than being inserted into every prompt in full.

/ architecture

A browser surface and a retrieval service.

Architecture overview

A PAGE-AWARE RETRIEVAL WORKFLOW

Chrome extensionpage context + question
01
FastAPIbackend integration boundary
02
LangChain + ChromaDBretrieve relevant page context
03
Geminicontext-grounded generation
04
Condensed from documented components

The extension captures webpage context and calls FastAPI. LangChain coordinates the retrieval and Gemini generation path, with ChromaDB for vector retrieval and PostgreSQL for application persistence.

  • Keep the extension UI separate from model credentials.
  • Retrieve relevant page content before generating an answer.
  • Use the backend as the integration boundary for storage and AI services.

/ Engineering decisions

Give each layer one clear responsibility.

The extension owns the user’s browsing workflow. The backend owns model integration and retrieval. Separating those concerns keeps provider credentials out of extension bundles and allows the retrieval path to change independently.

A retrieved passage provides grounding context; it does not by itself guarantee an answer is correct.

/ challenges

Webpages are inconsistent inputs.

Page extraction, changing DOM structure, content size, and backend availability all affect the experience. A useful browser workspace must keep those limits visible rather than hiding them behind an apparently fluent answer.

/ results

An end-to-end browser AI project.

The public repository includes the extension, retrieval backend, database configuration, and local setup instructions. Together they connect page context to a conversational interface inside the browser.

/ learnings

Context belongs in the product interaction.

The useful engineering connection is between page context, retrieval, and a compact browser interface. Future evaluation can measure whether responses remain grounded across long, dynamic, and poorly structured pages.

Source record

Sources & technical context

Architecture summaries are based on the linked documentation and source. Current implementation details and limits live in the repository.

Continue exploring

ControlSurface.

Make agent failures useful.