Inspiration

We wanted to build a browser that adapts to people instead of forcing everyone into the same default experience. Browsers serve billions of users, but most customization still requires extensions, settings menus, or technical knowledge. At the same time, tools like Claude Code, Cursor, Devin, and other agentic coding systems have shown that software can now be generated from intent.

Conjure started from that idea: what if changing your browser was as simple as asking for what you want? Instead of browsing around limitations, users could describe the experience they need and have Conjure build it directly into their browser.

What it does

Conjure is a self-building browser agent. You ask for a browser feature, and it generates a Chrome MV3 extension mod for that task.

For example, a user can ask Conjure to remove YouTube Shorts, add custom page controls, modify a website UI, or create cross-site workflow helpers. The Chrome extension gathers browser context and gives the user a command interface, while the FastAPI backend routes the request to an agent provider such as Devin, Claude, or Nemotron.

Conjure also keeps memory through Redis, so projects, conversations, rules, sandbox results, and agent job streams persist across sessions. Generated mods can be verified in a sandbox before being applied, and the side panel tracks build progress, sandbox results, screenshots, and active mods.

How we built it

Frontend

  • React + TypeScript: Chrome extension UI, side panel, settings, voice overlay, design/run surfaces.
    • Vite + CRXJS: Builds the MV3 Chrome extension.
    • Chrome Extension APIs: sidePanel, tabs, scripting, userScripts, offscreen, storage.

Backend

  • FastAPI: HTTP + WebSocket backend for chat, voice, mods, and browser-agent tasks.
  • Python async stack: Handles streaming agent events, tool calls, voice requests, and cloud-browser jobs.
  • LangChain: Shared tool-calling loop across Groq, Claude, and Nemotron.

AI / Agent Services

  • Groq: Primary fast LLM provider.
  • Anthropic Claude: Higher-quality fallback/model option.
  • NVIDIA Nemotron / NIM: Alternative hosted or self-hosted model path.
  • Deepgram: Speech-to-text with nova-2, text-to-speech with Aura.
  • Browserbase: Cloud Chrome sessions for browsing, testing, and replay.
  • Stagehand: AI browser automation inside Browserbase.

Data / Observability

  • Redis: Persists conversations, messages, memory rules, job state, sandbox cache.
  • Filesystem: Stores generated browser mods under demo_code//mods.
  • Sentry: Captures backend, extension, sandbox, and generated-mod errors.

Flow

  • Extension gathers browser context and sends chat/voice input to FastAPI.
  • Backend runs the selected LLM agent through LangChain tools.
  • Agent creates or edits browser mods on disk.
  • Extension fetches active mod bundles and injects them via chrome.userScripts.
  • Browserbase/Stagehand verify or browse pages off-device.
  • Redis stores app state; Sentry tracks failures.

Challenges we ran into

  • Difficulty sleeping
  • Wifi issues
  • Working between workshops
  • Ideating alone took us 12 hours

Accomplishments that we're proud of

  • We built what we set out to build and more. This AI agent codes extensions which are loaded directly into the user's browser in real-time. Here are some cool extensions we created (these were all one shotted, taking only one prompt):

1) We added a search functionality to a website that had none. We used Deepgram to speak to our browser directly using natural language. embedthisgif

2) We blocked YouTube Shorts to lock in on the devpost submission embedthisgif

3) Thomas gets a lot of spam emails for things he is not interested in. Being the intelligent young man he is, he uses Conjure to create an email filter that quickly deletes all these spam emails from his inbox. embedthisgif

What we learned

  • Chromium is very difficult to fork :(

What's next for Conjure

Next, we want to move beyond Chrome extension mods into a custom Chromium fork for deeper browser control. That would let Conjure modify more of the browser experience directly instead of being limited to extension APIs.

We also want to improve the Simular/Sai testing loop, expand the mod registry, add richer cross-site workflows, and make Conjure usable by people who have no idea how browser extensions work. The long-term goal is simple: describe the browser you want, and Conjure builds it.

Built With

Share this project:

Updates