Inspiration
We all know the agony of hitting Ctrl + F, only to hunt endlessly for that one elusive fact buried in a 3,000-word blog post or a megabyte-long transcript. Traditional text search is literal and narrow—if the page doesn’t contain your exact keywords, you’re out of luck. Meanwhile, AI has shown it can understand context, summarize, and fetch live data. Why not marry the two? FindexAI was born from the frustration of manual scrolling and the promise of LLM-powered, multi-agent search right in your browser.
What it does
- Hijacks your browser’s search shortcut (e.g. Ctrl + Shift + F) to open an AI chat sidebar
- Performs semantic search over the current page, live web results, and YouTube transcripts
- Uses FAISS vector retrieval for lightning-fast, memory-based recall of past queries
- Lets you switch or “bring your own” LLM keys (OpenAI, Anthropic, local models) on the fly
- Injects a chat icon into YouTube’s UI, auto-extracts video IDs, and fetches transcripts
- Offers theming (MacOS Classic, Ocean Dark/Light, Windows XP, Neobrutal, etc.)
How we built it
- Backend: FastAPI + LangChain • Agentic orchestration combining ReAct-style reasoning, SearchXNG (live web), YT agent, and HTML-to-Markdown page parser • FAISS vector store for embeddings and similarity search • SQLite (future) for chat history, user configs, and BYOK storage • Model-agnostic plug-in architecture to swap LLM providers
- Frontend: React + WebExtension APIs • Content scripts to inject sidebar and YouTube chat icon • Background script handling message routing between content script and FastAPI • LocalStorage for persisting API keys, model settings, and theme choice • Build pipeline generates Chrome & Firefox manifests via a Bash script
Challenges we ran into
- CORS and messaging hurdles between the extension, background scripts, and the FastAPI server
- Extracting YouTube transcripts reliably across various player states and iframe setups
- Keeping the UI lightweight and responsive while streaming partial LLM responses
- Designing a model-agnostic interface that gracefully handles different API interfaces and rate limits
- Building Chrome vector indices incrementally without blocking live queries
Accomplishments that we’re proud of
- Seamless multi-agent workflow: combine web search, in-page context, and video transcripts in one chat
- Fully modular backend: swap LLMs or extend with new agents (PDF, Slack, custom APIs) without rewriting core logic
- Eye-catching UI injection on any site, plus a consistent sidebar experience across Chrome & Firefox
- Average query turnaround under 1.5 s for cached embeddings + sub-3 s for live web lookups
- A flexible theme engine that lets power users search in classic MacOS, Windows XP, or Neobrutal style
What we learned
- The intricacies of WebExtension APIs—especially content/background script isolation and manifest v3 quirks
- How to balance vector store performance with incremental indexing for large collections
- Designing user flows that account for missing API keys, rate limits, and model errors
- The power of modular architecture: adding a new agent (e.g. HTML parser) took under a day
What’s next for FindexAI
- Chat history persistence with threaded conversations and local encryption
- Full BYOK support with secure key management and per-model config UIs
- Expand agent library: PDF/document agent
- Smarter ReAct chains with tool-use tracking and auto-documentation of agent steps
- Refined UX: customizable keyboard shortcuts, inline annotation on pages, A/B testing of UI flows
- Official Chrome Web Store & Firefox Add-ons reviews, plus a landing page launch to onboard the next wave of users
Built With
- fastapi
- javascript
- langchain
- nextjs
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.