Sift
Less tab switching. More clarity.
A browser extension and research workspace that turns saved webpages into structured comparisons, with evidence behind each extracted field.
The problem
Research often ends up scattered across tabs. Comparing apartments, jobs, products, or courses means repeatedly finding the same facts, with little record of where each value came from. Sift brings those options into one customizable comparison while keeping the source attached.
A deliberate capture workflow
A Manifest V3 Chrome side panel captures one page when the user explicitly asks. It collects cleaned text, structured data, tables, metadata, and the canonical URL. The workspace tracks extraction progress while the user continues browsing.
Evidence before confidence
Explicit structured facts are extracted deterministically before Gemini fills remaining fields. Runtime schemas validate the resulting types, and non-null extracted values require supporting evidence. Missing information remains unknown. Manual corrections survive re-extraction, and new fields can be populated from stored snapshots.
From extension to database
Shared TypeScript contracts connect the web app, extension, and backend. Supabase provides authentication, PostgreSQL, private storage, and authenticated Edge Functions. Owner-scoped access, quota reservations, duplicate detection, and atomic extraction commits address the work beyond the interface.
Testing and current scope
The repository includes unit, contract, backend, database, and Playwright coverage. The public demo uses fictional data, works without an account, and makes no AI calls. Authenticated capture and extraction are separate from this demo. Broader live extraction benchmarks and acceptance checks are documented as remaining work.